Title: [241154] branches/safari-607-branch
Revision
241154
Author
[email protected]
Date
2019-02-07 15:36:34 -0800 (Thu, 07 Feb 2019)

Log Message

Cherry-pick r240808. rdar://problem/47774548

    Revert r238819 which is unneeded and caused a performance regression.
    https://bugs.webkit.org/show_bug.cgi?id=192272
    <rdar://problem/46664625>

    Source/WebCore:

    * loader/EmptyFrameLoaderClient.h:
    * loader/FrameLoader.cpp:
    (WebCore::FrameLoader::prepareForLoadStart):
    (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
    (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
    * loader/FrameLoader.h:
    * loader/FrameLoaderClient.h:

    Source/WebKit:

    * WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
    (API::InjectedBundle::PageLoaderClient::didStartProvisionalLoadForFrame):
    * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
    * WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
    * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
    (PageLoaderClient::didStartProvisionalLoadForFrame):
    * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
    (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
    * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
    * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
    (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
    * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

    Source/WebKitLegacy/mac:

    * WebCoreSupport/WebFrameLoaderClient.h:
    * WebCoreSupport/WebFrameLoaderClient.mm:
    (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):

    Source/WebKitLegacy/win:

    * WebCoreSupport/WebFrameLoaderClient.cpp:
    (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
    * WebCoreSupport/WebFrameLoaderClient.h:

    Tools:

    * TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm:
    (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:didCommitLoadForFrame:]):
    (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:willStartProvisionalLoadForFrame:completionHandler:]): Deleted.

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

Modified Paths

Diff

Modified: branches/safari-607-branch/Source/WebCore/ChangeLog (241153 => 241154)


--- branches/safari-607-branch/Source/WebCore/ChangeLog	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebCore/ChangeLog	2019-02-07 23:36:34 UTC (rev 241154)
@@ -1,5 +1,74 @@
 2019-02-07  Alan Coon  <[email protected]>
 
+        Cherry-pick r240808. rdar://problem/47774548
+
+    Revert r238819 which is unneeded and caused a performance regression.
+    https://bugs.webkit.org/show_bug.cgi?id=192272
+    <rdar://problem/46664625>
+    
+    Source/WebCore:
+    
+    * loader/EmptyFrameLoaderClient.h:
+    * loader/FrameLoader.cpp:
+    (WebCore::FrameLoader::prepareForLoadStart):
+    (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
+    (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
+    * loader/FrameLoader.h:
+    * loader/FrameLoaderClient.h:
+    
+    Source/WebKit:
+    
+    * WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
+    (API::InjectedBundle::PageLoaderClient::didStartProvisionalLoadForFrame):
+    * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
+    * WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
+    * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
+    (PageLoaderClient::didStartProvisionalLoadForFrame):
+    * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+    (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
+    * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+    * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+    (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+    * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+    
+    Source/WebKitLegacy/mac:
+    
+    * WebCoreSupport/WebFrameLoaderClient.h:
+    * WebCoreSupport/WebFrameLoaderClient.mm:
+    (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+    
+    Source/WebKitLegacy/win:
+    
+    * WebCoreSupport/WebFrameLoaderClient.cpp:
+    (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+    * WebCoreSupport/WebFrameLoaderClient.h:
+    
+    Tools:
+    
+    * TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm:
+    (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:didCommitLoadForFrame:]):
+    (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:willStartProvisionalLoadForFrame:completionHandler:]): Deleted.
+    
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240808 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2019-01-31  Alex Christensen  <[email protected]>
+
+            Revert r238819 which is unneeded and caused a performance regression.
+            https://bugs.webkit.org/show_bug.cgi?id=192272
+            <rdar://problem/46664625>
+
+            * loader/EmptyFrameLoaderClient.h:
+            * loader/FrameLoader.cpp:
+            (WebCore::FrameLoader::prepareForLoadStart):
+            (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
+            (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
+            * loader/FrameLoader.h:
+            * loader/FrameLoaderClient.h:
+
+2019-02-07  Alan Coon  <[email protected]>
+
         Cherry-pick r239831. rdar://problem/47776468
 
     [css-grid] Let abspos items reference implicit grid lines

Modified: branches/safari-607-branch/Source/WebCore/loader/EmptyFrameLoaderClient.h (241153 => 241154)


--- branches/safari-607-branch/Source/WebCore/loader/EmptyFrameLoaderClient.h	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebCore/loader/EmptyFrameLoaderClient.h	2019-02-07 23:36:34 UTC (rev 241154)
@@ -81,7 +81,7 @@
     void dispatchDidReplaceStateWithinPage() final { }
     void dispatchDidPopStateWithinPage() final { }
     void dispatchWillClose() final { }
-    void dispatchDidStartProvisionalLoad(CompletionHandler<void()>&& completionHandler) final { completionHandler(); }
+    void dispatchDidStartProvisionalLoad() final { }
     void dispatchDidReceiveTitle(const StringWithDirection&) final { }
     void dispatchDidCommitLoad(Optional<HasInsecureContent>) final { }
     void dispatchDidFailProvisionalLoad(const ResourceError&) final { }

Modified: branches/safari-607-branch/Source/WebCore/loader/FrameLoader.cpp (241153 => 241154)


--- branches/safari-607-branch/Source/WebCore/loader/FrameLoader.cpp	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebCore/loader/FrameLoader.cpp	2019-02-07 23:36:34 UTC (rev 241154)
@@ -1216,20 +1216,19 @@
         frame->loader().m_isComplete = false;
 }
 
-void FrameLoader::prepareForLoadStart(CompletionHandler<void()>&& completionHandler)
+void FrameLoader::prepareForLoadStart()
 {
     RELEASE_LOG_IF_ALLOWED("prepareForLoadStart: Starting frame load (frame = %p, main = %d)", &m_frame, m_frame.isMainFrame());
 
     m_progressTracker->progressStarted();
-    m_client.dispatchDidStartProvisionalLoad([this, protectedFrame = makeRef(m_frame), completionHandler = WTFMove(completionHandler)] () mutable {
-        if (AXObjectCache::accessibilityEnabled()) {
-            if (AXObjectCache* cache = m_frame.document()->existingAXObjectCache()) {
-                AXObjectCache::AXLoadingEvent loadingEvent = loadType() == FrameLoadType::Reload ? AXObjectCache::AXLoadingReloaded : AXObjectCache::AXLoadingStarted;
-                cache->frameLoadingEventNotification(&m_frame, loadingEvent);
-            }
+    m_client.dispatchDidStartProvisionalLoad();
+
+    if (AXObjectCache::accessibilityEnabled()) {
+        if (AXObjectCache* cache = m_frame.document()->existingAXObjectCache()) {
+            AXObjectCache::AXLoadingEvent loadingEvent = loadType() == FrameLoadType::Reload ? AXObjectCache::AXLoadingReloaded : AXObjectCache::AXLoadingStarted;
+            cache->frameLoadingEventNotification(&m_frame, loadingEvent);
         }
-        completionHandler();
-    });
+    }
 }
 
 void FrameLoader::setupForReplace()
@@ -3432,25 +3431,24 @@
             return;
         }
         
-        prepareForLoadStart([this, protectedFrame = WTFMove(protectedFrame)] {
+        prepareForLoadStart();
 
-            // The load might be cancelled inside of prepareForLoadStart(), nulling out the m_provisionalDocumentLoader,
-            // so we need to null check it again.
-            if (!m_provisionalDocumentLoader) {
-                RELEASE_LOG_IF_ALLOWED("prepareForLoadStart completionHandler: Frame load canceled #2 (frame = %p, main = %d)", &m_frame, m_frame.isMainFrame());
-                return;
-            }
-            
-            DocumentLoader* activeDocLoader = activeDocumentLoader();
-            if (activeDocLoader && activeDocLoader->isLoadingMainResource()) {
-                RELEASE_LOG_IF_ALLOWED("prepareForLoadStart completionHandler: Main frame already being loaded (frame = %p, main = %d)", &m_frame, m_frame.isMainFrame());
-                return;
-            }
-            
-            m_loadingFromCachedPage = false;
+        // The load might be cancelled inside of prepareForLoadStart(), nulling out the m_provisionalDocumentLoader,
+        // so we need to null check it again.
+        if (!m_provisionalDocumentLoader) {
+            RELEASE_LOG_IF_ALLOWED("prepareForLoadStart completionHandler: Frame load canceled #2 (frame = %p, main = %d)", &m_frame, m_frame.isMainFrame());
+            return;
+        }
+        
+        DocumentLoader* activeDocLoader = activeDocumentLoader();
+        if (activeDocLoader && activeDocLoader->isLoadingMainResource()) {
+            RELEASE_LOG_IF_ALLOWED("prepareForLoadStart completionHandler: Main frame already being loaded (frame = %p, main = %d)", &m_frame, m_frame.isMainFrame());
+            return;
+        }
+        
+        m_loadingFromCachedPage = false;
 
-            m_provisionalDocumentLoader->startLoadingMainResource();
-        });
+        m_provisionalDocumentLoader->startLoadingMainResource();
     };
     
     if (!formState) {
@@ -3592,20 +3590,20 @@
 
 void FrameLoader::loadProvisionalItemFromCachedPage()
 {
-    prepareForLoadStart([this, protectedFrame = makeRef(m_frame)] {
-        DocumentLoader* provisionalLoader = provisionalDocumentLoader();
-        LOG(PageCache, "WebCorePageCache: Loading provisional DocumentLoader %p with URL '%s' from CachedPage", provisionalDocumentLoader(), provisionalDocumentLoader()->url().stringCenterEllipsizedToLength().utf8().data());
+    DocumentLoader* provisionalLoader = provisionalDocumentLoader();
+    LOG(PageCache, "WebCorePageCache: Loading provisional DocumentLoader %p with URL '%s' from CachedPage", provisionalDocumentLoader(), provisionalDocumentLoader()->url().stringCenterEllipsizedToLength().utf8().data());
 
-        m_loadingFromCachedPage = true;
-        
-        // Should have timing data from previous time(s) the page was shown.
-        ASSERT(provisionalLoader->timing().startTime());
-        provisionalLoader->resetTiming();
-        provisionalLoader->timing().markStartTime();
-        
-        provisionalLoader->setCommitted(true);
-        commitProvisionalLoad();
-    });
+    prepareForLoadStart();
+
+    m_loadingFromCachedPage = true;
+    
+    // Should have timing data from previous time(s) the page was shown.
+    ASSERT(provisionalLoader->timing().startTime());
+    provisionalLoader->resetTiming();
+    provisionalLoader->timing().markStartTime();
+    
+    provisionalLoader->setCommitted(true);
+    commitProvisionalLoad();
 }
 
 bool FrameLoader::shouldTreatURLAsSameAsCurrent(const URL& url) const

Modified: branches/safari-607-branch/Source/WebCore/loader/FrameLoader.h (241153 => 241154)


--- branches/safari-607-branch/Source/WebCore/loader/FrameLoader.h	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebCore/loader/FrameLoader.h	2019-02-07 23:36:34 UTC (rev 241154)
@@ -389,7 +389,7 @@
 
     void loadInSameDocument(const URL&, SerializedScriptValue* stateObject, bool isNewNavigation);
 
-    void prepareForLoadStart(CompletionHandler<void()>&&);
+    void prepareForLoadStart();
     void provisionalLoadStarted();
 
     void willTransitionToCommitted();

Modified: branches/safari-607-branch/Source/WebCore/loader/FrameLoaderClient.h (241153 => 241154)


--- branches/safari-607-branch/Source/WebCore/loader/FrameLoaderClient.h	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebCore/loader/FrameLoaderClient.h	2019-02-07 23:36:34 UTC (rev 241154)
@@ -173,7 +173,7 @@
     virtual void dispatchDidPopStateWithinPage() = 0;
     virtual void dispatchWillClose() = 0;
     virtual void dispatchDidReceiveIcon() { }
-    virtual void dispatchDidStartProvisionalLoad(CompletionHandler<void()>&&) = 0;
+    virtual void dispatchDidStartProvisionalLoad() = 0;
     virtual void dispatchDidReceiveTitle(const StringWithDirection&) = 0;
     virtual void dispatchDidCommitLoad(Optional<HasInsecureContent>) = 0;
     virtual void dispatchDidFailProvisionalLoad(const ResourceError&) = 0;

Modified: branches/safari-607-branch/Source/WebKit/ChangeLog (241153 => 241154)


--- branches/safari-607-branch/Source/WebKit/ChangeLog	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebKit/ChangeLog	2019-02-07 23:36:34 UTC (rev 241154)
@@ -1,5 +1,79 @@
 2019-02-07  Alan Coon  <[email protected]>
 
+        Cherry-pick r240808. rdar://problem/47774548
+
+    Revert r238819 which is unneeded and caused a performance regression.
+    https://bugs.webkit.org/show_bug.cgi?id=192272
+    <rdar://problem/46664625>
+    
+    Source/WebCore:
+    
+    * loader/EmptyFrameLoaderClient.h:
+    * loader/FrameLoader.cpp:
+    (WebCore::FrameLoader::prepareForLoadStart):
+    (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
+    (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
+    * loader/FrameLoader.h:
+    * loader/FrameLoaderClient.h:
+    
+    Source/WebKit:
+    
+    * WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
+    (API::InjectedBundle::PageLoaderClient::didStartProvisionalLoadForFrame):
+    * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
+    * WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
+    * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
+    (PageLoaderClient::didStartProvisionalLoadForFrame):
+    * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+    (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
+    * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+    * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+    (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+    * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+    
+    Source/WebKitLegacy/mac:
+    
+    * WebCoreSupport/WebFrameLoaderClient.h:
+    * WebCoreSupport/WebFrameLoaderClient.mm:
+    (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+    
+    Source/WebKitLegacy/win:
+    
+    * WebCoreSupport/WebFrameLoaderClient.cpp:
+    (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+    * WebCoreSupport/WebFrameLoaderClient.h:
+    
+    Tools:
+    
+    * TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm:
+    (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:didCommitLoadForFrame:]):
+    (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:willStartProvisionalLoadForFrame:completionHandler:]): Deleted.
+    
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240808 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2019-01-31  Alex Christensen  <[email protected]>
+
+            Revert r238819 which is unneeded and caused a performance regression.
+            https://bugs.webkit.org/show_bug.cgi?id=192272
+            <rdar://problem/46664625>
+
+            * WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
+            (API::InjectedBundle::PageLoaderClient::didStartProvisionalLoadForFrame):
+            * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
+            * WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
+            * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
+            (PageLoaderClient::didStartProvisionalLoadForFrame):
+            * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+            (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
+            * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+            * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+            (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+            * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2019-02-07  Alan Coon  <[email protected]>
+
         Cherry-pick r239697. rdar://problem/47776479
 
     Web Inspector: Remote inspector can crash if attempting to navigate inspector page

Modified: branches/safari-607-branch/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h (241153 => 241154)


--- branches/safari-607-branch/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h	2019-02-07 23:36:34 UTC (rev 241154)
@@ -27,7 +27,6 @@
 
 #include "SameDocumentNavigationType.h"
 #include <WebCore/LayoutMilestone.h>
-#include <wtf/CompletionHandler.h>
 #include <wtf/Forward.h>
 #include <wtf/WallTime.h>
 #include <wtf/text/WTFString.h>
@@ -58,7 +57,7 @@
     virtual void willLoadURLRequest(WebKit::WebPage&, const WebCore::ResourceRequest&, API::Object*) { }
     virtual void willLoadDataRequest(WebKit::WebPage&, const WebCore::ResourceRequest&, WebCore::SharedBuffer*, const WTF::String&, const WTF::String&, const WTF::URL&, API::Object*) { }
 
-    virtual void didStartProvisionalLoadForFrame(WebKit::WebPage&, WebKit::WebFrame&, CompletionHandler<void(RefPtr<API::Object>&&)>&& completionHandler) { completionHandler(nullptr); }
+    virtual void didStartProvisionalLoadForFrame(WebKit::WebPage&, WebKit::WebFrame&, RefPtr<API::Object>&) { }
     virtual void didReceiveServerRedirectForProvisionalLoadForFrame(WebKit::WebPage&, WebKit::WebFrame&, RefPtr<API::Object>&) { }
     virtual void didFailProvisionalLoadWithErrorForFrame(WebKit::WebPage&, WebKit::WebFrame&, const WebCore::ResourceError&, RefPtr<API::Object>&) { }
     virtual void didCommitLoadForFrame(WebKit::WebPage&, WebKit::WebFrame&, RefPtr<API::Object>&) { }

Modified: branches/safari-607-branch/Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h (241153 => 241154)


--- branches/safari-607-branch/Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h	2019-02-07 23:36:34 UTC (rev 241154)
@@ -37,7 +37,6 @@
 // Frame loading
 
 - (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController*)controller didStartProvisionalLoadForFrame:(WKWebProcessPlugInFrame *)frame;
-- (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController*)controller willStartProvisionalLoadForFrame:(WKWebProcessPlugInFrame *)frame completionHandler:(void(^)(void))completionHandler;
 - (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController*)controller didReceiveServerRedirectForProvisionalLoadForFrame:(WKWebProcessPlugInFrame *)frame;
 - (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController*)controller didCommitLoadForFrame:(WKWebProcessPlugInFrame *)frame;
 - (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController*)controller didFinishDocumentLoadForFrame:(WKWebProcessPlugInFrame *)frame;

Modified: branches/safari-607-branch/Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp (241153 => 241154)


--- branches/safari-607-branch/Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp	2019-02-07 23:36:34 UTC (rev 241154)
@@ -170,12 +170,11 @@
         return documentLoader->url().string().utf8();
     }
 
-    void didStartProvisionalLoadForFrame(WebPage&, WebFrame& frame, CompletionHandler<void(RefPtr<API::Object>&&)>&& completionHandler) override
+    void didStartProvisionalLoadForFrame(WebPage&, WebFrame& frame, RefPtr<API::Object>&) override
     {
         if (!frame.isMainFrame())
-            return completionHandler(nullptr);
+            return;
         webkitWebPageSetURI(m_webPage, getDocumentLoaderURL(frame.coreFrame()->loader().provisionalDocumentLoader()));
-        completionHandler(nullptr);
     }
 
     void didReceiveServerRedirectForProvisionalLoadForFrame(WebPage&, WebFrame& frame, RefPtr<API::Object>&) override

Modified: branches/safari-607-branch/Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm (241153 => 241154)


--- branches/safari-607-branch/Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm	2019-02-07 23:36:34 UTC (rev 241154)
@@ -97,7 +97,7 @@
         : m_controller(controller)
         , m_delegate(delegate) { }
     
-    void didStartProvisionalLoadForFrame(WebKit::WebPage&, WebKit::WebFrame&, CompletionHandler<void(RefPtr<API::Object>&&)>&&) override;
+    void didStartProvisionalLoadForFrame(WebKit::WebPage&, WebKit::WebFrame&, RefPtr<API::Object>&) override;
     void didReceiveServerRedirectForProvisionalLoadForFrame(WebKit::WebPage&, WebKit::WebFrame&, RefPtr<API::Object>&) override;
     void didFailProvisionalLoadWithErrorForFrame(WebKit::WebPage&, WebKit::WebFrame&, const WebCore::ResourceError&, RefPtr<API::Object>&) override;
     void didCommitLoadForFrame(WebKit::WebPage&, WebKit::WebFrame&, RefPtr<API::Object>&) override;
@@ -135,25 +135,10 @@
     RetainPtr<_WKRemoteObjectRegistry> _remoteObjectRegistry;
 }
 
-void PageLoaderClient::didStartProvisionalLoadForFrame(WebKit::WebPage&, WebKit::WebFrame& frame, CompletionHandler<void(RefPtr<API::Object>&&)>&& completionHandler)
+void PageLoaderClient::didStartProvisionalLoadForFrame(WebKit::WebPage&, WebKit::WebFrame& frame, RefPtr<API::Object>&)
 {
-    if ([loadDelegate() respondsToSelector:@selector(webProcessPlugInBrowserContextController:didStartProvisionalLoadForFrame:)]) {
+    if ([loadDelegate() respondsToSelector:@selector(webProcessPlugInBrowserContextController:didStartProvisionalLoadForFrame:)])
         [loadDelegate() webProcessPlugInBrowserContextController:pluginContextController() didStartProvisionalLoadForFrame:wrapper(frame)];
-        completionHandler(nullptr);
-        return;
-    }
-    SEL selector = @selector(webProcessPlugInBrowserContextController:willStartProvisionalLoadForFrame:completionHandler:);
-    if ([loadDelegate() respondsToSelector:selector]) {
-        auto checker = WebKit::CompletionHandlerCallChecker::create(loadDelegate(), selector);
-        [loadDelegate() webProcessPlugInBrowserContextController:pluginContextController() willStartProvisionalLoadForFrame:wrapper(frame) completionHandler:makeBlockPtr([completionHandler = WTFMove(completionHandler), checker = WTFMove(checker)] () mutable {
-            if (checker->completionHandlerHasBeenCalled())
-                return;
-            checker->didCallCompletionHandler();
-            completionHandler(nullptr);
-        }).get()];
-        return;
-    }
-    completionHandler(nullptr);
 }
 
 void PageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame(WebKit::WebPage&, WebKit::WebFrame& frame, RefPtr<API::Object>&)

Modified: branches/safari-607-branch/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp (241153 => 241154)


--- branches/safari-607-branch/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp	2019-02-07 23:36:34 UTC (rev 241154)
@@ -81,14 +81,14 @@
     m_client.willLoadDataRequest(toAPI(&page), toAPI(request), toAPI(data.get()), toAPI(MIMEType.impl()), toAPI(encodingName.impl()), toURLRef(unreachableURL.string().impl()), toAPI(userData), m_client.base.clientInfo);
 }
 
-void InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame(WebPage& page, WebFrame& frame, CompletionHandler<void(RefPtr<API::Object>&&)>&& completionHandler)
+void InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame(WebPage& page, WebFrame& frame, RefPtr<API::Object>& userData)
 {
     if (!m_client.didStartProvisionalLoadForFrame)
-        return completionHandler(nullptr);
+        return;
 
     WKTypeRef userDataToPass = nullptr;
     m_client.didStartProvisionalLoadForFrame(toAPI(&page), toAPI(&frame), &userDataToPass, m_client.base.clientInfo);
-    completionHandler(adoptRef(toImpl(userDataToPass)));
+    userData = adoptRef(toImpl(userDataToPass));
 }
 
 void InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame(WebPage& page, WebFrame& frame, RefPtr<API::Object>& userData)

Modified: branches/safari-607-branch/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h (241153 => 241154)


--- branches/safari-607-branch/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h	2019-02-07 23:36:34 UTC (rev 241154)
@@ -49,7 +49,7 @@
     void willLoadURLRequest(WebPage&, const WebCore::ResourceRequest&, API::Object*) override;
     void willLoadDataRequest(WebPage&, const WebCore::ResourceRequest&, WebCore::SharedBuffer*, const WTF::String&, const WTF::String&, const URL&, API::Object*) override;
 
-    void didStartProvisionalLoadForFrame(WebPage&, WebFrame&, CompletionHandler<void(RefPtr<API::Object>&&)>&&) override;
+    void didStartProvisionalLoadForFrame(WebPage&, WebFrame&, RefPtr<API::Object>&) override;
     void didReceiveServerRedirectForProvisionalLoadForFrame(WebPage&, WebFrame&, RefPtr<API::Object>&) override;
     void didFailProvisionalLoadWithErrorForFrame(WebPage&, WebFrame&, const WebCore::ResourceError&, RefPtr<API::Object>&) override;
     void didCommitLoadForFrame(WebPage&, WebFrame&, RefPtr<API::Object>&) override;

Modified: branches/safari-607-branch/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (241153 => 241154)


--- branches/safari-607-branch/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp	2019-02-07 23:36:34 UTC (rev 241154)
@@ -458,11 +458,11 @@
     notImplemented();
 }
 
-void WebFrameLoaderClient::dispatchDidStartProvisionalLoad(CompletionHandler<void()>&& completionHandler)
+void WebFrameLoaderClient::dispatchDidStartProvisionalLoad()
 {
     WebPage* webPage = m_frame->page();
     if (!webPage)
-        return completionHandler();
+        return;
 
 #if ENABLE(FULLSCREEN_API)
     Element* documentElement = m_frame->coreFrame()->document()->documentElement();
@@ -474,13 +474,16 @@
     webPage->sandboxExtensionTracker().didStartProvisionalLoad(m_frame);
 
     WebDocumentLoader& provisionalLoader = static_cast<WebDocumentLoader&>(*m_frame->coreFrame()->loader().provisionalDocumentLoader());
+    auto& url = ""
+    RefPtr<API::Object> userData;
 
     // Notify the bundle client.
-    webPage->injectedBundleLoaderClient().didStartProvisionalLoadForFrame(*webPage, *m_frame, [completionHandler = WTFMove(completionHandler), webPage = makeRef(*webPage), url = "" unreachableURL = provisionalLoader.unreachableURL(), frameID = m_frame->frameID(), navigationID = provisionalLoader.navigationID()] (RefPtr<API::Object>&& userData) mutable {
-        // Notify the UIProcess.
-        webPage->send(Messages::WebPageProxy::DidStartProvisionalLoadForFrame(frameID, navigationID, url, unreachableURL, UserData(WebProcess::singleton().transformObjectsToHandles(userData.get()).get())));
-        completionHandler();
-    });
+    webPage->injectedBundleLoaderClient().didStartProvisionalLoadForFrame(*webPage, *m_frame, userData);
+
+    auto& unreachableURL = provisionalLoader.unreachableURL();
+
+    // Notify the UIProcess.
+    webPage->send(Messages::WebPageProxy::DidStartProvisionalLoadForFrame(m_frame->frameID(), provisionalLoader.navigationID(), url, unreachableURL, UserData(WebProcess::singleton().transformObjectsToHandles(userData.get()).get())));
 }
 
 static constexpr unsigned maxTitleLength = 1000; // Closest power of 10 above the W3C recommendation for Title length.

Modified: branches/safari-607-branch/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h (241153 => 241154)


--- branches/safari-607-branch/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h	2019-02-07 23:36:34 UTC (rev 241154)
@@ -109,7 +109,7 @@
     void dispatchDidReplaceStateWithinPage() final;
     void dispatchDidPopStateWithinPage() final;
     void dispatchWillClose() final;
-    void dispatchDidStartProvisionalLoad(CompletionHandler<void()>&&) final;
+    void dispatchDidStartProvisionalLoad() final;
     void dispatchDidReceiveTitle(const WebCore::StringWithDirection&) final;
     void dispatchDidCommitLoad(Optional<WebCore::HasInsecureContent>) final;
     void dispatchDidFailProvisionalLoad(const WebCore::ResourceError&) final;

Modified: branches/safari-607-branch/Source/WebKitLegacy/mac/ChangeLog (241153 => 241154)


--- branches/safari-607-branch/Source/WebKitLegacy/mac/ChangeLog	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebKitLegacy/mac/ChangeLog	2019-02-07 23:36:34 UTC (rev 241154)
@@ -1,3 +1,68 @@
+2019-02-07  Alan Coon  <[email protected]>
+
+        Cherry-pick r240808. rdar://problem/47774548
+
+    Revert r238819 which is unneeded and caused a performance regression.
+    https://bugs.webkit.org/show_bug.cgi?id=192272
+    <rdar://problem/46664625>
+    
+    Source/WebCore:
+    
+    * loader/EmptyFrameLoaderClient.h:
+    * loader/FrameLoader.cpp:
+    (WebCore::FrameLoader::prepareForLoadStart):
+    (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
+    (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
+    * loader/FrameLoader.h:
+    * loader/FrameLoaderClient.h:
+    
+    Source/WebKit:
+    
+    * WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
+    (API::InjectedBundle::PageLoaderClient::didStartProvisionalLoadForFrame):
+    * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
+    * WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
+    * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
+    (PageLoaderClient::didStartProvisionalLoadForFrame):
+    * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+    (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
+    * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+    * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+    (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+    * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+    
+    Source/WebKitLegacy/mac:
+    
+    * WebCoreSupport/WebFrameLoaderClient.h:
+    * WebCoreSupport/WebFrameLoaderClient.mm:
+    (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+    
+    Source/WebKitLegacy/win:
+    
+    * WebCoreSupport/WebFrameLoaderClient.cpp:
+    (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+    * WebCoreSupport/WebFrameLoaderClient.h:
+    
+    Tools:
+    
+    * TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm:
+    (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:didCommitLoadForFrame:]):
+    (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:willStartProvisionalLoadForFrame:completionHandler:]): Deleted.
+    
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240808 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2019-01-31  Alex Christensen  <[email protected]>
+
+            Revert r238819 which is unneeded and caused a performance regression.
+            https://bugs.webkit.org/show_bug.cgi?id=192272
+            <rdar://problem/46664625>
+
+            * WebCoreSupport/WebFrameLoaderClient.h:
+            * WebCoreSupport/WebFrameLoaderClient.mm:
+            (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+
 2019-02-06  Alan Coon  <[email protected]>
 
         Apply patch. rdar://problem/47822019

Modified: branches/safari-607-branch/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h (241153 => 241154)


--- branches/safari-607-branch/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h	2019-02-07 23:36:34 UTC (rev 241154)
@@ -114,7 +114,7 @@
     void dispatchDidPopStateWithinPage() final;
     
     void dispatchWillClose() final;
-    void dispatchDidStartProvisionalLoad(CompletionHandler<void()>&&) final;
+    void dispatchDidStartProvisionalLoad() final;
     void dispatchDidReceiveTitle(const WebCore::StringWithDirection&) final;
     void dispatchDidCommitLoad(Optional<WebCore::HasInsecureContent>) final;
     void dispatchDidFailProvisionalLoad(const WebCore::ResourceError&) final;

Modified: branches/safari-607-branch/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm (241153 => 241154)


--- branches/safari-607-branch/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm	2019-02-07 23:36:34 UTC (rev 241154)
@@ -667,7 +667,7 @@
 #endif
 }
 
-void WebFrameLoaderClient::dispatchDidStartProvisionalLoad(CompletionHandler<void()>&& completionHandler)
+void WebFrameLoaderClient::dispatchDidStartProvisionalLoad()
 {
     ASSERT(!m_webFrame->_private->provisionalURL);
     m_webFrame->_private->provisionalURL = core(m_webFrame.get())->loader().provisionalDocumentLoader()->url().string();
@@ -684,7 +684,6 @@
     WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
     if (implementations->didStartProvisionalLoadForFrameFunc)
         CallFrameLoadDelegate(implementations->didStartProvisionalLoadForFrameFunc, webView, @selector(webView:didStartProvisionalLoadForFrame:), m_webFrame.get());
-    completionHandler();
 }
 
 static constexpr unsigned maxTitleLength = 1000; // Closest power of 10 above the W3C recommendation for Title length.

Modified: branches/safari-607-branch/Source/WebKitLegacy/win/ChangeLog (241153 => 241154)


--- branches/safari-607-branch/Source/WebKitLegacy/win/ChangeLog	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebKitLegacy/win/ChangeLog	2019-02-07 23:36:34 UTC (rev 241154)
@@ -1,3 +1,68 @@
+2019-02-07  Alan Coon  <[email protected]>
+
+        Cherry-pick r240808. rdar://problem/47774548
+
+    Revert r238819 which is unneeded and caused a performance regression.
+    https://bugs.webkit.org/show_bug.cgi?id=192272
+    <rdar://problem/46664625>
+    
+    Source/WebCore:
+    
+    * loader/EmptyFrameLoaderClient.h:
+    * loader/FrameLoader.cpp:
+    (WebCore::FrameLoader::prepareForLoadStart):
+    (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
+    (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
+    * loader/FrameLoader.h:
+    * loader/FrameLoaderClient.h:
+    
+    Source/WebKit:
+    
+    * WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
+    (API::InjectedBundle::PageLoaderClient::didStartProvisionalLoadForFrame):
+    * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
+    * WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
+    * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
+    (PageLoaderClient::didStartProvisionalLoadForFrame):
+    * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+    (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
+    * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+    * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+    (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+    * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+    
+    Source/WebKitLegacy/mac:
+    
+    * WebCoreSupport/WebFrameLoaderClient.h:
+    * WebCoreSupport/WebFrameLoaderClient.mm:
+    (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+    
+    Source/WebKitLegacy/win:
+    
+    * WebCoreSupport/WebFrameLoaderClient.cpp:
+    (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+    * WebCoreSupport/WebFrameLoaderClient.h:
+    
+    Tools:
+    
+    * TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm:
+    (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:didCommitLoadForFrame:]):
+    (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:willStartProvisionalLoadForFrame:completionHandler:]): Deleted.
+    
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240808 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2019-01-31  Alex Christensen  <[email protected]>
+
+            Revert r238819 which is unneeded and caused a performance regression.
+            https://bugs.webkit.org/show_bug.cgi?id=192272
+            <rdar://problem/46664625>
+
+            * WebCoreSupport/WebFrameLoaderClient.cpp:
+            (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+            * WebCoreSupport/WebFrameLoaderClient.h:
+
 2019-02-06  Alan Coon  <[email protected]>
 
         Apply patch. rdar://problem/47822019

Modified: branches/safari-607-branch/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp (241153 => 241154)


--- branches/safari-607-branch/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp	2019-02-07 23:36:34 UTC (rev 241154)
@@ -420,13 +420,12 @@
         frameLoadDelegate->willCloseFrame(webView, m_webFrame);
 }
 
-void WebFrameLoaderClient::dispatchDidStartProvisionalLoad(CompletionHandler<void()>&& completionHandler)
+void WebFrameLoaderClient::dispatchDidStartProvisionalLoad()
 {
     WebView* webView = m_webFrame->webView();
     COMPtr<IWebFrameLoadDelegate> frameLoadDelegate;
     if (SUCCEEDED(webView->frameLoadDelegate(&frameLoadDelegate)))
         frameLoadDelegate->didStartProvisionalLoadForFrame(webView, m_webFrame);
-    completionHandler();
 }
 
 void WebFrameLoaderClient::dispatchDidReceiveTitle(const StringWithDirection& title)

Modified: branches/safari-607-branch/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.h (241153 => 241154)


--- branches/safari-607-branch/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.h	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.h	2019-02-07 23:36:34 UTC (rev 241154)
@@ -91,7 +91,7 @@
     void dispatchDidReplaceStateWithinPage() override;
     void dispatchDidPopStateWithinPage() override;
     void dispatchWillClose() override;
-    void dispatchDidStartProvisionalLoad(CompletionHandler<void()>&&) override;
+    void dispatchDidStartProvisionalLoad() override;
     void dispatchDidReceiveTitle(const WebCore::StringWithDirection&) override;
     void dispatchDidCommitLoad(Optional<WebCore::HasInsecureContent>) override;
     void dispatchDidFailProvisionalLoad(const WebCore::ResourceError&) override;

Modified: branches/safari-607-branch/Tools/ChangeLog (241153 => 241154)


--- branches/safari-607-branch/Tools/ChangeLog	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Tools/ChangeLog	2019-02-07 23:36:34 UTC (rev 241154)
@@ -1,3 +1,68 @@
+2019-02-07  Alan Coon  <[email protected]>
+
+        Cherry-pick r240808. rdar://problem/47774548
+
+    Revert r238819 which is unneeded and caused a performance regression.
+    https://bugs.webkit.org/show_bug.cgi?id=192272
+    <rdar://problem/46664625>
+    
+    Source/WebCore:
+    
+    * loader/EmptyFrameLoaderClient.h:
+    * loader/FrameLoader.cpp:
+    (WebCore::FrameLoader::prepareForLoadStart):
+    (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
+    (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
+    * loader/FrameLoader.h:
+    * loader/FrameLoaderClient.h:
+    
+    Source/WebKit:
+    
+    * WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
+    (API::InjectedBundle::PageLoaderClient::didStartProvisionalLoadForFrame):
+    * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
+    * WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
+    * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
+    (PageLoaderClient::didStartProvisionalLoadForFrame):
+    * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+    (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
+    * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+    * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+    (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+    * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+    
+    Source/WebKitLegacy/mac:
+    
+    * WebCoreSupport/WebFrameLoaderClient.h:
+    * WebCoreSupport/WebFrameLoaderClient.mm:
+    (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+    
+    Source/WebKitLegacy/win:
+    
+    * WebCoreSupport/WebFrameLoaderClient.cpp:
+    (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+    * WebCoreSupport/WebFrameLoaderClient.h:
+    
+    Tools:
+    
+    * TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm:
+    (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:didCommitLoadForFrame:]):
+    (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:willStartProvisionalLoadForFrame:completionHandler:]): Deleted.
+    
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240808 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2019-01-31  Alex Christensen  <[email protected]>
+
+            Revert r238819 which is unneeded and caused a performance regression.
+            https://bugs.webkit.org/show_bug.cgi?id=192272
+            <rdar://problem/46664625>
+
+            * TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm:
+            (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:didCommitLoadForFrame:]):
+            (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:willStartProvisionalLoadForFrame:completionHandler:]): Deleted.
+
 2019-02-05  Alan Coon  <[email protected]>
 
         Cherry-pick r240928. rdar://problem/47810458

Modified: branches/safari-607-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm (241153 => 241154)


--- branches/safari-607-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm	2019-02-07 23:36:25 UTC (rev 241153)
+++ branches/safari-607-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm	2019-02-07 23:36:34 UTC (rev 241154)
@@ -37,8 +37,6 @@
 #import <WebKit/_WKRemoteObjectRegistry.h>
 #import <wtf/RetainPtr.h>
 
-static bool willStartProvisionalLoadForFrameCalled = false;
-
 @interface ParserYieldTokenPlugIn : NSObject <WKWebProcessPlugIn, WKWebProcessPlugInLoadDelegate, ParserYieldTokenTestBundle>
 @end
 
@@ -66,16 +64,8 @@
         --_numberOfTokensToTakeAfterComittingLoad;
 }
 
-- (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController*)controller willStartProvisionalLoadForFrame:(WKWebProcessPlugInFrame *)frame completionHandler:(void(^)(void))completionHandler
-{
-    willStartProvisionalLoadForFrameCalled = true;
-    completionHandler();
-}
-
 - (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController *)controller didCommitLoadForFrame:(WKWebProcessPlugInFrame *)frame
 {
-    ASSERT(willStartProvisionalLoadForFrameCalled);
-
     _loadCommitted = YES;
     while (_numberOfTokensToTakeAfterComittingLoad) {
         [self takeDocumentParserTokenAfterCommittingLoad];
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to