Title: [234483] trunk/Source
Revision
234483
Author
achristen...@apple.com
Date
2018-08-01 15:08:51 -0700 (Wed, 01 Aug 2018)

Log Message

Move all calls to ResourceLoader::start to WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=184946

Reviewed by Andy Estes.

Source/WebCore:

This is in preparation for moving ResourceLoader::start to WebKitLegacy along with all ResourceHandle code.
I move the code that moves m_deferredRequest into m_request into WebKitLegacy, which won't change behavior for
modern WebKit because modern WebKit never calls ResourceLoader::start, the only place where m_deferredRequest
is ever set.  This won't change behavior for WebKitLegacy because the same operations happen in the same order.

* loader/LoaderStrategy.h:
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::setDefersLoading):
* loader/ResourceLoader.h:
(WebCore::ResourceLoader::setRequest):
(WebCore::ResourceLoader::deferredRequest const):
(WebCore::ResourceLoader::takeDeferredRequest):

Source/WebKit:

* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::setDefersLoading):
* WebProcess/Network/WebLoaderStrategy.h:

Source/WebKitLegacy:

* WebCoreSupport/WebResourceLoadScheduler.cpp:
(WebResourceLoadScheduler::setDefersLoading):
* WebCoreSupport/WebResourceLoadScheduler.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (234482 => 234483)


--- trunk/Source/WebCore/ChangeLog	2018-08-01 22:07:42 UTC (rev 234482)
+++ trunk/Source/WebCore/ChangeLog	2018-08-01 22:08:51 UTC (rev 234483)
@@ -1,3 +1,23 @@
+2018-08-01  Alex Christensen  <achristen...@webkit.org>
+
+        Move all calls to ResourceLoader::start to WebKitLegacy
+        https://bugs.webkit.org/show_bug.cgi?id=184946
+
+        Reviewed by Andy Estes.
+
+        This is in preparation for moving ResourceLoader::start to WebKitLegacy along with all ResourceHandle code.
+        I move the code that moves m_deferredRequest into m_request into WebKitLegacy, which won't change behavior for
+        modern WebKit because modern WebKit never calls ResourceLoader::start, the only place where m_deferredRequest
+        is ever set.  This won't change behavior for WebKitLegacy because the same operations happen in the same order.
+
+        * loader/LoaderStrategy.h:
+        * loader/ResourceLoader.cpp:
+        (WebCore::ResourceLoader::setDefersLoading):
+        * loader/ResourceLoader.h:
+        (WebCore::ResourceLoader::setRequest):
+        (WebCore::ResourceLoader::deferredRequest const):
+        (WebCore::ResourceLoader::takeDeferredRequest):
+
 2018-08-01  Nan Wang  <n_w...@apple.com>
 
         AX: AOM: Add ARIA IDL Attribute Reflection

Modified: trunk/Source/WebCore/loader/LoaderStrategy.h (234482 => 234483)


--- trunk/Source/WebCore/loader/LoaderStrategy.h	2018-08-01 22:07:42 UTC (rev 234482)
+++ trunk/Source/WebCore/loader/LoaderStrategy.h	2018-08-01 22:08:51 UTC (rev 234483)
@@ -62,7 +62,7 @@
     virtual void pageLoadCompleted(uint64_t webPageID) = 0;
 
     virtual void remove(ResourceLoader*) = 0;
-    virtual void setDefersLoading(ResourceLoader*, bool) = 0;
+    virtual void setDefersLoading(ResourceLoader&, bool) = 0;
     virtual void crossOriginRedirectReceived(ResourceLoader*, const URL& redirectURL) = 0;
 
     virtual void servePendingRequests(ResourceLoadPriority minimumPriority = ResourceLoadPriority::VeryLow) = 0;

Modified: trunk/Source/WebCore/loader/ResourceLoader.cpp (234482 => 234483)


--- trunk/Source/WebCore/loader/ResourceLoader.cpp	2018-08-01 22:07:42 UTC (rev 234482)
+++ trunk/Source/WebCore/loader/ResourceLoader.cpp	2018-08-01 22:08:51 UTC (rev 234483)
@@ -231,13 +231,8 @@
     m_defersLoading = defers;
     if (m_handle)
         m_handle->setDefersLoading(defers);
-    if (!defers && !m_deferredRequest.isNull()) {
-        m_request = m_deferredRequest;
-        m_deferredRequest = ResourceRequest();
-        start();
-    }
 
-    platformStrategies()->loaderStrategy()->setDefersLoading(this, defers);
+    platformStrategies()->loaderStrategy()->setDefersLoading(*this, defers);
 }
 
 FrameLoader* ResourceLoader::frameLoader() const

Modified: trunk/Source/WebCore/loader/ResourceLoader.h (234482 => 234483)


--- trunk/Source/WebCore/loader/ResourceLoader.h	2018-08-01 22:07:42 UTC (rev 234482)
+++ trunk/Source/WebCore/loader/ResourceLoader.h	2018-08-01 22:08:51 UTC (rev 234483)
@@ -133,6 +133,7 @@
 
 
     const ResourceRequest& request() const { return m_request; }
+    void setRequest(ResourceRequest&& request) { m_request = WTFMove(request); }
 
     void setDataBufferingPolicy(DataBufferingPolicy);
 
@@ -150,6 +151,9 @@
 
     const ResourceLoaderOptions& options() const { return m_options; }
 
