Title: [243638] trunk
Revision
243638
Author
[email protected]
Date
2019-03-28 19:34:56 -0700 (Thu, 28 Mar 2019)

Log Message

Support <object>.contentWindow
https://bugs.webkit.org/show_bug.cgi?id=195562

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that more checks are passing or failing later on.

* web-platform-tests/html/browsers/the-window-object/accessing-other-browsing-contexts/indexed-browsing-contexts-03-expected.txt:
* web-platform-tests/html/dom/interfaces-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-object-element/object-attributes-expected.txt:

Source/WebCore:

Support <object>.contentWindow as per:
- https://html.spec.whatwg.org/multipage/iframe-embed-object.html#dom-object-contentwindow

No new tests, updated / rebaselined existing tests.

* html/HTMLObjectElement.idl:

LayoutTests:

Update existing test to extend test coverage.

* fast/dom/HTMLObjectElement/object-as-frame-expected.txt:
* fast/dom/HTMLObjectElement/object-as-frame.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (243637 => 243638)


--- trunk/LayoutTests/ChangeLog	2019-03-29 02:26:47 UTC (rev 243637)
+++ trunk/LayoutTests/ChangeLog	2019-03-29 02:34:56 UTC (rev 243638)
@@ -1,3 +1,15 @@
+2019-03-28  Chris Dumez  <[email protected]>
+
+        Support <object>.contentWindow
+        https://bugs.webkit.org/show_bug.cgi?id=195562
+
+        Reviewed by Sam Weinig.
+
+        Update existing test to extend test coverage.
+
+        * fast/dom/HTMLObjectElement/object-as-frame-expected.txt:
+        * fast/dom/HTMLObjectElement/object-as-frame.html:
+
 2019-03-28  Myles C. Maxfield  <[email protected]>
 
         FontFace constructor throws an exception when there is a name which starts with a number

Modified: trunk/LayoutTests/fast/dom/HTMLObjectElement/object-as-frame-expected.txt (243637 => 243638)


--- trunk/LayoutTests/fast/dom/HTMLObjectElement/object-as-frame-expected.txt	2019-03-29 02:26:47 UTC (rev 243637)
+++ trunk/LayoutTests/fast/dom/HTMLObjectElement/object-as-frame-expected.txt	2019-03-29 02:34:56 UTC (rev 243638)
@@ -1,8 +1,15 @@
 PASS window.frames.length is 2
 PASS window.frames[0].frameElement.name is "frame"
+PASS window.frames[0].frameElement.contentWindow is window.frames[0].frameElement.contentDocument.defaultView
+PASS window.frames[0].frameElement.contentWindow.document is window.frames[0].frameElement.contentDocument
 PASS window.frames[1].frameElement.name is "obj"
+PASS window.frames[1].frameElement.contentWindow is window.frames[1].frameElement.contentDocument.defaultView
+PASS window.frames[1].frameElement.contentWindow.document is window.frames[1].frameElement.contentDocument
 Loading 'data:text/html,Updated contents of iframe' in iframe...
 Loading 'data:text/html,Updated contents of object' in object...
 PASS window.frames[0].location.toString() is "data:text/html,Updated contents of iframe"
 PASS window.frames[1].location.toString() is "data:text/html,Updated contents of object"
+PASS successfullyParsed is true
+
+TEST COMPLETE
  

Modified: trunk/LayoutTests/fast/dom/HTMLObjectElement/object-as-frame.html (243637 => 243638)


--- trunk/LayoutTests/fast/dom/HTMLObjectElement/object-as-frame.html	2019-03-29 02:26:47 UTC (rev 243637)
+++ trunk/LayoutTests/fast/dom/HTMLObjectElement/object-as-frame.html	2019-03-29 02:34:56 UTC (rev 243638)
@@ -1,13 +1,10 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<!DOCTYPE html>
 <html>
 <head>
-<script src=""
+<script src=""
 <script>
 
