Drop support for Entity Node type
authorcdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 18 Sep 2015 17:23:17 +0000 (17:23 +0000)
committercdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 18 Sep 2015 17:23:17 +0000 (17:23 +0000)
https://bugs.webkit.org/show_bug.cgi?id=149239

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline W3C DOM test now that a new check is passing.

* web-platform-tests/dom/historical-expected.txt:

Source/WebCore:

Drop support for Entity DOM type. This legacy type has been dropped in
DOM4:
- https://dom.spec.whatwg.org/#dom-core-changes

Chrome [1] and Firefox [2] already dropped it. There is currently no
way to construct an Entity Node in WebKit.

[1] https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/k3tZGP2EANc
[2] https://developer.mozilla.org/en-US/docs/Web/API/Entity

No new tests, already covered by existing W3C test.

* DerivedSources.cpp:
* WebCore.xcodeproj/project.pbxproj:
* bindings/gobject/WebKitDOMPrivate.cpp:
(WebKit::wrap): Deleted.
* bindings/js/JSNodeCustom.cpp:
(WebCore::createWrapperInline): Deleted.
* bindings/objc/DOM.mm:
(kitClass): Deleted.
* dom/Document.cpp:
(WebCore::Document::importNode): Deleted.
(WebCore::Document::adoptNode): Deleted.
(WebCore::Document::childTypeAllowed): Deleted.
(WebCore::Document::canAcceptChild): Deleted.
* dom/Entity.h:
* dom/Entity.idl:
* dom/Node.cpp:
(WebCore::Node::isDefaultNamespace): Deleted.
(WebCore::Node::lookupPrefix): Deleted.
(WebCore::Node::lookupNamespaceURI): Deleted.
(WebCore::appendTextContent): Deleted.
(WebCore::Node::setTextContent): Deleted.
* dom/Node.h:
* dom/Range.cpp:
(WebCore::lengthOfContentsInNode): Deleted.
(WebCore::Range::processContentsBetweenOffsets): Deleted.
(WebCore::Range::insertNode): Deleted.
(WebCore::Range::checkNodeWOffset): Deleted.
(WebCore::Range::checkNodeBA): Deleted.
(WebCore::Range::selectNode): Deleted.
(WebCore::Range::selectNodeContents): Deleted.
(WebCore::Range::surroundContents): Deleted.
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendStartMarkup): Deleted.
* xml/XPathUtil.cpp:
(WebCore::XPath::isValidContextNode): Deleted.

Source/WebKit2:

Stop handling the Entity node type.

* WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:

LayoutTests:

Rebaseline / update layout tests now that we no longer expose the
Entity type to the Web.

* fast/dom/Window/get-set-properties-expected.txt:
* fast/dom/Window/get-set-properties.html:
* fast/dom/Window/resources/window-properties.js:
* fast/dom/Window/window-lookup-precedence-expected.txt:
* fast/dom/dom-constructors-expected.txt:
* fast/dom/dom-constructors.html:
* platform/gtk/fast/dom/Window/window-lookup-precedence-expected.txt:
* platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189971 268f45cc-cd09-0410-ab3c-d52691b4dbfc

40 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/dom/Window/get-set-properties-expected.txt
LayoutTests/fast/dom/Window/get-set-properties.html
LayoutTests/fast/dom/Window/resources/window-properties.js
LayoutTests/fast/dom/Window/window-lookup-precedence-expected.txt
LayoutTests/fast/dom/dom-constructors-expected.txt
LayoutTests/fast/dom/dom-constructors.html
LayoutTests/http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt
LayoutTests/http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html
LayoutTests/http/tests/security/cross-frame-access-put-expected.txt
LayoutTests/http/tests/security/cross-frame-access-put.html
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/dom/historical-expected.txt
LayoutTests/js/dom/global-constructors-attributes-expected.txt
LayoutTests/platform/efl/js/dom/global-constructors-attributes-expected.txt
LayoutTests/platform/gtk/fast/dom/Window/window-lookup-precedence-expected.txt
LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt
LayoutTests/platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt
LayoutTests/platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt
LayoutTests/platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt
LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt
LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/DerivedSources.cpp
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/bindings/gobject/WebKitDOMPrivate.cpp
Source/WebCore/bindings/js/JSNodeCustom.cpp
Source/WebCore/bindings/objc/DOM.mm
Source/WebCore/dom/Document.cpp
Source/WebCore/dom/Entity.h
Source/WebCore/dom/Entity.idl
Source/WebCore/dom/Node.cpp
Source/WebCore/dom/Node.h
Source/WebCore/dom/Range.cpp
Source/WebCore/editing/MarkupAccumulator.cpp
Source/WebCore/xml/XPathUtil.cpp
Source/WebKit2/ChangeLog
Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm

index c1b1f8e..381e0d1 100644 (file)
@@ -1,5 +1,24 @@
 2015-09-18  Chris Dumez  <cdumez@apple.com>
 