+    const ResourceRequest& deferredRequest() const { return m_deferredRequest; }
+    ResourceRequest takeDeferredRequest() { return std::exchange(m_deferredRequest, { }); }
+
 protected:
     ResourceLoader(Frame&, ResourceLoaderOptions);
 

Modified: trunk/Source/WebKit/ChangeLog (234482 => 234483)


--- trunk/Source/WebKit/ChangeLog	2018-08-01 22:07:42 UTC (rev 234482)
+++ trunk/Source/WebKit/ChangeLog	2018-08-01 22:08:51 UTC (rev 234483)
@@ -1,3 +1,14 @@
+2018-08-01  Alex Christensen  <achristen...@webkit.org>
+
+        Move all calls to ResourceLoader::start to WebKitLegacy
+        https://bugs.webkit.org/show_bug.cgi?id=184946
+
+        Reviewed by Andy Estes.
+
+        * WebProcess/Network/WebLoaderStrategy.cpp:
+        (WebKit::WebLoaderStrategy::setDefersLoading):
+        * WebProcess/Network/WebLoaderStrategy.h:
+
 2018-08-01  Nan Wang  <n_w...@apple.com>
 
         AX: AOM: Add ARIA IDL Attribute Reflection

Modified: trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp (234482 => 234483)


--- trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp	2018-08-01 22:07:42 UTC (rev 234482)
+++ trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp	2018-08-01 22:08:51 UTC (rev 234483)
@@ -418,9 +418,9 @@
     loader->detachFromCoreLoader();
 }
 
-void WebLoaderStrategy::setDefersLoading(ResourceLoader* resourceLoader, bool defers)
+void WebLoaderStrategy::setDefersLoading(ResourceLoader& resourceLoader, bool defers)
 {
-    ResourceLoadIdentifier identifier = resourceLoader->identifier();
+    ResourceLoadIdentifier identifier = resourceLoader.identifier();
     WebProcess::singleton().ensureNetworkProcessConnection().connection().send(Messages::NetworkConnectionToWebProcess::SetDefersLoading(identifier, defers), 0);
 }
 

Modified: trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h (234482 => 234483)


--- trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h	2018-08-01 22:07:42 UTC (rev 234482)
+++ trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h	2018-08-01 22:08:51 UTC (rev 234483)
@@ -54,7 +54,7 @@
     void pageLoadCompleted(uint64_t webPageID) final;
 
     void remove(WebCore::ResourceLoader*) final;
-    void setDefersLoading(WebCore::ResourceLoader*, bool) final;
+    void setDefersLoading(WebCore::ResourceLoader&, bool) final;
     void crossOriginRedirectReceived(WebCore::ResourceLoader*, const WebCore::URL& redirectURL) final;
     
     void servePendingRequests(WebCore::ResourceLoadPriority minimumPriority) final;

Modified: trunk/Source/WebKitLegacy/ChangeLog (234482 => 234483)


--- trunk/Source/WebKitLegacy/ChangeLog	2018-08-01 22:07:42 UTC (rev 234482)
+++ trunk/Source/WebKitLegacy/ChangeLog	2018-08-01 22:08:51 UTC (rev 234483)
@@ -1,3 +1,14 @@
+2018-08-01  Alex Christensen  <achristen...@webkit.org>
+
+        Move all calls to ResourceLoader::start to WebKitLegacy
+        https://bugs.webkit.org/show_bug.cgi?id=184946
+
+        Reviewed by Andy Estes.
+
+        * WebCoreSupport/WebResourceLoadScheduler.cpp:
+        (WebResourceLoadScheduler::setDefersLoading):
+        * WebCoreSupport/WebResourceLoadScheduler.h:
+
 2018-06-25  Keith Rollin  <krol...@apple.com>
         Unreviewed, rolling out r233087.
 

Modified: trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.cpp (234482 => 234483)


--- trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.cpp	2018-08-01 22:07:42 UTC (rev 234482)
+++ trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.cpp	2018-08-01 22:08:51 UTC (rev 234483)
@@ -199,8 +199,12 @@
     scheduleServePendingRequests();
 }
 
-void WebResourceLoadScheduler::setDefersLoading(ResourceLoader*, bool)
+void WebResourceLoadScheduler::setDefersLoading(ResourceLoader& loader, bool defers)
 {
+    if (!defers && !loader.deferredRequest().isNull()) {
+        loader.setRequest(loader.takeDeferredRequest());
+        loader.start();
+    }
 }
 
 void WebResourceLoadScheduler::crossOriginRedirectReceived(ResourceLoader* resourceLoader, const URL& redirectURL)

Modified: trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.h (234482 => 234483)


--- trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.h	2018-08-01 22:07:42 UTC (rev 234482)
+++ trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.h	2018-08-01 22:08:51 UTC (rev 234483)
@@ -54,7 +54,7 @@
     void pageLoadCompleted(uint64_t webPageID) final;
 
     void remove(WebCore::ResourceLoader*) final;
-    void setDefersLoading(WebCore::ResourceLoader*, bool) final;
+    void setDefersLoading(WebCore::ResourceLoader&, bool) final;
     void crossOriginRedirectReceived(WebCore::ResourceLoader*, const WebCore::URL& redirectURL) final;
     
     void servePendingRequests(WebCore::ResourceLoadPriority minimumPriority = WebCore::ResourceLoadPriority::VeryLow) final;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to