Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(399)

Unified Diff: Source/core/dom/Element.idl

Issue 970553002: Rearrange the Element interface to match the many specs (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: tweak Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/dom/Element.idl
diff --git a/Source/core/dom/Element.idl b/Source/core/dom/Element.idl
index ff86d7a9db02970d8798b3985ffff79b08899827..e92e09e7d7445e54fa295d2d4628febbad6cff53 100644
--- a/Source/core/dom/Element.idl
+++ b/Source/core/dom/Element.idl
@@ -18,108 +18,109 @@
* Boston, MA 02110-1301, USA.
*/
+// https://dom.spec.whatwg.org/#interface-element
+
[
TypeChecking=Unrestricted,
] interface Element : Node {
-
- // DOM Level 1 Core
-
+ readonly attribute DOMString? namespaceURI;
+ readonly attribute DOMString? prefix;
+ readonly attribute DOMString? localName;
readonly attribute DOMString? tagName;
- DOMString? getAttribute(DOMString name);
- [RaisesException, CustomElementCallbacks] void setAttribute(DOMString name, DOMString value);
- [CustomElementCallbacks] void removeAttribute(DOMString name);
- [MeasureAs=ElementGetAttributeNode] Attr getAttributeNode(DOMString name);
- [RaisesException, CustomElementCallbacks, MeasureAs=ElementSetAttributeNode] Attr setAttributeNode(Attr newAttr);
- [RaisesException, CustomElementCallbacks, MeasureAs=ElementRemoveAttributeNode] Attr removeAttributeNode(Attr oldAttr);
- HTMLCollection getElementsByTagName(DOMString name);
+ [Reflect, ExposeJSAccessors] attribute DOMString id;
+ [Reflect=class] attribute DOMString className;
+ [PerWorldBindings] readonly attribute DOMTokenList classList;
- [PerWorldBindings, ImplementedAs=attributesForBindings] readonly attribute NamedNodeMap attributes;
[MeasureAs=HasAttributes] boolean hasAttributes();
-
- // DOM Level 2 Core
-
+ [PerWorldBindings, ImplementedAs=attributesForBindings] readonly attribute NamedNodeMap attributes;
+ DOMString? getAttribute(DOMString name);
DOMString? getAttributeNS(DOMString? namespaceURI, DOMString localName);
+ [RaisesException, CustomElementCallbacks] void setAttribute(DOMString name, DOMString value);
[RaisesException, CustomElementCallbacks] void setAttributeNS(DOMString? namespaceURI, DOMString qualifiedName, DOMString value);
+ [CustomElementCallbacks] void removeAttribute(DOMString name);
[CustomElementCallbacks] void removeAttributeNS(DOMString? namespaceURI, DOMString localName);
- HTMLCollection getElementsByTagNameNS(DOMString? namespaceURI, DOMString localName);
- [MeasureAs=ElementGetAttributeNodeNS] Attr getAttributeNodeNS(DOMString? namespaceURI, DOMString localName);
- [RaisesException, CustomElementCallbacks, MeasureAs=ElementSetAttributeNodeNS] Attr setAttributeNodeNS(Attr newAttr);
boolean hasAttribute(DOMString name);
boolean hasAttributeNS(DOMString? namespaceURI, DOMString localName);
- [PerWorldBindings] readonly attribute CSSStyleDeclaration style;
-
- // DOM4
- [Reflect, ExposeJSAccessors] attribute DOMString id;
- readonly attribute DOMString? namespaceURI;
- readonly attribute DOMString? prefix;
- readonly attribute DOMString? localName;
+ [MeasureAs=ElementGetAttributeNode] Attr getAttributeNode(DOMString name);
+ [MeasureAs=ElementGetAttributeNodeNS] Attr getAttributeNodeNS(DOMString? namespaceURI, DOMString localName);
+ [RaisesException, CustomElementCallbacks, MeasureAs=ElementSetAttributeNode] Attr setAttributeNode(Attr newAttr);
+ [RaisesException, CustomElementCallbacks, MeasureAs=ElementSetAttributeNodeNS] Attr setAttributeNodeNS(Attr newAttr);
+ [RaisesException, CustomElementCallbacks, MeasureAs=ElementRemoveAttributeNode] Attr removeAttributeNode(Attr oldAttr);
- [RaisesException] boolean matches(DOMString selectors);
[RaisesException] Element closest(DOMString selectors);
+ [RaisesException] boolean matches(DOMString selectors);
- // Common extensions
+ HTMLCollection getElementsByTagName(DOMString name);
+ HTMLCollection getElementsByTagNameNS(DOMString? namespaceURI, DOMString localName);
+ HTMLCollection getElementsByClassName(DOMString classNames);
- readonly attribute long offsetLeft;
- readonly attribute long offsetTop;
- readonly attribute long offsetWidth;
- readonly attribute long offsetHeight;
- [ImplementedAs=offsetParentForBindings, PerWorldBindings] readonly attribute Element offsetParent;
- readonly attribute long clientLeft;
- readonly attribute long clientTop;
- readonly attribute long clientWidth;
- readonly attribute long clientHeight;
+ // DOM Parsing and Serialization
+ // https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html#extensions-to-the-element-interface
+ [TreatNullAs=NullString, CustomElementCallbacks, RaisesException=Setter, ExposeJSAccessors] attribute DOMString innerHTML;
+ [TreatNullAs=NullString, CustomElementCallbacks, RaisesException=Setter] attribute DOMString outerHTML;
+ [CustomElementCallbacks, RaisesException, MeasureAs=InsertAdjacentHTML] void insertAdjacentHTML(DOMString where, DOMString html);
- attribute unrestricted double scrollLeft;
- attribute unrestricted double scrollTop;
- readonly attribute long scrollWidth;
- readonly attribute long scrollHeight;
+ // Shadow DOM
+ // http://w3c.github.io/webcomponents/spec/shadow/#extensions-to-element-interface
+ [RaisesException, MeasureAs=ElementCreateShadowRoot] ShadowRoot createShadowRoot();
+ NodeList getDestinationInsertionPoints();
+ [PerWorldBindings] readonly attribute ShadowRoot shadowRoot;
- [RuntimeEnabled=CSSOMSmoothScroll, ImplementedAs=scrollTo] void scroll(unrestricted double x, unrestricted double y);
+ // Pointer Lock
+ // https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html#extensions-to-the-element-interface
+ [MeasureAs=ElementRequestPointerLock] void requestPointerLock();
+
+ // CSSOM View Module
+ // http://dev.w3.org/csswg/cssom-view/#extension-to-the-element-interface
+ ClientRectList getClientRects();
+ ClientRect getBoundingClientRect();
+ void scrollIntoView(optional boolean alignWithTop);
[RuntimeEnabled=CSSOMSmoothScroll, ImplementedAs=scrollTo] void scroll(optional ScrollToOptions scrollToOptions);
- [RuntimeEnabled=CSSOMSmoothScroll] void scrollTo(unrestricted double x, unrestricted double y);
+ [RuntimeEnabled=CSSOMSmoothScroll, ImplementedAs=scrollTo] void scroll(unrestricted double x, unrestricted double y);
[RuntimeEnabled=CSSOMSmoothScroll] void scrollTo(optional ScrollToOptions scrollToOptions);
- [RuntimeEnabled=CSSOMSmoothScroll] void scrollBy(unrestricted double x, unrestricted double y);
+ [RuntimeEnabled=CSSOMSmoothScroll] void scrollTo(unrestricted double x, unrestricted double y);
[RuntimeEnabled=CSSOMSmoothScroll] void scrollBy(optional ScrollToOptions scrollToOptions);
+ [RuntimeEnabled=CSSOMSmoothScroll] void scrollBy(unrestricted double x, unrestricted double y);
+ attribute unrestricted double scrollTop;
+ attribute unrestricted double scrollLeft;
+ readonly attribute long scrollWidth;
+ readonly attribute long scrollHeight;
+ readonly attribute long clientTop;
+ readonly attribute long clientLeft;
+ readonly attribute long clientWidth;
+ readonly attribute long clientHeight;
+ // http://dev.w3.org/csswg/cssom-view/#extensions-to-the-htmlelement-interface
+ // FIXME: offset* should be on HTMLElement.
+ [ImplementedAs=offsetParentForBindings, PerWorldBindings] readonly attribute Element offsetParent;
+ readonly attribute long offsetTop;
+ readonly attribute long offsetLeft;
+ readonly attribute long offsetWidth;
+ readonly attribute long offsetHeight;
+
+ // CSS Object Model (CSSOM)
+ // http://dev.w3.org/csswg/cssom/#the-elementcssinlinestyle-interface
+ // FIXME: style should be on HTMLElement and SVGElement.
+ [PerWorldBindings] readonly attribute CSSStyleDeclaration style;
+ // HTML
+ // https://html.spec.whatwg.org/#htmlelement
+ // FIXME: dataset, focus() and blur() should be on HTMLElement.
+ [PerWorldBindings] readonly attribute DOMStringMap dataset;
void focus();
void blur();
- void scrollIntoView(optional boolean alignWithTop);
-
- // WebKit extensions
-
- [MeasureAs=ElementScrollIntoViewIfNeeded] void scrollIntoViewIfNeeded(optional boolean centerIfNeeded);
-
- // HTML 5
- HTMLCollection getElementsByClassName(DOMString classNames);
- [TreatNullAs=NullString, CustomElementCallbacks, RaisesException=Setter, ExposeJSAccessors] attribute DOMString innerHTML;
- [TreatNullAs=NullString, CustomElementCallbacks, RaisesException=Setter] attribute DOMString outerHTML;
+ // Non-standard APIs
+ // https://www.w3.org/Bugs/Public/show_bug.cgi?id=19962
[RaisesException, CustomElementCallbacks, MeasureAs=InsertAdjacentElement] Element insertAdjacentElement(DOMString where, Element element);
[RaisesException, MeasureAs=InsertAdjacentText] void insertAdjacentText(DOMString where, DOMString text);
- [CustomElementCallbacks, RaisesException, MeasureAs=InsertAdjacentHTML] void insertAdjacentHTML(DOMString where, DOMString html);
-
- [Reflect=class] attribute DOMString className;
- [PerWorldBindings] readonly attribute DOMTokenList classList;
-
- [PerWorldBindings] readonly attribute DOMStringMap dataset;
-
- // WebKit extension
+ [MeasureAs=ElementScrollIntoViewIfNeeded] void scrollIntoViewIfNeeded(optional boolean centerIfNeeded);
[RaisesException, ImplementedAs=matches, MeasureAs=ElementPrefixedMatchesSelector] boolean webkitMatchesSelector(DOMString selectors);
- // Shadow DOM API
- [RaisesException, MeasureAs=ElementCreateShadowRoot] ShadowRoot createShadowRoot();
- [PerWorldBindings] readonly attribute ShadowRoot shadowRoot;
- NodeList getDestinationInsertionPoints();
+ // Experimental isTapStop API
[RuntimeEnabled=IsTabStopAttribute] attribute boolean isTabStop;
- // CSSOM View Module API
- ClientRectList getClientRects();
- ClientRect getBoundingClientRect();
-
- [MeasureAs=ElementRequestPointerLock] void requestPointerLock();
-
// Experimental accessibility API
[RuntimeEnabled=ComputedAccessibilityInfo] readonly attribute DOMString? computedRole;
[RuntimeEnabled=ComputedAccessibilityInfo] readonly attribute DOMString? computedName;
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698