+        Drop support for Entity Node type
+        https://bugs.webkit.org/show_bug.cgi?id=149239
+
+        Reviewed by Darin Adler.
+
+        Rebaseline / update layout tests now that we no longer expose the
+        Entity type to the Web.
+
+        * fast/dom/Window/get-set-properties-expected.txt:
+        * fast/dom/Window/get-set-properties.html:
+        * fast/dom/Window/resources/window-properties.js:
+        * fast/dom/Window/window-lookup-precedence-expected.txt:
+        * fast/dom/dom-constructors-expected.txt:
+        * fast/dom/dom-constructors.html:
+        * platform/gtk/fast/dom/Window/window-lookup-precedence-expected.txt:
+        * platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:
+
+2015-09-18  Chris Dumez  <cdumez@apple.com>
+
         classList.toggle(name, force) treats undefined `force` argument as false
         https://bugs.webkit.org/show_bug.cgi?id=148582
         <rdar://problem/22545600>
index da3da2c..7713fc9 100644 (file)
@@ -33,8 +33,6 @@ PASS: canGet('DocumentType') should be 'true' and is.
 PASS: canSet('DocumentType') should be 'true' and is.
 PASS: canGet('Element') should be 'true' and is.
 PASS: canSet('Element') should be 'true' and is.
-PASS: canGet('Entity') should be 'true' and is.
-PASS: canSet('Entity') should be 'true' and is.
 PASS: canGet('EntityReference') should be 'true' and is.
 PASS: canSet('EntityReference') should be 'true' and is.
 PASS: canGet('EvalError') should be 'true' and is.
