window.HTMLDetailsElement should exist
authorcdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 15 Sep 2015 00:17:20 +0000 (00:17 +0000)
committercdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 15 Sep 2015 00:17:20 +0000 (00:17 +0000)
https://bugs.webkit.org/show_bug.cgi?id=149139

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline W3C tests now that more checks are passing.

* web-platform-tests/html/dom/interfaces-expected.txt:
* web-platform-tests/html/semantics/interactive-elements/the-details-element/details-expected.txt:
* web-platform-tests/html/semantics/interfaces-expected.txt:

Source/WebCore:

window.HTMLDetailsElement should exist:
https://html.spec.whatwg.org/multipage/forms.html#the-details-element

Drop the [NoInterfaceObject] IDL extended attribute in WebKit to
address the problem.

No new tests, already covered by existing tests.

* html/HTMLDetailsElement.idl:

LayoutTests:

Rebaseline test now that HTMLDetailsElement is exposed on the global
Window object.

* platform/efl/js/dom/global-constructors-attributes-expected.txt:
* platform/gtk/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
* platform/win/js/dom/global-constructors-attributes-expected.txt:

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

13 files changed:
LayoutTests/ChangeLog
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-details-element/details-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt
LayoutTests/platform/efl/js/dom/global-constructors-attributes-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/js/dom/global-constructors-attributes-expected.txt
LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/html/HTMLDetailsElement.idl

index e4cb2b2..0f9ec5d 100644 (file)
@@ -1,3 +1,20 @@
+2015-09-14  Chris Dumez  <cdumez@apple.com>
+
+        window.HTMLDetailsElement should exist
+        https://bugs.webkit.org/show_bug.cgi?id=149139
+
+        Reviewed by Ryosuke Niwa.
+
+        Rebaseline test now that HTMLDetailsElement is exposed on the global
+        Window object.
+
+        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
+        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
+        * platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
+        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
+        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
+        * platform/win/js/dom/global-constructors-attributes-expected.txt:
+
 2015-09-14  Brian Burg  <bburg@apple.com>
 
         Web Inspector: backend command promises are not rejected when a protocol error occurs
index 621f379..7bff58d 100644 (file)
@@ -1,3 +1,16 @@
+2015-09-14  Chris Dumez  <cdumez@apple.com>
+
+        window.HTMLDetailsElement should exist
+        https://bugs.webkit.org/show_bug.cgi?id=149139
+
+        Reviewed by Ryosuke Niwa.
+
+        Rebaseline W3C tests now that more checks are passing.
+
+        * web-platform-tests/html/dom/interfaces-expected.txt:
+        * web-platform-tests/html/semantics/interactive-elements/the-details-element/details-expected.txt:
+        * web-platform-tests/html/semantics/interfaces-expected.txt:
+
 2015-09-13  Chris Dumez  <cdumez@apple.com>
 
         Improve Node pre-insertion validation when the parent is a Document
index e4dc049..a162bb3 100644 (file)
@@ -560,6 +560,7 @@ CONSOLE MESSAGE: line 583: Deprecated attempt to access property 'validity' on a
 CONSOLE MESSAGE: line 583: Deprecated attempt to access property 'validationMessage' on a non-HTMLFieldSetElement object.
 CONSOLE MESSAGE: line 583: Deprecated attempt to access property 'form' on a non-HTMLLegendElement object.
 CONSOLE MESSAGE: line 583: Deprecated attempt to access property 'align' on a non-HTMLLegendElement object.
+CONSOLE MESSAGE: line 583: Deprecated attempt to access property 'open' on a non-HTMLDetailsElement object.
 CONSOLE MESSAGE: line 583: Deprecated attempt to access property 'compact' on a non-HTMLMenuElement object.
 CONSOLE MESSAGE: line 583: Deprecated attempt to access property 'src' on a non-HTMLScriptElement object.
 CONSOLE MESSAGE: line 583: Deprecated attempt to access property 'type' on a non-HTMLScriptElement object.
@@ -5112,12 +5113,16 @@ PASS ValidityState interface: document.createElement("input").validity must inhe
 PASS ValidityState interface: document.createElement("input").validity must inherit property "badInput" with the proper type (8) 
 PASS ValidityState interface: document.createElement("input").validity must inherit property "customError" with the proper type (9) 
 PASS ValidityState interface: document.createElement("input").validity must inherit property "valid" with the proper type (10) 
-FAIL HTMLDetailsElement interface: existence and properties of interface object assert_own_property: self does not have own property "HTMLDetailsElement" expected property "HTMLDetailsElement" missing
-FAIL HTMLDetailsElement interface object length assert_own_property: self does not have own property "HTMLDetailsElement" expected property "HTMLDetailsElement" missing
-FAIL HTMLDetailsElement interface: existence and properties of interface prototype object assert_own_property: self does not have own property "HTMLDetailsElement" expected property "HTMLDetailsElement" missing
-FAIL HTMLDetailsElement interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "HTMLDetailsElement" expected property "HTMLDetailsElement" missing
-FAIL HTMLDetailsElement interface: attribute open assert_own_property: self does not have own property "HTMLDetailsElement" expected property "HTMLDetailsElement" missing
-FAIL HTMLDetailsElement must be primary interface of document.createElement("details") assert_own_property: self does not have own property "HTMLDetailsElement" expected property "HTMLDetailsElement" missing
+FAIL HTMLDetailsElement interface: existence and properties of interface object assert_equals: prototype of self's property "HTMLDetailsElement" is not Function.prototype expected (function) function "function () {
+    [native code]
+}" but got (object) object "[object Object]"
+PASS HTMLDetailsElement interface object length 
+PASS HTMLDetailsElement interface: existence and properties of interface prototype object 
+FAIL HTMLDetailsElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLDetailsElement.prototype.constructor is not writable expected true got false
+FAIL HTMLDetailsElement interface: attribute open assert_throws: getting property on prototype object must throw TypeError function "function () {
+    [native code]
+}" did not throw
+PASS HTMLDetailsElement must be primary interface of document.createElement("details") 
 PASS Stringification of document.createElement("details") 
 PASS HTMLDetailsElement interface: document.createElement("details") must inherit property "open" with the proper type (0) 
 FAIL HTMLMenuElement interface: existence and properties of interface object assert_equals: prototype of self's property "HTMLMenuElement" is not Function.prototype expected (function) function "function () {
