Title: [212084] branches/safari-603-branch

Diff

Modified: branches/safari-603-branch/LayoutTests/ChangeLog (212083 => 212084)


--- branches/safari-603-branch/LayoutTests/ChangeLog	2017-02-10 08:12:42 UTC (rev 212083)
+++ branches/safari-603-branch/LayoutTests/ChangeLog	2017-02-10 08:15:43 UTC (rev 212084)
@@ -1,5 +1,21 @@
 2017-02-09  Matthew Hanson  <matthew_han...@apple.com>
 
+        Merge r211999. rdar://problem/29930443
+
+    2017-02-09  Brent Fulgham  <bfulg...@apple.com>
+
+            Disconnect shadow children of root when detaching a frame
+            https://bugs.webkit.org/show_bug.cgi?id=166851
+            <rdar://problem/29930443>
+
+            Reviewed by Andy Estes.
+
+            * fast/shadow-dom/resources/start.html: Added.
+            * fast/shadow-dom/shadow-at-root-during-disconnect-expected.txt: Added.
+            * fast/shadow-dom/shadow-at-root-during-disconnect.html: Added.
+
+2017-02-09  Matthew Hanson  <matthew_han...@apple.com>
+
         Merge r211965. rdar://problem/30149422
 
     2017-02-09  Ryosuke Niwa  <rn...@webkit.org>

Added: branches/safari-603-branch/LayoutTests/fast/shadow-dom/resources/start.html (0 => 212084)


--- branches/safari-603-branch/LayoutTests/fast/shadow-dom/resources/start.html	                        (rev 0)
+++ branches/safari-603-branch/LayoutTests/fast/shadow-dom/resources/start.html	2017-02-10 08:15:43 UTC (rev 212084)
@@ -0,0 +1,2 @@
+STARTING TEST
+

Added: branches/safari-603-branch/LayoutTests/fast/shadow-dom/shadow-at-root-during-disconnect-expected.txt (0 => 212084)


--- branches/safari-603-branch/LayoutTests/fast/shadow-dom/shadow-at-root-during-disconnect-expected.txt	                        (rev 0)
+++ branches/safari-603-branch/LayoutTests/fast/shadow-dom/shadow-at-root-during-disconnect-expected.txt	2017-02-10 08:15:43 UTC (rev 212084)
@@ -0,0 +1,12 @@
+ALERT: false
+ALERT: true
+Tests proper tear-down of shadow content.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS Passes if the second alert is 'true'.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: branches/safari-603-branch/LayoutTests/fast/shadow-dom/shadow-at-root-during-disconnect.html (0 => 212084)


--- branches/safari-603-branch/LayoutTests/fast/shadow-dom/shadow-at-root-during-disconnect.html	                        (rev 0)
+++ branches/safari-603-branch/LayoutTests/fast/shadow-dom/shadow-at-root-during-disconnect.html	2017-02-10 08:15:43 UTC (rev 212084)
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+<script>
+description("Tests proper tear-down of shadow content.");
+
+window.jsTestIsAsync = true;
+
+var target;
+var shadow;
+var childFrame;
+
+function runTest() {
+    target = document.body.appendChild(document.createElement("div"));
+    shadow = target.attachShadow({mode: "open"});
+
+    childFrame = shadow.appendChild(document.createElement("iframe"));
+
+    childFrame._onload_ = () => {
+        childFrame._onload_ = null;
+
+        childFrame.src = ""
+
+        var xml = `
+<svg xmlns="http://www.w3.org/2000/svg">
+<script>
+document.documentElement.appendChild(parent.target);
+</sc` + `ript>
+<text x="10" y="20">PASS</text>
+<script>
+parent.pass();
+</sc` + `ript>
+</svg>`;
+
+        var innerFrame = document.body.appendChild(document.createElement("iframe"));
+        innerFrame.src = "" Blob([xml], {type: "text/xml"}));
+    };
+
+    childFrame.src = ""
+}
+
+function pass() {
+    testPassed("Passes if the second alert is 'true'.");
+    finishJSTest();
+}
+</script>
+</head>
+<body _onload_="runTest()">
+</body>
+</html>
\ No newline at end of file

Modified: branches/safari-603-branch/Source/WebCore/ChangeLog (212083 => 212084)


--- branches/safari-603-branch/Source/WebCore/ChangeLog	2017-02-10 08:12:42 UTC (rev 212083)
+++ branches/safari-603-branch/Source/WebCore/ChangeLog	2017-02-10 08:15:43 UTC (rev 212084)
@@ -1,5 +1,25 @@
 2017-02-09  Matthew Hanson  <matthew_han...@apple.com>
 
+        Merge r211999. rdar://problem/29930443
+
+    2017-02-09  Brent Fulgham  <bfulg...@apple.com>
+
+            Disconnect shadow children of root when detaching a frame
+            https://bugs.webkit.org/show_bug.cgi?id=166851
+            <rdar://problem/29930443>
+
+            Reviewed by Andy Estes.
+
+            If the root of the tree we are disconnecting has a shadow element, include it in the set of
+            things to disconnect.
+
+            Tests: fast/shadow-dom/shadow-at-root-during-disconnect.html
+
+            * dom/ContainerNodeAlgorithms.cpp:
+            (WebCore::disconnectSubframes):
+
+2017-02-09  Matthew Hanson  <matthew_han...@apple.com>
+
         Merge r211966. rdar://problem/30149422
 
     2017-02-09  Brent Fulgham  <bfulg...@apple.com>

Modified: branches/safari-603-branch/Source/WebCore/dom/ContainerNodeAlgorithms.cpp (212083 => 212084)


--- branches/safari-603-branch/Source/WebCore/dom/ContainerNodeAlgorithms.cpp	2017-02-10 08:12:42 UTC (rev 212083)
+++ branches/safari-603-branch/Source/WebCore/dom/ContainerNodeAlgorithms.cpp	2017-02-10 08:15:43 UTC (rev 212084)
@@ -293,6 +293,9 @@
 
     collectFrameOwners(frameOwners, root);
 
+    if (auto* shadowRoot = root.shadowRoot())
+        collectFrameOwners(frameOwners, *shadowRoot);
+
     // Must disable frame loading in the subtree so an unload handler cannot
     // insert more frames and create loaded frames in detached subtrees.
     SubframeLoadingDisabler disabler(root);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to