Skip to content

Commit 66d6037

Browse files
authored
Remove Goals and redo Historical section
Now that the relevant W3C documents redirect here, there is no need to explain the differences with them. The Historical section now details what has been removed, without acknowledging the historical organization of those features.
1 parent 0de5ae3 commit 66d6037

File tree

1 file changed

+51
-138
lines changed

1 file changed

+51
-138
lines changed

dom.bs

Lines changed: 51 additions & 138 deletions
Original file line numberDiff line numberDiff line change
@@ -49,43 +49,6 @@ spec:html; type:element
4949

5050

5151

52-
<h2 id=goals class=no-num>Goals</h2>
53-
54-
This specification standardizes the DOM. It does so as follows:
55-
56-
<ol>
57-
<li>
58-
<p>By consolidating <cite>DOM Level 3 Core</cite> [[DOM-Level-3-Core]],
59-
<cite>Element Traversal</cite> [[ELEMENTTRAVERSAL]],
60-
<cite>Selectors API Level 2</cite> [[SELECTORS-API2]], the
61-
"DOM Event Architecture" and "Basic Event Interfaces" chapters of
62-
<cite>DOM Level 3 Events</cite> [[uievents-20031107]] (specific types of events do not
63-
belong in the DOM Standard), and <cite>DOM Level 2 Traversal and Range</cite>
64-
[[DOM-Level-2-Traversal-Range]], and:
65-
66-
<ul class=brief>
67-
<li>Aligning them with the JavaScript ecosystem where possible.
68-
<li>Aligning them with existing implementations.
69-
<li>Simplifying them as much as possible.
70-
</ul>
71-
72-
<li><p>By moving features from the HTML Standard [[!HTML]] that make more sense to be
73-
specified as part of the DOM Standard.
74-
75-
<li>
76-
<p>By defining a replacement for the "Mutation Events" and
77-
"Mutation Name Event Types" chapters of <cite>DOM Level 3 Events</cite>
78-
[[uievents-20031107]] as the old model
79-
was problematic.
80-
81-
<p class="note no-backref">The old model is expected to be removed from implementations
82-
in due course.
83-
84-
<li><p>By defining new features that simplify common DOM operations.
85-
</ol>
86-
87-
88-
8952
<h2 id=infrastructure oldids=terminology,dependencies>Infrastructure</h2>
9053

9154
<p>This specification depends on the Infra Standard. [[!INFRA]]
@@ -417,7 +380,7 @@ interface Event {
417380

418381
readonly attribute DOMString type;
419382
readonly attribute EventTarget? target;
420-
readonly attribute EventTarget? srcElement; // historical
383+
readonly attribute EventTarget? srcElement; // legacy
421384
readonly attribute EventTarget? currentTarget;
422385
sequence&lt;EventTarget> composedPath();
423386

@@ -428,20 +391,20 @@ interface Event {
428391
readonly attribute unsigned short eventPhase;
429392

430393
undefined stopPropagation();
431-
attribute boolean cancelBubble; // historical alias of .stopPropagation
394+
attribute boolean cancelBubble; // legacy alias of .stopPropagation()
432395
undefined stopImmediatePropagation();
433396

434397
readonly attribute boolean bubbles;
435398
readonly attribute boolean cancelable;
436-
attribute boolean returnValue; // historical
399+
attribute boolean returnValue; // legacy
437400
undefined preventDefault();
438401
readonly attribute boolean defaultPrevented;
439402
readonly attribute boolean composed;
440403

441404
[LegacyUnforgeable] readonly attribute boolean isTrusted;
442405
readonly attribute DOMHighResTimeStamp timeStamp;
443406

444-
undefined initEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false); // historical
407+
undefined initEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false); // legacy
445408
};
446409

447410
dictionary EventInit {
@@ -809,7 +772,7 @@ incapable of setting {{Event/composed}}. It has to be supported for legacy conte
809772

810773
<pre class=idl>
811774
partial interface Window {
812-
[Replaceable] readonly attribute any event; // historical
775+
[Replaceable] readonly attribute any event; // legacy
813776
};
814777
</pre>
815778

@@ -833,7 +796,7 @@ interface CustomEvent : Event {
833796

834797
readonly attribute any detail;
835798

836-
undefined initCustomEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false, optional any detail = null); // historical
799+
undefined initCustomEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false, optional any detail = null); // legacy
837800
};
838801