index cb5bc38..fff5c4a 100644 (file)
@@ -84,7 +84,6 @@ var windowReadWriteProperties = [
     "DocumentFragment", 
     "DocumentType", 
     "Element", 
-    "Entity", 
     "EntityReference", 
     "EvalError", 
     "Event", 
index ca4d8df..f9c7092 100644 (file)
@@ -56,7 +56,6 @@ var propertyInfo = [
     ["DocumentFragment", "object"],
     ["DocumentType", "object"],
     ["Element", "object"],
-    ["Entity", "object"],
     ["EntityReference", "object"],
     ["Event", "object"],
     ["EventException", "object"],
index 76add42..67d302c 100644 (file)
@@ -114,8 +114,6 @@ PASS win['DocumentType'] == '[object DocumentTypeConstructor]' is true
 PASS win['DocumentType'] == '[object DocumentTypeConstructor]' is true
 PASS win['Element'] == '[object ElementConstructor]' is true
 PASS win['Element'] == '[object ElementConstructor]' is true
-PASS win['Entity'] == '[object EntityConstructor]' is true
-PASS win['Entity'] == '[object EntityConstructor]' is true
 PASS win['EntityReference'] == '[object EntityReferenceConstructor]' is true
 PASS win['EntityReference'] == '[object EntityReferenceConstructor]' is true
 PASS win['Event'] == '[object EventConstructor]' is true
index a80abc3..4a18adf 100644 (file)
@@ -8,7 +8,6 @@ PASS TryAllocate('CharacterData') is 'exception'
 PASS TryAllocate('CDATASection') is 'exception'
 PASS TryAllocate('DocumentType') is 'exception'
 PASS TryAllocate('Element') is 'exception'
-PASS TryAllocate('Entity') is 'exception'
 PASS TryAllocate('EntityReference') is 'exception'
 PASS TryAllocate('EventTarget') is 'exception'
 PASS TryAllocate('HTMLDocument') is 'exception'
index 0d01e98..f2499dc 100644 (file)
@@ -18,7 +18,6 @@ var objects_exception = [
     'CDATASection',
     'DocumentType',
     'Element',
-    'Entity',
     'EntityReference',
     'EventTarget',
     'HTMLDocument',
index 440c80a..e4585ab 100644 (file)
@@ -78,7 +78,6 @@ PASS: canGetDescriptor(targetWindow, 'Document') should be 'false' and is.
 PASS: canGetDescriptor(targetWindow, 'DocumentFragment') should be 'false' and is.
 PASS: canGetDescriptor(targetWindow, 'DocumentType') should be 'false' and is.
 PASS: canGetDescriptor(targetWindow, 'Element') should be 'false' and is.
-PASS: canGetDescriptor(targetWindow, 'Entity') should be 'false' and is.
 PASS: canGetDescriptor(targetWindow, 'EntityReference') should be 'false' and is.
 PASS: canGetDescriptor(targetWindow, 'EvalError') should be 'false' and is.
 PASS: canGetDescriptor(targetWindow, 'Event') should be 'false' and is.
index 1e2b1f9..dea017d 100644 (file)
@@ -19,7 +19,6 @@
             "DocumentFragment", 
             "DocumentType", 
             "Element", 
-            "Entity", 
             "EntityReference", 
             "EvalError", 
             "Event", 
index 3ed4d3f..47fd543 100644 (file)
@@ -14,7 +14,7 @@ ALERT: PASS: window.DOMException should be '[object DOMExceptionConstructor]' an
 ALERT: PASS: window.DOMImplementation should be '[object DOMImplementationConstructor]' and is.
 ALERT: PASS: window.DOMParser should be '[object DOMParserConstructor]' and is.
 ALERT: PASS: window.Element should be '[object ElementConstructor]' and is.
-ALERT: PASS: window.Entity should be '[object EntityConstructor]' and is.
+ALERT: PASS: window.Entity should be 'undefined' and is.
 ALERT: PASS: window.EntityReference should be '[object EntityReferenceConstructor]' and is.
 ALERT: PASS: window.EvalError should be 'function EvalError() {    [native code]}' and is.
 ALERT: PASS: window.Event should be '[object EventConstructor]' and is.
@@ -275,15 +275,15 @@ CONSOLE MESSAGE: line 121: Blocked a frame with origin "http://127.0.0.1:8000" f
 CONSOLE MESSAGE: line 122: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 123: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 124: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
-CONSOLE MESSAGE: line 125: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
-CONSOLE MESSAGE: line 134: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
-CONSOLE MESSAGE: line 136: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
+CONSOLE MESSAGE: line 133: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
+CONSOLE MESSAGE: line 135: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
+CONSOLE MESSAGE: line 137: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 138: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 139: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 140: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 141: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 142: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
-CONSOLE MESSAGE: line 143: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
+CONSOLE MESSAGE: line 144: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 145: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 146: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 147: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
@@ -322,7 +322,7 @@ CONSOLE MESSAGE: line 179: Blocked a frame with origin "http://127.0.0.1:8000" f
 CONSOLE MESSAGE: line 180: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 181: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 182: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
-CONSOLE MESSAGE: line 183: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
+CONSOLE MESSAGE: line 185: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 186: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 187: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 188: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
@@ -338,7 +338,7 @@ CONSOLE MESSAGE: line 197: Blocked a frame with origin "http://127.0.0.1:8000" f
 CONSOLE MESSAGE: line 198: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 199: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 200: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
-CONSOLE MESSAGE: line 201: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
+CONSOLE MESSAGE: line 203: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 204: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 205: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 206: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
@@ -371,7 +371,6 @@ CONSOLE MESSAGE: line 232: Blocked a frame with origin "http://127.0.0.1:8000" f
 CONSOLE MESSAGE: line 233: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 234: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 CONSOLE MESSAGE: line 235: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
-CONSOLE MESSAGE: line 236: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
 This test checks cross-frame access security of window attribute setters (rdar://problem/5326791).
 
 
index c3dab4d..ac024f8 100644 (file)
@@ -50,7 +50,6 @@ function test() {
     setForbiddenProperty(targetWindow, "DOMImplementation");
     setForbiddenProperty(targetWindow, "DOMParser");
     setForbiddenProperty(targetWindow, "Element");
-    setForbiddenProperty(targetWindow, "Entity");
     setForbiddenProperty(targetWindow, "EntityReference");
     setForbiddenProperty(targetWindow, "EvalError");
     setForbiddenProperty(targetWindow, "Event");
index 17e6fb6..03b4e3a 100644 (file)
@@ -1,3 +1,14 @@
+2015-09-18  Chris Dumez  <cdumez@apple.com>
+
+        Drop support for Entity Node type
+        https://bugs.webkit.org/show_bug.cgi?id=149239
+
+        Reviewed by Darin Adler.
+
+        Rebaseline W3C DOM test now that a new check is passing.
+
+        * web-platform-tests/dom/historical-expected.txt:
+
 2015-09-17  Chris Dumez  <cdumez@apple.com>
 
         [WebIDL] Add support for default parameter values
index 7a04fea..9bea2a3 100644 (file)
@@ -8,7 +8,7 @@ PASS Historical DOM features must be removed: DOMImplementationSource
 PASS Historical DOM features must be removed: DOMLocator 
 PASS Historical DOM features must be removed: DOMObject 
 PASS Historical DOM features must be removed: DOMUserData 
-FAIL Historical DOM features must be removed: Entity assert_equals: expected (undefined) undefined but got (object) object "[object EntityConstructor]"
+PASS Historical DOM features must be removed: Entity 
 FAIL Historical DOM features must be removed: EntityReference assert_equals: expected (undefined) undefined but got (object) object "[object EntityReferenceConstructor]"
 FAIL Historical DOM features must be removed: EventException assert_equals: expected (undefined) undefined but got (object) object "[object EventExceptionConstructor]"
 PASS Historical DOM features must be removed: NameList 
index daf147f..2d8dc8e 100644 (file)
@@ -313,11 +313,6 @@ PASS Object.getOwnPropertyDescriptor(global, 'Element').hasOwnProperty('get') is
 PASS Object.getOwnPropertyDescriptor(global, 'Element').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'Element').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'Element').configurable is true
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').value is Entity
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').value is EntityReference
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').hasOwnProperty('set') is false
index d7ff25e..baab498 100644 (file)
@@ -313,11 +313,6 @@ PASS Object.getOwnPropertyDescriptor(global, 'Element').hasOwnProperty('get') is
 PASS Object.getOwnPropertyDescriptor(global, 'Element').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'Element').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'Element').configurable is true
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').value is Entity
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').value is EntityReference
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').hasOwnProperty('set') is false
index 0e4a8ca..edb7550 100644 (file)
@@ -114,8 +114,6 @@ PASS win['DocumentType'] == '[object DocumentTypeConstructor]' is true
 PASS win['DocumentType'] == '[object DocumentTypeConstructor]' is true
 PASS win['Element'] == '[object ElementConstructor]' is true
 PASS win['Element'] == '[object ElementConstructor]' is true
-PASS win['Entity'] == '[object EntityConstructor]' is true
-PASS win['Entity'] == '[object EntityConstructor]' is true
 PASS win['EntityReference'] == '[object EntityReferenceConstructor]' is true
 PASS win['EntityReference'] == '[object EntityReferenceConstructor]' is true
 PASS win['Event'] == '[object EventConstructor]' is true
index 2c6d7b5..a0c6ff4 100644 (file)
@@ -318,11 +318,6 @@ PASS Object.getOwnPropertyDescriptor(global, 'Element').hasOwnProperty('get') is
 PASS Object.getOwnPropertyDescriptor(global, 'Element').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'Element').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'Element').configurable is true
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').value is Entity
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').value is EntityReference
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').hasOwnProperty('set') is false
index b355bfd..c15b665 100644 (file)
@@ -308,11 +308,6 @@ PASS Object.getOwnPropertyDescriptor(global, 'Element').hasOwnProperty('get') is
 PASS Object.getOwnPropertyDescriptor(global, 'Element').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'Element').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'Element').configurable is true
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').value is Entity
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').value is EntityReference
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').hasOwnProperty('set') is false
index c4cbaef..00fbc4b 100644 (file)
@@ -308,11 +308,6 @@ PASS Object.getOwnPropertyDescriptor(global, 'Element').hasOwnProperty('get') is
 PASS Object.getOwnPropertyDescriptor(global, 'Element').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'Element').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'Element').configurable is true
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').value is Entity
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').value is EntityReference
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').hasOwnProperty('set') is false
index 04358de..93dadc0 100644 (file)
@@ -114,8 +114,6 @@ PASS win['DocumentType'] == '[object DocumentTypeConstructor]' is true
 PASS win['DocumentType'] == '[object DocumentTypeConstructor]' is true
 PASS win['Element'] == '[object ElementConstructor]' is true
 PASS win['Element'] == '[object ElementConstructor]' is true
