Title: [246381] branches/safari-607-branch/Source/WebCore
Revision
246381
Author
[email protected]
Date
2019-06-12 15:20:58 -0700 (Wed, 12 Jun 2019)

Log Message

Cherry-pick r246182. rdar://problem/51656840

    Avoid generating new XSLT-based document when already changing the document.
    https://bugs.webkit.org/show_bug.cgi?id=198525
    <rdar://problem/51393787>

    Reviewed by Ryosuke Niwa.

    We should not allow a pending XSLT transform to change the current document when
    that current document is int he process of being replaced.

    * dom/Document.cpp:
    (WebCore::Document::applyPendingXSLTransformsTimerFired):

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

Modified Paths

Diff

Modified: branches/safari-607-branch/Source/WebCore/ChangeLog (246380 => 246381)


--- branches/safari-607-branch/Source/WebCore/ChangeLog	2019-06-12 22:20:56 UTC (rev 246380)
+++ branches/safari-607-branch/Source/WebCore/ChangeLog	2019-06-12 22:20:58 UTC (rev 246381)
@@ -1,3 +1,35 @@
+2019-06-12  Null  <[email protected]>
+
+        Cherry-pick r246182. rdar://problem/51656840
+
+    Avoid generating new XSLT-based document when already changing the document.
+    https://bugs.webkit.org/show_bug.cgi?id=198525
+    <rdar://problem/51393787>
+    
+    Reviewed by Ryosuke Niwa.
+    
+    We should not allow a pending XSLT transform to change the current document when
+    that current document is int he process of being replaced.
+    
+    * dom/Document.cpp:
+    (WebCore::Document::applyPendingXSLTransformsTimerFired):
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2019-06-06  Brent Fulgham  <[email protected]>
+
+            Avoid generating new XSLT-based document when already changing the document.
+            https://bugs.webkit.org/show_bug.cgi?id=198525
+            <rdar://problem/51393787>
+
+            Reviewed by Ryosuke Niwa.
+
+            We should not allow a pending XSLT transform to change the current document when
+            that current document is int he process of being replaced.
+
+            * dom/Document.cpp:
+            (WebCore::Document::applyPendingXSLTransformsTimerFired):
+
 2019-06-03  Alan Coon  <[email protected]>
 
         Revert r246001. rdar://problem/50871594

Modified: branches/safari-607-branch/Source/WebCore/dom/Document.cpp (246380 => 246381)


--- branches/safari-607-branch/Source/WebCore/dom/Document.cpp	2019-06-12 22:20:56 UTC (rev 246380)
+++ branches/safari-607-branch/Source/WebCore/dom/Document.cpp	2019-06-12 22:20:58 UTC (rev 246381)
@@ -5516,6 +5516,11 @@
         if (transformSourceDocument() || !processingInstruction->sheet())
             return;
 
+        // If the Document has already been detached from the frame, or the frame is currently in the process of
+        // changing to a new document, don't attempt to create a new Document from the XSLT.
+        if (!frame() || frame()->documentIsBeingReplaced())
+            return;
+
         auto processor = XSLTProcessor::create();
         processor->setXSLStyleSheet(downcast<XSLStyleSheet>(processingInstruction->sheet()));
         String resultMIMEType;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to