-if (window.testRunner) {
-    testRunner.dumpAsText();
-    testRunner.waitUntilDone();
-}
+jsTestIsAsync = true;
 
 var updatedFrameURL = "data:text/html,Updated contents of iframe";
 var updatedObjectURL = "data:text/html,Updated contents of object";
@@ -16,7 +13,11 @@
 {
     shouldBe("window.frames.length", "2");
     shouldBe("window.frames[0].frameElement.name", '"frame"');
+    shouldBe("window.frames[0].frameElement.contentWindow", "window.frames[0].frameElement.contentDocument.defaultView");
+    shouldBe("window.frames[0].frameElement.contentWindow.document", "window.frames[0].frameElement.contentDocument");
     shouldBe("window.frames[1].frameElement.name", '"obj"');
+    shouldBe("window.frames[1].frameElement.contentWindow", "window.frames[1].frameElement.contentDocument.defaultView");
+    shouldBe("window.frames[1].frameElement.contentWindow.document", "window.frames[1].frameElement.contentDocument");
 
     document.getElementsByName('frame')[0]._onload_ = handleLoad;
     document.getElementsByName('obj')[0]._onload_ = handleLoad;
@@ -37,9 +38,8 @@
 
     shouldBe("window.frames[0].location.toString()", '"' + updatedFrameURL + '"');
     shouldBe("window.frames[1].location.toString()", '"' + updatedObjectURL + '"');
-    if (window.testRunner) {
-        testRunner.notifyDone();
-    }
+
+    finishJSTest();
 }
 </script>
 

Modified: trunk/LayoutTests/fast/dom/plugin-attributes-enumeration-expected.txt (243637 => 243638)


--- trunk/LayoutTests/fast/dom/plugin-attributes-enumeration-expected.txt	2019-03-29 02:26:47 UTC (rev 243637)
+++ trunk/LayoutTests/fast/dom/plugin-attributes-enumeration-expected.txt	2019-03-29 02:34:56 UTC (rev 243638)
@@ -11,6 +11,7 @@
 codeBase
 codeType
 contentDocument
+contentWindow
 data
 declare
 form

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (243637 => 243638)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2019-03-29 02:26:47 UTC (rev 243637)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2019-03-29 02:34:56 UTC (rev 243638)
@@ -1,5 +1,18 @@
 2019-03-28  Chris Dumez  <[email protected]>
 
+        Support <object>.contentWindow
+        https://bugs.webkit.org/show_bug.cgi?id=195562
+
+        Reviewed by Sam Weinig.
+
+        Rebaseline WPT tests now that more checks are passing or failing later on.
+
+        * web-platform-tests/html/browsers/the-window-object/accessing-other-browsing-contexts/indexed-browsing-contexts-03-expected.txt:
+        * web-platform-tests/html/dom/interfaces-expected.txt:
+        * web-platform-tests/html/semantics/embedded-content/the-object-element/object-attributes-expected.txt:
+
+2019-03-28  Chris Dumez  <[email protected]>
+
         Re-sync web-platform-tests/html/browsers/the-window-object/ from upstream
         https://bugs.webkit.org/show_bug.cgi?id=196379
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/accessing-other-browsing-contexts/indexed-browsing-contexts-03-expected.txt (243637 => 243638)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/accessing-other-browsing-contexts/indexed-browsing-contexts-03-expected.txt	2019-03-29 02:26:47 UTC (rev 243637)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/accessing-other-browsing-contexts/indexed-browsing-contexts-03-expected.txt	2019-03-29 02:34:56 UTC (rev 243638)
@@ -1,3 +1,3 @@
 
-FAIL Indexed child browsing contexts assert_equals: The first child browsing context's container should be the object element. expected (undefined) undefined but got (object) object "[object Window]"
+FAIL Indexed child browsing contexts assert_equals: The first child browsing context's container should be the object element. expected null but got object "[object Window]"
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt (243637 => 243638)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt	2019-03-29 02:26:47 UTC (rev 243637)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt	2019-03-29 02:34:56 UTC (rev 243638)
@@ -1338,7 +1338,7 @@
 PASS HTMLObjectElement interface: attribute width 
 PASS HTMLObjectElement interface: attribute height 
 PASS HTMLObjectElement interface: attribute contentDocument 