-PASS win['Entity'] == '[object EntityConstructor]' is true
-PASS win['Entity'] == '[object EntityConstructor]' is true
 PASS win['EntityReference'] == '[object EntityReferenceConstructor]' is true
 PASS win['EntityReference'] == '[object EntityReferenceConstructor]' is true
 PASS win['Event'] == '[object EventConstructor]' is true
index 9e99fee..044f14f 100644 (file)
@@ -308,11 +308,6 @@ PASS Object.getOwnPropertyDescriptor(global, 'Element').hasOwnProperty('get') is
 PASS Object.getOwnPropertyDescriptor(global, 'Element').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'Element').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'Element').configurable is true
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').value is Entity
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').value is EntityReference
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').hasOwnProperty('set') is false
index 25e00be..083a071 100644 (file)
@@ -238,11 +238,6 @@ PASS Object.getOwnPropertyDescriptor(global, 'Element').hasOwnProperty('get') is
 PASS Object.getOwnPropertyDescriptor(global, 'Element').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'Element').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'Element').configurable is true
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').value is Entity
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'Entity').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').value is EntityReference
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'EntityReference').hasOwnProperty('set') is false
index 4310886..f7f25f1 100644 (file)
@@ -1,3 +1,58 @@
+2015-09-18  Chris Dumez  <cdumez@apple.com>
+
+        Drop support for Entity Node type
+        https://bugs.webkit.org/show_bug.cgi?id=149239
+
+        Reviewed by Darin Adler.
+
+        Drop support for Entity DOM type. This legacy type has been dropped in
+        DOM4:
+        - https://dom.spec.whatwg.org/#dom-core-changes
+
+        Chrome [1] and Firefox [2] already dropped it. There is currently no
+        way to construct an Entity Node in WebKit.
+
+        [1] https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/k3tZGP2EANc
+        [2] https://developer.mozilla.org/en-US/docs/Web/API/Entity
+
+        No new tests, already covered by existing W3C test.
+
+        * DerivedSources.cpp:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/gobject/WebKitDOMPrivate.cpp:
+        (WebKit::wrap): Deleted.
+        * bindings/js/JSNodeCustom.cpp:
+        (WebCore::createWrapperInline): Deleted.
+        * bindings/objc/DOM.mm:
+        (kitClass): Deleted.
+        * dom/Document.cpp:
+        (WebCore::Document::importNode): Deleted.
+        (WebCore::Document::adoptNode): Deleted.
+        (WebCore::Document::childTypeAllowed): Deleted.
+        (WebCore::Document::canAcceptChild): Deleted.
+        * dom/Entity.h:
+        * dom/Entity.idl:
+        * dom/Node.cpp:
+        (WebCore::Node::isDefaultNamespace): Deleted.
+        (WebCore::Node::lookupPrefix): Deleted.
+        (WebCore::Node::lookupNamespaceURI): Deleted.
+        (WebCore::appendTextContent): Deleted.
+        (WebCore::Node::setTextContent): Deleted.
+        * dom/Node.h:
+        * dom/Range.cpp:
+        (WebCore::lengthOfContentsInNode): Deleted.
+        (WebCore::Range::processContentsBetweenOffsets): Deleted.
+        (WebCore::Range::insertNode): Deleted.
+        (WebCore::Range::checkNodeWOffset): Deleted.
+        (WebCore::Range::checkNodeBA): Deleted.
+        (WebCore::Range::selectNode): Deleted.
+        (WebCore::Range::selectNodeContents): Deleted.
+        (WebCore::Range::surroundContents): Deleted.
+        * editing/MarkupAccumulator.cpp:
+        (WebCore::MarkupAccumulator::appendStartMarkup): Deleted.
+        * xml/XPathUtil.cpp:
+        (WebCore::XPath::isValidContextNode): Deleted.
+
 2015-09-17  Brian Burg  <bburg@apple.com>
 
         ASSERT(!m_frontendRouter->hasLocalFrontend()) when running Web Inspector tests
