Title: [133220] branches/safari-536.28-branch

Diff

Modified: branches/safari-536.28-branch/LayoutTests/ChangeLog (133219 => 133220)


--- branches/safari-536.28-branch/LayoutTests/ChangeLog	2012-11-01 20:30:15 UTC (rev 133219)
+++ branches/safari-536.28-branch/LayoutTests/ChangeLog	2012-11-01 20:35:00 UTC (rev 133220)
@@ -1,5 +1,19 @@
 2012-10-31  Lucas Forschler  <lforsch...@apple.com>
 
+        Merge r123128
+
+    2012-07-19  Douglas Stockwell  <dstockw...@google.com>
+
+            Crash in WebCore::StyleResolver::collectMatchingRulesForList
+            https://bugs.webkit.org/show_bug.cgi?id=90803
+
+            Reviewed by Andreas Kling.
+
+            * fast/css/xml-stylesheet-removed-expected.txt: Added.
+            * fast/css/xml-stylesheet-removed.xhtml: Added.
+
+2012-10-31  Lucas Forschler  <lforsch...@apple.com>
+
         Merge r123062
 
     2012-07-18  Julien Chaffraix  <jchaffr...@webkit.org>
@@ -10603,3 +10617,4 @@
 .
 .
 .
+.

Copied: branches/safari-536.28-branch/LayoutTests/fast/css/xml-stylesheet-removed-expected.txt (from rev 123128, trunk/LayoutTests/fast/css/xml-stylesheet-removed-expected.txt) (0 => 133220)


--- branches/safari-536.28-branch/LayoutTests/fast/css/xml-stylesheet-removed-expected.txt	                        (rev 0)
+++ branches/safari-536.28-branch/LayoutTests/fast/css/xml-stylesheet-removed-expected.txt	2012-11-01 20:35:00 UTC (rev 133220)
@@ -0,0 +1 @@
+PASS

Copied: branches/safari-536.28-branch/LayoutTests/fast/css/xml-stylesheet-removed.xhtml (from rev 123128, trunk/LayoutTests/fast/css/xml-stylesheet-removed.xhtml) (0 => 133220)


--- branches/safari-536.28-branch/LayoutTests/fast/css/xml-stylesheet-removed.xhtml	                        (rev 0)
+++ branches/safari-536.28-branch/LayoutTests/fast/css/xml-stylesheet-removed.xhtml	2012-11-01 20:35:00 UTC (rev 133220)
@@ -0,0 +1,18 @@
+<?xml-stylesheet href="" title="style" type="text/css"?>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<div id="result">FAIL</div>
+<script type="text/_javascript_">
+if (window.testRunner) {
+    testRunner.dumpAsText();
+    testRunner.waitUntilDone();
+}
+_onload_ = function() {
+    document.documentElement.appendChild(document.styleSheets[0].ownerNode);
+    // Note: xml stylesheet is only valid when its parent is the document
+    if (document.styleSheets.length == 0)
+        document.getElementById('result').innerText = 'PASS';
+    if (window.testRunner)
+        testRunner.notifyDone();
+};
+</script>
+</html>

Modified: branches/safari-536.28-branch/Source/WebCore/ChangeLog (133219 => 133220)


--- branches/safari-536.28-branch/Source/WebCore/ChangeLog	2012-11-01 20:30:15 UTC (rev 133219)
+++ branches/safari-536.28-branch/Source/WebCore/ChangeLog	2012-11-01 20:35:00 UTC (rev 133220)
@@ -1,5 +1,28 @@
 2012-10-31  Lucas Forschler  <lforsch...@apple.com>
 
+        Merge r123128
+
+    2012-07-19  Douglas Stockwell  <dstockw...@google.com>
+
+            Crash in WebCore::StyleResolver::collectMatchingRulesForList
+            https://bugs.webkit.org/show_bug.cgi?id=90803
+
+            Reviewed by Andreas Kling.
+
+            When a ProcessingInstruction was removed from the document the owner
+            was removed, but the style resolver was not guaranteed to be updated.
+            It was then possible for an inconsistent version of the stylesheet to
+            remain visible in the DOM. Fixed by removing an invalid condition and
+            mirroring the logic from StyleElement.
+
+            Test: fast/css/xml-stylesheet-removed.xhtml
+
+            * dom/ProcessingInstruction.cpp:
+            (WebCore::ProcessingInstruction::removedFrom): Mirror the logic from
+            StyleElement -- always update the style resolver.
+
+2012-10-31  Lucas Forschler  <lforsch...@apple.com>
+
         Merge r123062
 
     2012-07-18  Julien Chaffraix  <jchaffr...@webkit.org>
@@ -205807,3 +205830,4 @@
 .
 .
 .
+.

Modified: branches/safari-536.28-branch/Source/WebCore/dom/ProcessingInstruction.cpp (133219 => 133220)


--- branches/safari-536.28-branch/Source/WebCore/dom/ProcessingInstruction.cpp	2012-11-01 20:30:15 UTC (rev 133219)
+++ branches/safari-536.28-branch/Source/WebCore/dom/ProcessingInstruction.cpp	2012-11-01 20:35:00 UTC (rev 133220)
@@ -311,7 +311,8 @@
         m_sheet = 0;
     }
 
-    if (m_cachedSheet)
+    // If we're in document teardown, then we don't need to do any notification of our sheet's removal.
+    if (document()->renderer())
         document()->styleResolverChanged(DeferRecalcStyle);
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to