Title: [245448] releases/WebKitGTK/webkit-2.24/Source/WebCore
Revision
245448
Author
[email protected]
Date
2019-05-17 04:24:57 -0700 (Fri, 17 May 2019)

Log Message

Merge r245056 - Correct delayed load event handling
https://bugs.webkit.org/show_bug.cgi?id=197679
<rdar://problem/50423334>

Reviewed by Alex Christensen.

We need to properly account for the fact that _javascript_ might run
while performing loads.

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

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.24/Source/WebCore/ChangeLog (245447 => 245448)


--- releases/WebKitGTK/webkit-2.24/Source/WebCore/ChangeLog	2019-05-17 11:24:54 UTC (rev 245447)
+++ releases/WebKitGTK/webkit-2.24/Source/WebCore/ChangeLog	2019-05-17 11:24:57 UTC (rev 245448)
@@ -1,3 +1,17 @@
+2019-05-08  Brent Fulgham  <[email protected]>
+
+        Correct delayed load event handling
+        https://bugs.webkit.org/show_bug.cgi?id=197679
+        <rdar://problem/50423334>
+
+        Reviewed by Alex Christensen.
+
+        We need to properly account for the fact that _javascript_ might run
+        while performing loads.
+
+        * dom/Document.cpp:
+        (WebCore::Document::loadEventDelayTimerFired):
+
 2019-05-02  Chris Dumez  <[email protected]>
 
         Setting a frame's src to a _javascript_ URL should not run it synchronously

Modified: releases/WebKitGTK/webkit-2.24/Source/WebCore/dom/Document.cpp (245447 => 245448)


--- releases/WebKitGTK/webkit-2.24/Source/WebCore/dom/Document.cpp	2019-05-17 11:24:54 UTC (rev 245447)
+++ releases/WebKitGTK/webkit-2.24/Source/WebCore/dom/Document.cpp	2019-05-17 11:24:57 UTC (rev 245448)
@@ -6895,9 +6895,12 @@
     // FIXME: Should this also call DocumentLoader::checkLoadComplete?
     // FIXME: Not obvious why checkCompleted needs to go first. The order these are called is
     // visible to WebKit clients, but it's more like a race than a well-defined relationship.
+    auto weakThis = makeWeakPtr(this);
     checkCompleted();
-    if (auto* frame = this->frame())
-        frame->loader().checkLoadComplete();
+    if (weakThis) {
+        if (auto* frame = this->frame())
+            frame->loader().checkLoadComplete();
+    }
 }
 
 void Document::checkCompleted()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to