index 5d8a49c..d3eb517 100644 (file)
 #include "JSDOMWindow.cpp"
 #include "JSDOMWindowCSS.cpp"
 #include "JSElement.cpp"
-#include "JSEntity.cpp"
 #include "JSEntityReference.cpp"
 #include "JSErrorEvent.cpp"
 #include "JSEvent.cpp"
index b30191f..08c4496 100644 (file)
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
     </ClCompile>
-    <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSEntity.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
-    </ClCompile>
     <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSEntityReference.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSDOMURL.h" />
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSDOMWindow.h" />
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSElement.h" />
-    <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSEntity.h" />
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSEntityReference.h" />
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSErrorEvent.h" />
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSEvent.h" />
index 742f797..9787bc8 100644 (file)
     <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSElement.cpp">
       <Filter>DerivedSources</Filter>
     </ClCompile>
-    <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSEntity.cpp">
-      <Filter>DerivedSources</Filter>
-    </ClCompile>
     <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSEntityReference.cpp">
       <Filter>DerivedSources</Filter>
     </ClCompile>
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSElement.h">
       <Filter>DerivedSources</Filter>
     </ClInclude>
-    <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSEntity.h">
-      <Filter>DerivedSources</Filter>
-    </ClInclude>
     <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSEntityReference.h">
       <Filter>DerivedSources</Filter>
     </ClInclude>
index 51e0d2e..c90d151 100644 (file)
                65DF320409D1CC60000BE325 /* JSText.h in Headers */ = {isa = PBXBuildFile; fileRef = 65DF31F009D1CC60000BE325 /* JSText.h */; };
                65DF320509D1CC60000BE325 /* JSWheelEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65DF31F109D1CC60000BE325 /* JSWheelEvent.cpp */; };
                65DF320609D1CC60000BE325 /* JSWheelEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 65DF31F209D1CC60000BE325 /* JSWheelEvent.h */; };
-               65DF322F09D1DDBC000BE325 /* JSEntity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65DF322D09D1DDBC000BE325 /* JSEntity.cpp */; };
-               65DF323009D1DDBC000BE325 /* JSEntity.h in Headers */ = {isa = PBXBuildFile; fileRef = 65DF322E09D1DDBC000BE325 /* JSEntity.h */; };
                65DF323909D1DE65000BE325 /* JSCanvasGradient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65DF323309D1DE65000BE325 /* JSCanvasGradient.cpp */; };
                65DF323A09D1DE65000BE325 /* JSCanvasGradient.h in Headers */ = {isa = PBXBuildFile; fileRef = 65DF323409D1DE65000BE325 /* JSCanvasGradient.h */; };
                65DF323B09D1DE65000BE325 /* JSCanvasPattern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65DF323509D1DE65000BE325 /* JSCanvasPattern.cpp */; };
                65DF31F009D1CC60000BE325 /* JSText.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSText.h; sourceTree = "<group>"; };
                65DF31F109D1CC60000BE325 /* JSWheelEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSWheelEvent.cpp; sourceTree = "<group>"; };
                65DF31F209D1CC60000BE325 /* JSWheelEvent.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSWheelEvent.h; sourceTree = "<group>"; };
-               65DF322D09D1DDBC000BE325 /* JSEntity.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSEntity.cpp; sourceTree = "<group>"; };
-               65DF322E09D1DDBC000BE325 /* JSEntity.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSEntity.h; sourceTree = "<group>"; };
                65DF323309D1DE65000BE325 /* JSCanvasGradient.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSCanvasGradient.cpp; sourceTree = "<group>"; };
                65DF323409D1DE65000BE325 /* JSCanvasGradient.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSCanvasGradient.h; sourceTree = "<group>"; };
                65DF323509D1DE65000BE325 /* JSCanvasPattern.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSCanvasPattern.cpp; sourceTree = "<group>"; };
                                BC64649611D82349006455B0 /* JSDOMStringMap.h */,
                                65DF31E509D1CC60000BE325 /* JSElement.cpp */,
                                65DF31E609D1CC60000BE325 /* JSElement.h */,