-FAIL HTMLObjectElement interface: attribute contentWindow assert_true: The prototype object must have a property "contentWindow" expected true got false
+PASS HTMLObjectElement interface: attribute contentWindow 
 PASS HTMLObjectElement interface: operation getSVGDocument() 
 PASS HTMLObjectElement interface: attribute willValidate 
 PASS HTMLObjectElement interface: attribute validity 
@@ -1367,7 +1367,7 @@
 PASS HTMLObjectElement interface: document.createElement("object") must inherit property "width" with the proper type 
 PASS HTMLObjectElement interface: document.createElement("object") must inherit property "height" with the proper type 
 PASS HTMLObjectElement interface: document.createElement("object") must inherit property "contentDocument" with the proper type 
-FAIL HTMLObjectElement interface: document.createElement("object") must inherit property "contentWindow" with the proper type assert_inherits: property "contentWindow" not found in prototype chain
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "contentWindow" with the proper type 
 PASS HTMLObjectElement interface: document.createElement("object") must inherit property "getSVGDocument()" with the proper type 
 PASS HTMLObjectElement interface: document.createElement("object") must inherit property "willValidate" with the proper type 
 PASS HTMLObjectElement interface: document.createElement("object") must inherit property "validity" with the proper type 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-object-element/object-attributes-expected.txt (243637 => 243638)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-object-element/object-attributes-expected.txt	2019-03-29 02:26:47 UTC (rev 243637)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-object-element/object-attributes-expected.txt	2019-03-29 02:34:56 UTC (rev 243638)
@@ -1,5 +1,5 @@
 
-FAIL object.contentWindow undefined is not an object (evaluating 'obj1.contentWindow.name')
+FAIL object.contentWindow assert_equals: The contentWindow's name of the object element should be 'o1'. expected "o1" but got "o"
 FAIL object.width assert_equals: The width should be 100px. expected "100px" but got "auto"
 FAIL object.height assert_equals: The height should be 50px. expected "50px" but got "auto"
  

Modified: trunk/Source/WebCore/ChangeLog (243637 => 243638)


--- trunk/Source/WebCore/ChangeLog	2019-03-29 02:26:47 UTC (rev 243637)
+++ trunk/Source/WebCore/ChangeLog	2019-03-29 02:34:56 UTC (rev 243638)
@@ -1,3 +1,17 @@
+2019-03-28  Chris Dumez  <[email protected]>
+
+        Support <object>.contentWindow
+        https://bugs.webkit.org/show_bug.cgi?id=195562
+
+        Reviewed by Sam Weinig.
+
+        Support <object>.contentWindow as per:
+        - https://html.spec.whatwg.org/multipage/iframe-embed-object.html#dom-object-contentwindow
+
+        No new tests, updated / rebaselined existing tests.
+
+        * html/HTMLObjectElement.idl:
+
 2019-03-28  Myles C. Maxfield  <[email protected]>
 
         FontFace constructor throws an exception when there is a name which starts with a number

Modified: trunk/Source/WebCore/html/HTMLObjectElement.idl (243637 => 243638)


--- trunk/Source/WebCore/html/HTMLObjectElement.idl	2019-03-29 02:26:47 UTC (rev 243637)
+++ trunk/Source/WebCore/html/HTMLObjectElement.idl	2019-03-29 02:34:56 UTC (rev 243638)
@@ -46,6 +46,7 @@
     void setCustomValidity(DOMString error);
 
     [CheckSecurityForNode] readonly attribute Document contentDocument;
+    readonly attribute WindowProxy contentWindow;
 
     [CheckSecurityForNode, MayThrowException] Document getSVGDocument();
 };
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to