mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 02:12:45 +00:00 
			
		
		
		
	 acbdb95b0a
			
		
	
	
		acbdb95b0a
		
	
	
	
	
		
			
			This patch adds TreeWalker (created via Document.createTreeWalker()) which allows you to traverse a filtered view of the DOM in all directions.
		
			
				
	
	
		
			182 lines
		
	
	
	
		
			6.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			182 lines
		
	
	
	
		
			6.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #import <CSS/StyleSheetList.idl>
 | |
| #import <DOM/Comment.idl>
 | |
| #import <DOM/DOMImplementation.idl>
 | |
| #import <DOM/DocumentFragment.idl>
 | |
| #import <DOM/DocumentType.idl>
 | |
| #import <DOM/Element.idl>
 | |
| #import <DOM/Event.idl>
 | |
| #import <DOM/HTMLCollection.idl>
 | |
| #import <DOM/Node.idl>
 | |
| #import <DOM/NodeFilter.idl>
 | |
| #import <DOM/NodeIterator.idl>
 | |
| #import <DOM/NodeList.idl>
 | |
| #import <DOM/Range.idl>
 | |
| #import <DOM/Text.idl>
 | |
| #import <DOM/TreeWalker.idl>
 | |
| #import <HTML/HTMLElement.idl>
 | |
| #import <HTML/HTMLHeadElement.idl>
 | |
| #import <HTML/HTMLScriptElement.idl>
 | |
| 
 | |
| interface Document : Node {
 | |
| 
 | |
|     constructor();
 | |
| 
 | |
|     boolean hasFocus();
 | |
| 
 | |
|     // FIXME: These attributes currently don't do anything.
 | |
|     [PutForwards=href, LegacyUnforgeable] readonly attribute Location? location;
 | |
| 
 | |
|     readonly attribute DOMImplementation implementation;
 | |
| 
 | |
|     readonly attribute DOMString characterSet;
 | |
|     readonly attribute DOMString charset;
 | |
|     readonly attribute DOMString inputEncoding;
 | |
|     readonly attribute DOMString contentType;
 | |
| 
 | |
|     readonly attribute Window? defaultView;
 | |
| 
 | |
|     [CEReactions] Document open(optional DOMString unused1, optional DOMString unused2);
 | |
|     // FIXME: implement ExceptionOr<HTML::Window> Document::open(...)
 | |
|     // WindowProxy? open(USVString url, DOMString name, DOMString features);
 | |
|     [CEReactions] undefined close();
 | |
|     [CEReactions] undefined write(DOMString... text);
 | |
|     [CEReactions] undefined writeln(DOMString... text);
 | |
| 
 | |
|     attribute DOMString cookie;
 | |
| 
 | |
|     readonly attribute USVString referrer;
 | |
| 
 | |
|     readonly attribute Element? activeElement;
 | |
| 
 | |
|     Element? getElementById(DOMString id);
 | |
|     HTMLCollection getElementsByName(DOMString name);
 | |
|     HTMLCollection getElementsByTagName(DOMString tagName);
 | |
|     HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName);
 | |
|     HTMLCollection getElementsByClassName(DOMString className);
 | |
| 
 | |
|     readonly attribute HTMLCollection applets;
 | |
|     readonly attribute HTMLCollection anchors;
 | |
|     readonly attribute HTMLCollection images;
 | |
|     readonly attribute HTMLCollection embeds;
 | |
|     readonly attribute HTMLCollection plugins;
 | |
|     readonly attribute HTMLCollection links;
 | |
|     readonly attribute HTMLCollection forms;
 | |
|     readonly attribute HTMLCollection scripts;
 | |
| 
 | |
|     Element createElement(DOMString tagName);
 | |
|     Element createElementNS(DOMString? namespace, DOMString qualifiedName);
 | |
|     DocumentFragment createDocumentFragment();
 | |
|     Text createTextNode(DOMString data);
 | |
|     Comment createComment(DOMString data);
 | |
|     Range createRange();
 | |
|     Event createEvent(DOMString interface);
 | |
| 
 | |
|     [CEReactions, NewObject] Node importNode(Node node, optional boolean deep = false);
 | |
|     [CEReactions, ImplementedAs=adopt_node_binding] Node adoptNode(Node node);
 | |
| 
 | |
|     [ImplementedAs=style_sheets_for_bindings] readonly attribute StyleSheetList styleSheets;
 | |
| 
 | |
|     readonly attribute DOMString compatMode;
 | |
|     readonly attribute DocumentType? doctype;
 | |
| 
 | |
|     readonly attribute Element? documentElement;
 | |
|     attribute HTMLElement? body;
 | |
|     readonly attribute HTMLHeadElement? head;
 | |
|     readonly attribute HTMLScriptElement? currentScript;
 | |
| 
 | |
|     readonly attribute DOMString readyState;
 | |
| 
 | |
|     attribute DOMString title;
 | |
| 
 | |
|     // FIXME: These should all come from a ParentNode mixin
 | |
