- 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;