839802
dictionary CustomEventInit : EventInit {
@@ -3711,14 +3674,14 @@ interface Node : EventTarget {
37113674
const unsigned short ATTRIBUTE_NODE = 2;
37123675
const unsigned short TEXT_NODE = 3;
37133676
const unsigned short CDATA_SECTION_NODE = 4;
3714-
const unsigned short ENTITY_REFERENCE_NODE = 5; // historical
3715-
const unsigned short ENTITY_NODE = 6; // historical
3677+
const unsigned short ENTITY_REFERENCE_NODE = 5; // legacy
3678+
const unsigned short ENTITY_NODE = 6; // legacy
37163679
const unsigned short PROCESSING_INSTRUCTION_NODE = 7;
37173680
const unsigned short COMMENT_NODE = 8;
37183681
const unsigned short DOCUMENT_NODE = 9;
37193682
const unsigned short DOCUMENT_TYPE_NODE = 10;
37203683
const unsigned short DOCUMENT_FRAGMENT_NODE = 11;
3721-
const unsigned short NOTATION_NODE = 12; // historical
3684+
const unsigned short NOTATION_NODE = 12; // legacy
37223685
readonly attribute unsigned short nodeType;
37233686
readonly attribute DOMString nodeName;
37243687

@@ -3742,7 +3705,7 @@ interface Node : EventTarget {
37423705

37433706
[CEReactions, NewObject] Node cloneNode(optional boolean deep = false);
37443707
boolean isEqualNode(Node? otherNode);
3745-
boolean isSameNode(Node? otherNode); // historical alias of ===
3708+
boolean isSameNode(Node? otherNode); // legacy alias of ===
37463709

37473710
const unsigned short DOCUMENT_POSITION_DISCONNECTED = 0x01;
37483711
const unsigned short DOCUMENT_POSITION_PRECEDING = 0x02;
@@ -4769,8 +4732,8 @@ interface Document : Node {
47694732
readonly attribute USVString documentURI;
47704733
readonly attribute DOMString compatMode;
47714734
readonly attribute DOMString characterSet;
4772-
readonly attribute DOMString charset; // historical alias of .characterSet
4773-
readonly attribute DOMString inputEncoding; // historical alias of .characterSet
4735+
readonly attribute DOMString charset; // legacy alias of .characterSet
4736+
readonly attribute DOMString inputEncoding; // legacy alias of .characterSet
47744737
readonly attribute DOMString contentType;
47754738

47764739
readonly attribute DocumentType? doctype;
@@ -4793,7 +4756,7 @@ interface Document : Node {
47934756
[NewObject] Attr createAttribute(DOMString localName);
47944757
[NewObject] Attr createAttributeNS(DOMString? namespace, DOMString qualifiedName);
47954758

4796-
[NewObject] Event createEvent(DOMString interface); // historical
4759+
[NewObject] Event createEvent(DOMString interface); // legacy
47974760

47984761
[NewObject] Range createRange();
47994762

@@ -5851,14 +5814,14 @@ interface Element : Node {
58515814

58525815
Element? closest(DOMString selectors);
58535816
boolean matches(DOMString selectors);
5854-
boolean webkitMatchesSelector(DOMString selectors); // historical alias of .matches
5817+
boolean webkitMatchesSelector(DOMString selectors); // legacy alias of .matches
58555818

58565819
HTMLCollection getElementsByTagName(DOMString qualifiedName);
58575820
HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName);
58585821
HTMLCollection getElementsByClassName(DOMString classNames);
58595822

5860-
[CEReactions] Element? insertAdjacentElement(DOMString where, Element element); // historical
5861-
undefined insertAdjacentText(DOMString where, DOMString data); // historical
5823+
[CEReactions] Element? insertAdjacentElement(DOMString where, Element element); // legacy
5824+
undefined insertAdjacentText(DOMString where, DOMString data); // legacy
58625825
};
58635826

58645827
dictionary ShadowRootInit {
@@ -9455,14 +9418,14 @@ callback interface NodeFilter {
94559418
const unsigned long SHOW_ATTRIBUTE = 0x2;
94569419
const unsigned long SHOW_TEXT = 0x4;
94579420
const unsigned long SHOW_CDATA_SECTION = 0x8;
9458-
const unsigned long SHOW_ENTITY_REFERENCE = 0x10; // historical
9459-
const unsigned long SHOW_ENTITY = 0x20; // historical
9421+
const unsigned long SHOW_ENTITY_REFERENCE = 0x10; // legacy
9422+
const unsigned long SHOW_ENTITY = 0x20; // legacy
94609423
const unsigned long SHOW_PROCESSING_INSTRUCTION = 0x40;
94619424
const unsigned long SHOW_COMMENT = 0x80;
94629425
const unsigned long SHOW_DOCUMENT = 0x100;
94639426
const unsigned long SHOW_DOCUMENT_TYPE = 0x200;
94649427
const unsigned long SHOW_DOCUMENT_FRAGMENT = 0x400;
9465-
const unsigned long SHOW_NOTATION = 0x800; // historical
9428+
const unsigned long SHOW_NOTATION = 0x800; // legacy
94669429

94679430
unsigned short acceptNode(Node node);
94689431
};
@@ -9877,47 +9840,9 @@ methods on {{Document}}.
98779840

98789841
<h2 id=historical>Historical</h2>
98799842

9880-
<p>As explained in <a href="#goals">goals</a> this standard is a significant revision of various
9881-
obsolete DOM specifications. This section enumerates the incompatible changes.
9882-
9883-
9884-
<h3 id=dom-events-changes>DOM Events</h3>
9843+
<p>This standard used to contain several interfaces and interface members that have been removed.
98859844

9886-
<p>These are the changes made to the features described in the "DOM Event Architecture",
9887-
"Basic Event Interfaces", "Mutation Events", and "Mutation Name Event Types" chapters of
9888-
<cite>DOM Level 3 Events</cite>. The other chapters are defined by the <cite>UI Events</cite>
9889-
specification. [[!UIEVENTS]]
9890-
9891-
<ul class=brief>
9892-
<li>Removes <dfn interface>MutationEvent</dfn> and <dfn interface>MutationNameEvent</dfn>.
9893-
<li>Fire is no longer synonymous with dispatch, but includes initializing an event.
9894-
<li>The propagation and canceled flags are unset when invoking {{Event/initEvent()}} rather than
9895-
after dispatch.
9896-
<li>{{Event}}'s {{Event/timeStamp}} attribute is a {{DOMHighResTimeStamp}} rather than a
9897-
{{DOMTimeStamp}}.
9898-
</ul>
9899-
9900-
9901-
<h3 id=dom-core-changes>DOM Core</h3>
9902-
9903-
<p>These are the changes made to the features described in <cite>DOM Level 3 Core</cite>.
9904-
9905-
<p>{{DOMString}}, {{DOMException}}, and {{DOMTimeStamp}} are now defined in Web IDL.
9906-
9907-
<p id=domstringlist>{{DOMStringList}} is now defined in HTML.
9908-
9909-
<p><dfn method for=Node><code>hasAttributes()</code></dfn> and
9910-
<dfn attribute for=Node><code>attributes</code></dfn> moved from {{Node}} to {{Element}}.
9911-
9912-
<p><dfn attribute for=Node><code>namespaceURI</code></dfn>,
9913-
<dfn attribute for=Node><code>prefix</code></dfn>, and
9914-
<dfn attribute for=Node><code>localName</code></dfn> moved from {{Node}} to {{Element}} and
9915-
{{Attr}}.
9916-
9917-
<p>The remainder of interfaces and interface members listed in this section were removed to simplify
9918-
the web platform. Implementations conforming to this specification will not support them.
9919-
9920-
<p>Interfaces:
9845+
<p>These interfaces have been removed:
99219846

99229847
<ul class=brief dfn-type="interface">
99239848
<li><dfn><code>DOMConfiguration</code></dfn>
@@ -9930,22 +9855,23 @@ the web platform. Implementations conforming to this specification will not supp
99309855
<li><dfn><code>DOMUserData</code></dfn>
99319856
<li><dfn><code>Entity</code></dfn>
99329857
<li><dfn><code>EntityReference</code></dfn>
9858+
<li><dfn><code>MutationEvent</code></dfn>
9859+
<li><dfn><code>MutationNameEvent</code></dfn>
99339860
<li><dfn><code>NameList</code></dfn>
99349861
<li><dfn><code>Notation</code></dfn>
9862+
<li><dfn><code>RangeException</code></dfn>
99359863
<li><dfn><code>TypeInfo</code></dfn>
99369864
<li><dfn><code>UserDataHandler</code></dfn>
99379865
</ul>
99389866

9939-
<p>Interface members:
9867+
<p>And these interface members have been removed:
99409868

99419869
<dl>
9942-
<dt>{{Node}}
9870+
<dt>{{Attr}}
99439871
<dd>
99449872
<ul class=brief>
9945-
<li><dfn attribute for=Node><code>isSupported</code></dfn>
9946-
<li><dfn method for=Node><code>getFeature()</code></dfn>
9947-
<li><dfn method for=Node><code>getUserData()</code></dfn>
9948-
<li><dfn method for=Node><code>setUserData()</code></dfn>
9873+
<li><dfn attribute for=Attr><code>schemaTypeInfo</code></dfn>
9874+
<li><dfn attribute for=Attr><code>isId</code></dfn>
99499875
</ul>
99509876

99519877
<dt>{{Document}}
@@ -9961,17 +9887,18 @@ the web platform. Implementations conforming to this specification will not supp
99619887
<li><dfn method for=Document><code>renameNode()</code></dfn>
99629888
</ul>
99639889

9964-
<dt>{{DOMImplementation}}
9890+
<dt>{{DocumentType}}
99659891
<dd>
99669892
<ul class=brief>
9967-
<li><dfn method for=DOMImplementation><code>getFeature()</code></dfn>
9893+
<li><dfn attribute for=DocumentType><code>entities</code></dfn>
9894+
<li><dfn attribute for=DocumentType><code>notations</code></dfn>
9895+
<li><dfn attribute for=DocumentType><code>internalSubset</code></dfn>
99689896
</ul>
99699897

9970-
<dt>{{Attr}}
9898+
<dt>{{DOMImplementation}}
99719899
<dd>
99729900
<ul class=brief>
9973-
<li><dfn attribute for=Attr><code>schemaTypeInfo</code></dfn>
9974-
<li><dfn attribute for=Attr><code>isId</code></dfn>
9901+
<li><dfn method for=DOMImplementation><code>getFeature()</code></dfn>
99759902
</ul>
99769903

99779904
<dt>{{Element}}
@@ -9983,12 +9910,19 @@ the web platform. Implementations conforming to this specification will not supp
99839910
<li><dfn method for=Element><code>setIdAttributeNode()</code></dfn>
99849911
</ul>
99859912

9986-
<dt>{{DocumentType}}
9913+
<dt>{{Node}}
99879914
<dd>
99889915
<ul class=brief>
9989-
<li><dfn attribute for=DocumentType><code>entities</code></dfn>
9990-
<li><dfn attribute for=DocumentType><code>notations</code></dfn>
9991-
<li><dfn attribute for=DocumentType><code>internalSubset</code></dfn>
9916+
<li><dfn attribute for=Node><code>isSupported</code></dfn>
9917+
<li><dfn method for=Node><code>getFeature()</code></dfn>
9918+
<li><dfn method for=Node><code>getUserData()</code></dfn>
9919+
<li><dfn method for=Node><code>setUserData()</code></dfn>
9920+
</ul>
9921+
9922+
<dt>{{NodeIterator}}
9923+
<dd>
9924+
<ul class=brief>
9925+
<li><dfn for=NodeIterator attribute>expandEntityReferences</dfn>
99929926
</ul>
99939927

99949928
<dt>{{Text}}
@@ -9997,34 +9931,13 @@ the web platform. Implementations conforming to this specification will not supp
99979931
<li><dfn attribute for=Text><code>isElementContentWhitespace</code></dfn>
99989932
<li><dfn method for=Text><code>replaceWholeText()</code></dfn>
99999933
</ul>
10000-
</dl>
10001-
10002-
10003-
<h3 id=dom-ranges-changes>DOM Ranges</h3>
10004-
10005-
<p>These are the changes made to the features described in the "Document Object Model Range" chapter
10006-
of <cite>DOM Level 2 Traversal and Range</cite>.
10007-
10008-
<ul class=brief>
10009-
<li><dfn interface>RangeException</dfn> has been removed.
10010-
<li>{{Range/detach()}} is now a no-op.
10011-
</ul>
100129934

10013-
10014-
<h3 id=dom-traversal-changes>DOM Traversal</h3>
10015-
10016-
<p>These are the changes made to the features described in the "Document Object Model Traversal"
10017-
chapter of <cite>DOM Level 2 Traversal and Range</cite>.
10018-
10019-
<ul class=brief>
10020-
<li>{{createNodeIterator()}} and {{createTreeWalker()}} now have optional arguments and lack a
10021-
fourth argument which is no longer relevant given entity references never made it into the DOM.
10022-
<li>The <dfn for="NodeIterator, TreeWalker" attribute>expandEntityReferences</dfn> attribute has
10023-
been removed from the {{NodeIterator}} and {{TreeWalker}} interfaces for the aforementioned reason.
10024-
<li>{{NodeIterator/nextNode()}} and {{NodeIterator/previousNode()}} now throw when invoked from a
10025-
{{NodeFilter}} to align with user agents.
10026-
<li>{{NodeIterator/detach()}} is now a no-op.
10027-
</ul>
9935+
<dt>{{TreeWalker}}
9936+
<dd>
9937+
<ul class=brief>
9938+
<li><dfn for=TreeWalker attribute>expandEntityReferences</dfn>
9939+
</ul>
9940+
</dl>
100289941

100299942

100309943

0 commit comments

Comments
 (0)