|     readonly attribute Element? firstElementChild;
 | |
|     readonly attribute Element? lastElementChild;
 | |
|     readonly attribute unsigned long childElementCount;
 | |
| 
 | |
|     [CEReactions, Unscopable] undefined prepend((Node or DOMString)... nodes);
 | |
|     [CEReactions, Unscopable] undefined append((Node or DOMString)... nodes);
 | |
|     [CEReactions, Unscopable] undefined replaceChildren((Node or DOMString)... nodes);
 | |
| 
 | |
|     Element? querySelector(DOMString selectors);
 | |
|     [NewObject] NodeList querySelectorAll(DOMString selectors);
 | |
| 
 | |
|     [SameObject] readonly attribute HTMLCollection children;
 | |
| 
 | |
|     // FIXME: These should all come from a GlobalEventHandlers mixin
 | |
|     attribute EventHandler onabort;
 | |
|     attribute EventHandler onauxclick;
 | |
|     attribute EventHandler onblur;
 | |
|     attribute EventHandler oncancel;
 | |
|     attribute EventHandler oncanplay;
 | |
|     attribute EventHandler oncanplaythrough;
 | |
|     attribute EventHandler onchange;
 | |
|     attribute EventHandler onclick;
 | |
|     attribute EventHandler onclose;
 | |
|     attribute EventHandler oncontextmenu;
 | |
|     attribute EventHandler oncuechange;
 | |
|     attribute EventHandler ondblclick;
 | |
|     attribute EventHandler ondrag;
 | |
|     attribute EventHandler ondragend;
 | |
|     attribute EventHandler ondragenter;
 | |
|     attribute EventHandler ondragleave;
 | |
|     attribute EventHandler ondragover;
 | |
|     attribute EventHandler ondragstart;
 | |
|     attribute EventHandler ondrop;
 | |
|     attribute EventHandler ondurationchange;
 | |
|     attribute EventHandler onemptied;
 | |
|     attribute EventHandler onended;
 | |
| 
 | |
|     // FIXME: Should be an OnErrorEventHandler
 | |
|     attribute EventHandler onerror;
 | |
| 
 | |
|     attribute EventHandler onfocus;
 | |
|     attribute EventHandler onformdata;
 | |
|     attribute EventHandler oninput;
 | |
|     attribute EventHandler oninvalid;
 | |
|     attribute EventHandler onkeydown;
 | |
|     attribute EventHandler onkeypress;
 | |
|     attribute EventHandler onkeyup;
 | |
|     attribute EventHandler onload;
 | |
|     attribute EventHandler onloadeddata;
 | |
|     attribute EventHandler onloadedmetadata;
 | |
|     attribute EventHandler onloadstart;
 | |
|     attribute EventHandler onmousedown;
 | |
|     [LegacyLenientThis] attribute EventHandler onmouseenter;
 | |
|     [LegacyLenientThis] attribute EventHandler onmouseleave;
 | |
|     attribute EventHandler onmousemove;
 | |
|     attribute EventHandler onmouseout;
 | |
|     attribute EventHandler onmouseover;
 | |
|     attribute EventHandler onmouseup;
 | |
|     attribute EventHandler onpause;
 | |
|     attribute EventHandler onplay;
 | |
|     attribute EventHandler onplaying;
 | |
|     attribute EventHandler onprogress;
 | |
|     attribute EventHandler onratechange;
 | |
|     attribute EventHandler onreset;
 | |
|     attribute EventHandler onresize;
 | |
|     attribute EventHandler onscroll;
 | |
|     attribute EventHandler onsecuritypolicyviolation;
 | |
|     attribute EventHandler onseeked;
 | |
|     attribute EventHandler onseeking;
 | |
|     attribute EventHandler onselect;
 | |
|     attribute EventHandler onslotchange;
 | |
|     attribute EventHandler onstalled;
 | |
|     attribute EventHandler onsubmit;
 | |
|     attribute EventHandler onsuspend;
 | |
|     attribute EventHandler ontimeupdate;
 | |
|     attribute EventHandler ontoggle;
 | |
|     attribute EventHandler onvolumechange;
 | |
|     attribute EventHandler onwaiting;
 | |
|     attribute EventHandler onwebkitanimationend;
 | |
|     attribute EventHandler onwebkitanimationiteration;
 | |
|     attribute EventHandler onwebkitanimationstart;
 | |
|     attribute EventHandler onwebkittransitionend;
 | |
|     attribute EventHandler onwheel;
 | |
| 
 | |
|     readonly boolean hidden;
 | |
|     readonly DOMString visibilityState;
 | |
| 
 | |
|     [NewObject] NodeIterator createNodeIterator(Node root, optional unsigned long whatToShow = 0xFFFFFFFF, optional NodeFilter? filter = null);
 | |
|     [NewObject] TreeWalker createTreeWalker(Node root, optional unsigned long whatToShow = 0xFFFFFFFF, optional NodeFilter? filter = null);
 | |
| 
 | |
| };
 |