-                               65DF322D09D1DDBC000BE325 /* JSEntity.cpp */,
-                               65DF322E09D1DDBC000BE325 /* JSEntity.h */,
                                93F9B7720BA5FDDC00854064 /* JSEntityReference.cpp */,
                                93F9B7730BA5FDDC00854064 /* JSEntityReference.h */,
                                FE80DA5F0E9C4703000D6F75 /* JSGeolocation.cpp */,
                                FD7868BA136B999200D403DF /* JSDynamicsCompressorNode.h in Headers */,
                                65DF31FA09D1CC60000BE325 /* JSElement.h in Headers */,
                                ADEC78F818EE5308001315C2 /* JSElementCustom.h in Headers */,
-                               65DF323009D1DDBC000BE325 /* JSEntity.h in Headers */,
                                93F9B7750BA5FDDD00854064 /* JSEntityReference.h in Headers */,
                                2ECF7ADD10162B3800427DE7 /* JSErrorEvent.h in Headers */,
                                F3D461491161D53200CA0D09 /* JSErrorHandler.h in Headers */,
                                FD7868B9136B999200D403DF /* JSDynamicsCompressorNode.cpp in Sources */,
                                65DF31F909D1CC60000BE325 /* JSElement.cpp in Sources */,
                                BC2ED5550C6B9BD300920BFF /* JSElementCustom.cpp in Sources */,
-                               65DF322F09D1DDBC000BE325 /* JSEntity.cpp in Sources */,
                                93F9B7740BA5FDDC00854064 /* JSEntityReference.cpp in Sources */,
                                2ECF7ADC10162B3800427DE7 /* JSErrorEvent.cpp in Sources */,
                                F3D461481161D53200CA0D09 /* JSErrorHandler.cpp in Sources */,
index 60a1b36..59cf68c 100644 (file)
@@ -107,7 +107,6 @@ WebKitDOMNode* wrap(Node* node)
         return WEBKIT_DOM_NODE(wrapDocumentType(static_cast<DocumentType*>(node)));
     case Node::DOCUMENT_FRAGMENT_NODE:
         return WEBKIT_DOM_NODE(wrapDocumentFragment(static_cast<DocumentFragment*>(node)));
-    case Node::ENTITY_NODE:
     case Node::XPATH_NAMESPACE_NODE:
         break;
     }
index fa72506..aeac087 100644 (file)
@@ -51,7 +51,6 @@
 #include "JSDocument.h"
 #include "JSDocumentFragment.h"
 #include "JSDocumentType.h"
-#include "JSEntity.h"
 #include "JSEntityReference.h"
 #include "JSEventListener.h"
 #include "JSHTMLElement.h"