index 892eacf..5ffdbae 100644 (file)
@@ -1,7 +1,7 @@
 
 PASS HTML parsing should locate 2 details elements in this document 
 PASS HTML parsing should close an unclosed <p> before <details> 
-FAIL HTMLDetailsElement should be exposed for prototyping assert_true: expected true got false
-FAIL a dynamically created details element should be instanceof HTMLDetailsElement window.HTMLDetailsElement is not a function. (evaluating 'makeDetails() instanceof window.HTMLDetailsElement')
-FAIL a details element from the parser should be instanceof HTMLDetailsElement window.HTMLDetailsElement is not a function. (evaluating 'document.getElementById('one').getElementsByTagName('details')[0] instanceof window.HTMLDetailsElement')
+PASS HTMLDetailsElement should be exposed for prototyping 
+PASS a dynamically created details element should be instanceof HTMLDetailsElement 
+PASS a details element from the parser should be instanceof HTMLDetailsElement 
 
index fd7bf84..18ccbe6 100644 (file)
@@ -247,8 +247,8 @@ FAIL Interfaces for datalist assert_equals: Element datalist should have HTMLDat
 FAIL Interfaces for DATALIST assert_equals: Element DATALIST should have HTMLDataListElement as its primary interface. expected "[object HTMLDataListElement]" but got "[object HTMLUnknownElement]"
 PASS Interfaces for output 
 PASS Interfaces for OUTPUT 
-FAIL Interfaces for details window[i] is not a function. (evaluating 'e instanceof window[i]')
-FAIL Interfaces for DETAILS window[i] is not a function. (evaluating 'e instanceof window[i]')
+PASS Interfaces for details 
+PASS Interfaces for DETAILS 
 FAIL Interfaces for command assert_equals: Element command should have HTMLCommandElement as its primary interface. expected "[object HTMLCommandElement]" but got "[object HTMLElement]"
 FAIL Interfaces for COMMAND assert_equals: Element COMMAND should have HTMLCommandElement as its primary interface. expected "[object HTMLCommandElement]" but got "[object HTMLElement]"
 PASS Interfaces for nextid 
index b881ea0..d7ff25e 100644 (file)
@@ -453,6 +453,11 @@ PASS Object.getOwnPropertyDescriptor(global, 'HTMLDataListElement').hasOwnProper
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDataListElement').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDataListElement').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDataListElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').value is HTMLDetailsElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').value is HTMLDirectoryElement
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').hasOwnProperty('set') is false
index b93202c..2c6d7b5 100644 (file)
@@ -453,6 +453,11 @@ PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').hasOwnProperty(
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').value is HTMLDetailsElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').value is HTMLDirectoryElement
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').hasOwnProperty('set') is false
index 65696e3..da58a54 100644 (file)
@@ -448,6 +448,11 @@ PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').hasOwnProperty(
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').value is HTMLDetailsElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').value is HTMLDirectoryElement
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').hasOwnProperty('set') is false
index 8a000ea..12099e3 100644 (file)
@@ -448,6 +448,11 @@ PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').hasOwnProperty(
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').value is HTMLDetailsElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').value is HTMLDirectoryElement
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').hasOwnProperty('set') is false
index 27ad007..366439a 100644 (file)
@@ -448,6 +448,11 @@ PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').hasOwnProperty(
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').value is HTMLDetailsElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').value is HTMLDirectoryElement
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').hasOwnProperty('set') is false
index 0e7ac3a..25e00be 100644 (file)
@@ -373,6 +373,11 @@ PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').hasOwnProperty(
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').hasOwnProperty('set') is false
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').enumerable is false
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDListElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').value is HTMLDetailsElement
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'HTMLDetailsElement').configurable is true
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').value is HTMLDirectoryElement
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').hasOwnProperty('get') is false
 PASS Object.getOwnPropertyDescriptor(global, 'HTMLDirectoryElement').hasOwnProperty('set') is false
index 6f771f5..2715890 100644 (file)
@@ -1,3 +1,20 @@
+2015-09-14  Chris Dumez  <cdumez@apple.com>
+
+        window.HTMLDetailsElement should exist
+        https://bugs.webkit.org/show_bug.cgi?id=149139
+
+        Reviewed by Ryosuke Niwa.
+
+        window.HTMLDetailsElement should exist:
+        https://html.spec.whatwg.org/multipage/forms.html#the-details-element
+
+        Drop the [NoInterfaceObject] IDL extended attribute in WebKit to
+        address the problem.
+
+        No new tests, already covered by existing tests.
+
+        * html/HTMLDetailsElement.idl:
+
 2015-09-14  Alex Christensen  <achristensen@webkit.org>
 
         Fix AppleWin CMake build
index 011f9e1..ca3894e 100644 (file)
@@ -18,7 +18,6 @@
  */
 
 [
-    NoInterfaceObject,
     Conditional=DETAILS_ELEMENT
 ] interface HTMLDetailsElement : HTMLElement {
     [Reflect] attribute boolean open;