Title: [232433] trunk/Source/WebCore
Revision
232433
Author
[email protected]
Date
2018-06-01 17:21:58 -0700 (Fri, 01 Jun 2018)

Log Message

ResourceLoader::cancel() shouldn't synchronously fire load event on document
https://bugs.webkit.org/show_bug.cgi?id=185284

Revert the erroneous change to SSFontSelector::beginLoadTimerFired(), which broke CancelLoading.CancelFontSubresource.
FrameLoader::loadDone calls checkCompleted, not checkLoadComplete so we still need to call checkLoadComplete here.

* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::beginLoadTimerFired): 

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (232432 => 232433)


--- trunk/Source/WebCore/ChangeLog	2018-06-02 00:07:53 UTC (rev 232432)
+++ trunk/Source/WebCore/ChangeLog	2018-06-02 00:21:58 UTC (rev 232433)
@@ -1,3 +1,14 @@
+2018-06-01  Ryosuke Niwa  <[email protected]>
+
+        ResourceLoader::cancel() shouldn't synchronously fire load event on document
+        https://bugs.webkit.org/show_bug.cgi?id=185284
+
+        Revert the erroneous change to SSFontSelector::beginLoadTimerFired(), which broke CancelLoading.CancelFontSubresource.
+        FrameLoader::loadDone calls checkCompleted, not checkLoadComplete so we still need to call checkLoadComplete here.
+
+        * css/CSSFontSelector.cpp:
+        (WebCore::CSSFontSelector::beginLoadTimerFired): 
+
 2018-06-01  Jeremy Jones  <[email protected]>
 
         Keyboard focus should exit fullscreen.

Modified: trunk/Source/WebCore/css/CSSFontSelector.cpp (232432 => 232433)


--- trunk/Source/WebCore/css/CSSFontSelector.cpp	2018-06-02 00:07:53 UTC (rev 232432)
+++ trunk/Source/WebCore/css/CSSFontSelector.cpp	2018-06-02 00:21:58 UTC (rev 232433)
@@ -365,6 +365,10 @@
         cachedResourceLoader.decrementRequestCount(*fontHandle);
     }
     // Ensure that if the request count reaches zero, the frame loader will know about it.
+    // New font loads may be triggered by layout after the document load is complete but before we have dispatched
+    // didFinishLoading for the frame. Make sure the delegate is always dispatched by checking explicitly.
+    if (m_document && m_document->frame())
+        m_document->frame()->loader().checkLoadComplete();
     cachedResourceLoader.loadDone(LoadCompletionType::Finish);
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to