@@ -190,9 +189,6 @@ static ALWAYS_INLINE JSValue createWrapperInline(ExecState* exec, JSDOMGlobalObj
         case Node::CDATA_SECTION_NODE:
             wrapper = CREATE_DOM_WRAPPER(globalObject, CDATASection, node);
             break;
-        case Node::ENTITY_NODE:
-            wrapper = CREATE_DOM_WRAPPER(globalObject, Entity, node);
-            break;
         case Node::PROCESSING_INSTRUCTION_NODE:
             wrapper = CREATE_DOM_WRAPPER(globalObject, ProcessingInstruction, node);
             break;
index acee3d5..8e1fbe1 100644 (file)
@@ -313,8 +313,6 @@ Class kitClass(WebCore::Node* impl)
             return [DOMCDATASection class];
         case WebCore::Node::ENTITY_REFERENCE_NODE:
             return [DOMEntityReference class];
-        case WebCore::Node::ENTITY_NODE:
-            return [DOMEntity class];
         case WebCore::Node::PROCESSING_INSTRUCTION_NODE:
             return [DOMProcessingInstruction class];
         case WebCore::Node::COMMENT_NODE:
index 9192147..21793c2 100644 (file)
@@ -958,7 +958,6 @@ RefPtr<Node> Document::importNode(Node* importedNode, bool deep, ExceptionCode&
     case DOCUMENT_TYPE_NODE: // FIXME: Support cloning a DocumentType node per DOM4.
         break;
 
-    case ENTITY_NODE:
     case XPATH_NAMESPACE_NODE:
         ASSERT_NOT_REACHED(); // These two types of DOM nodes are not implemented.
         break;
@@ -983,7 +982,6 @@ RefPtr<Node> Document::adoptNode(PassRefPtr<Node> source, ExceptionCode& ec)
     EventQueueScope scope;
 
     switch (source->nodeType()) {
-    case ENTITY_NODE:
     case DOCUMENT_NODE:
     case XPATH_NAMESPACE_NODE:
         ec = NOT_SUPPORTED_ERR;
@@ -3350,7 +3348,6 @@ bool Document::childTypeAllowed(NodeType type) const
     case CDATA_SECTION_NODE:
     case DOCUMENT_FRAGMENT_NODE:
     case DOCUMENT_NODE:
-    case ENTITY_NODE:
     case ENTITY_REFERENCE_NODE:
     case TEXT_NODE:
     case XPATH_NAMESPACE_NODE:
@@ -3379,7 +3376,6 @@ bool Document::canAcceptChild(const Node& newChild, const Node* refChild, Accept
     case ATTRIBUTE_NODE:
     case CDATA_SECTION_NODE:
     case DOCUMENT_NODE:
-    case ENTITY_NODE:
     case ENTITY_REFERENCE_NODE:
     case TEXT_NODE:
     case XPATH_NAMESPACE_NODE:
index 8f2627d..96833c6 100644 (file)
@@ -26,8 +26,7 @@
 
 namespace WebCore {
 
-// FIXME: This abstract class is only here so that the JavaScript and Objective-C bindings
-// can continue to be compiled.
+// FIXME: This abstract class is only here so that the Objective-C bindings can continue to be compiled.
 class Entity : public ContainerNode {
 public:
     String publicId() const { ASSERT_NOT_REACHED(); return String(); }
index 5601c44..53fa5a9 100644 (file)
  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  * Boston, MA 02110-1301, USA.
  */
+
+#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
+
 [
+    NoInterfaceObject,
     ImplementationLacksVTable
 ] interface Entity : Node {
     [TreatReturnedNullStringAs=Null] readonly attribute DOMString publicId;
@@ -24,3 +28,4 @@
     [TreatReturnedNullStringAs=Null] readonly attribute DOMString notationName;
 };
 
+#endif
index ca87b04..4362d65 100644 (file)
@@ -1271,7 +1271,6 @@ bool Node::isDefaultNamespace(const AtomicString& namespaceURIMaybeEmpty) const
             if (Element* documentElement = downcast<Document>(*this).documentElement())
                 return documentElement->isDefaultNamespace(namespaceURI);
             return false;
-        case ENTITY_NODE:
         case DOCUMENT_TYPE_NODE:
         case DOCUMENT_FRAGMENT_NODE:
             return false;
@@ -1303,7 +1302,6 @@ String Node::lookupPrefix(const AtomicString &namespaceURI) const
             if (Element* documentElement = downcast<Document>(*this).documentElement())
                 return documentElement->lookupPrefix(namespaceURI);
             return String();
-        case ENTITY_NODE:
         case DOCUMENT_FRAGMENT_NODE:
         case DOCUMENT_TYPE_NODE:
             return String();
@@ -1360,7 +1358,6 @@ String Node::lookupNamespaceURI(const String &prefix) const
             if (Element* documentElement = downcast<Document>(*this).documentElement())
                 return documentElement->lookupNamespaceURI(prefix);
             return String();
-        case ENTITY_NODE:
         case DOCUMENT_TYPE_NODE:
         case DOCUMENT_FRAGMENT_NODE:
             return String();
@@ -1425,7 +1422,6 @@ static void appendTextContent(const Node* node, bool convertBRsToNewlines, bool&
         }
         FALLTHROUGH;
     case Node::ATTRIBUTE_NODE:
-    case Node::ENTITY_NODE:
     case Node::ENTITY_REFERENCE_NODE:
     case Node::DOCUMENT_FRAGMENT_NODE:
         isNullString = false;
@@ -1462,7 +1458,6 @@ void Node::setTextContent(const String& text, ExceptionCode& ec)
             return;
         case ELEMENT_NODE:
         case ATTRIBUTE_NODE:
-        case ENTITY_NODE:
         case ENTITY_REFERENCE_NODE:
         case DOCUMENT_FRAGMENT_NODE: {
             Ref<ContainerNode> container(downcast<ContainerNode>(*this));
index 0c3a1d9..04e38d2 100644 (file)
@@ -126,7 +126,6 @@ public:
         TEXT_NODE = 3,
         CDATA_SECTION_NODE = 4,
         ENTITY_REFERENCE_NODE = 5,
-        ENTITY_NODE = 6,
         PROCESSING_INSTRUCTION_NODE = 7,
         COMMENT_NODE = 8,
         DOCUMENT_NODE = 9,
@@ -135,6 +134,7 @@ public:
         XPATH_NAMESPACE_NODE = 13,
     };
     enum DeprecatedNodeType {
+        ENTITY_NODE = 6,
         NOTATION_NODE = 12,
     };
     enum DocumentPosition {
index f1aa221..52e2f19 100644 (file)
@@ -573,7 +573,6 @@ static inline unsigned lengthOfContentsInNode(Node* node)
     case Node::ELEMENT_NODE:
     case Node::ATTRIBUTE_NODE:
     case Node::ENTITY_REFERENCE_NODE:
-    case Node::ENTITY_NODE:
     case Node::DOCUMENT_NODE:
     case Node::DOCUMENT_TYPE_NODE:
     case Node::DOCUMENT_FRAGMENT_NODE:
@@ -735,7 +734,6 @@ RefPtr<Node> Range::processContentsBetweenOffsets(ActionType action, PassRefPtr<
     case Node::ELEMENT_NODE:
     case Node::ATTRIBUTE_NODE:
     case Node::ENTITY_REFERENCE_NODE:
-    case Node::ENTITY_NODE:
     case Node::DOCUMENT_NODE:
     case Node::DOCUMENT_TYPE_NODE:
     case Node::DOCUMENT_FRAGMENT_NODE:
@@ -913,7 +911,6 @@ void Range::insertNode(PassRefPtr<Node> prpNewNode, ExceptionCode& ec)
     // INVALID_NODE_TYPE_ERR: Raised if newNode is an Attr, Entity, ShadowRoot or Document node.
     switch (newNodeType) {
     case Node::ATTRIBUTE_NODE:
-    case Node::ENTITY_NODE:
     case Node::DOCUMENT_NODE:
         ec = INVALID_NODE_TYPE_ERR;
         return;
@@ -1012,7 +1009,6 @@ Node* Range::checkNodeWOffset(Node* n, int offset, ExceptionCode& ec) const
 {
     switch (n->nodeType()) {
         case Node::DOCUMENT_TYPE_NODE:
-        case Node::ENTITY_NODE:
             ec = INVALID_NODE_TYPE_ERR;
             return nullptr;
         case Node::CDATA_SECTION_NODE:
@@ -1050,7 +1046,6 @@ void Range::checkNodeBA(Node* n, ExceptionCode& ec) const
         case Node::ATTRIBUTE_NODE:
         case Node::DOCUMENT_FRAGMENT_NODE:
         case Node::DOCUMENT_NODE:
-        case Node::ENTITY_NODE:
             ec = INVALID_NODE_TYPE_ERR;
             return;
         case Node::CDATA_SECTION_NODE:
@@ -1077,7 +1072,6 @@ void Range::checkNodeBA(Node* n, ExceptionCode& ec) const
         case Node::COMMENT_NODE:
         case Node::DOCUMENT_TYPE_NODE:
         case Node::ELEMENT_NODE:
-        case Node::ENTITY_NODE:
         case Node::ENTITY_REFERENCE_NODE:
         case Node::PROCESSING_INSTRUCTION_NODE:
         case Node::TEXT_NODE:
@@ -1161,7 +1155,6 @@ void Range::selectNode(Node* refNode, ExceptionCode& ec)
             case Node::XPATH_NAMESPACE_NODE:
                 break;
             case Node::DOCUMENT_TYPE_NODE:
-            case Node::ENTITY_NODE:
                 ec = INVALID_NODE_TYPE_ERR;
                 return;
         }
@@ -1180,7 +1173,6 @@ void Range::selectNode(Node* refNode, ExceptionCode& ec)
         case Node::ATTRIBUTE_NODE:
         case Node::DOCUMENT_FRAGMENT_NODE:
         case Node::DOCUMENT_NODE:
-        case Node::ENTITY_NODE:
             ec = INVALID_NODE_TYPE_ERR;
             return;
     }
@@ -1218,7 +1210,6 @@ void Range::selectNodeContents(Node* refNode, ExceptionCode& ec)
             case Node::XPATH_NAMESPACE_NODE:
                 break;
             case Node::DOCUMENT_TYPE_NODE:
-            case Node::ENTITY_NODE:
                 ec = INVALID_NODE_TYPE_ERR;
                 return;
         }
@@ -1247,7 +1238,6 @@ void Range::surroundContents(PassRefPtr<Node> passNewParent, ExceptionCode& ec)
         case Node::DOCUMENT_FRAGMENT_NODE:
         case Node::DOCUMENT_NODE:
         case Node::DOCUMENT_TYPE_NODE:
-        case Node::ENTITY_NODE:
             ec = INVALID_NODE_TYPE_ERR;
             return;
         case Node::CDATA_SECTION_NODE:
index 988d5ce..8345572 100644 (file)
@@ -573,7 +573,6 @@ void MarkupAccumulator::appendStartMarkup(StringBuilder& result, const Node& nod
         appendCDATASection(result, downcast<CDATASection>(node).data());
         break;
     case Node::ATTRIBUTE_NODE:
-    case Node::ENTITY_NODE:
     case Node::ENTITY_REFERENCE_NODE:
     case Node::XPATH_NAMESPACE_NODE:
         ASSERT_NOT_REACHED();
index daaf9f2..6f664d8 100644 (file)
@@ -71,7 +71,6 @@ bool isValidContextNode(Node* node)
             return true;
         case Node::DOCUMENT_FRAGMENT_NODE:
         case Node::DOCUMENT_TYPE_NODE:
-        case Node::ENTITY_NODE:
         case Node::ENTITY_REFERENCE_NODE:
             return false;
         case Node::TEXT_NODE:
index 091749e..8e68276 100644 (file)
@@ -1,3 +1,14 @@
+2015-09-18  Chris Dumez  <cdumez@apple.com>
+
+        Drop support for Entity Node type
+        https://bugs.webkit.org/show_bug.cgi?id=149239
+
+        Reviewed by Darin Adler.
+
+        Stop handling the Entity node type.
+
+        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
+
 2015-09-17  Brian Burg  <bburg@apple.com>
 
         ASSERT(!m_frontendRouter->hasLocalFrontend()) when running Web Inspector tests
index 959f42e..e5c6f02 100644 (file)
@@ -77,7 +77,6 @@ static Class WKDOMNodeClass(WebCore::Node* impl)
     case WebCore::Node::ATTRIBUTE_NODE:
     case WebCore::Node::CDATA_SECTION_NODE:
     case WebCore::Node::ENTITY_REFERENCE_NODE:
-    case WebCore::Node::ENTITY_NODE:
     case WebCore::Node::PROCESSING_INSTRUCTION_NODE:
     case WebCore::Node::COMMENT_NODE:
     case WebCore::Node::DOCUMENT_TYPE_NODE: