Title: [241317] trunk
Revision
241317
Author
achristen...@apple.com
Date
2019-02-12 13:49:39 -0800 (Tue, 12 Feb 2019)

Log Message

Remove setDefersLoading infrastructure from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=194506

Reviewed by Brady Eidson.

Source/WebCore:

setDefersLoading is inherently racy from WebCore to the NetworkProcess,
it adds unwanted complexity to the initialization and use of network objects,
and it has led to many unrecoverable hang bugs over the years.
We needed to force it into WebKit2 to transition some existing clients who relied on it,
but we have recently finished transitioning those clients to other solutions, mostly
completion handlers.

* inspector/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::setJavaScriptPaused):

Source/WebKit:

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::setDefersLoading): Deleted.
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkDataTask.h:
* NetworkProcess/NetworkDataTaskBlob.cpp:
(WebKit::NetworkDataTaskBlob::suspend): Deleted.
* NetworkProcess/NetworkDataTaskBlob.h:
* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::initialize):
(WebKit::NetworkLoad::setDefersLoading): Deleted.
* NetworkProcess/NetworkLoad.h:
* NetworkProcess/NetworkLoadParameters.h:
* NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::startNetworkLoad):
(WebKit::NetworkResourceLoader::setDefersLoading): Deleted.
* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::suspend): Deleted.
* NetworkProcess/curl/NetworkDataTaskCurl.cpp:
(WebKit::NetworkDataTaskCurl::suspend): Deleted.
* NetworkProcess/curl/NetworkDataTaskCurl.h:
* NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::suspend): Deleted.
* NetworkProcess/soup/NetworkDataTaskSoup.h:
* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
(WebKit::WebLoaderStrategy::setDefersLoading):

Tools:

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setDefersLoading): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:

LayoutTests:

* platform/wk2/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (241316 => 241317)


--- trunk/LayoutTests/ChangeLog	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/LayoutTests/ChangeLog	2019-02-12 21:49:39 UTC (rev 241317)
@@ -1,3 +1,12 @@
+2019-02-12  Alex Christensen  <achristen...@webkit.org>
+
+        Remove setDefersLoading infrastructure from WebKit2
+        https://bugs.webkit.org/show_bug.cgi?id=194506
+
+        Reviewed by Brady Eidson.
+
+        * platform/wk2/TestExpectations:
+
 2019-02-12  Justin Fan  <justin_...@apple.com>
 
         [Web GPU] DepthStencilAttachment implementation

Modified: trunk/LayoutTests/platform/wk2/TestExpectations (241316 => 241317)


--- trunk/LayoutTests/platform/wk2/TestExpectations	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/LayoutTests/platform/wk2/TestExpectations	2019-02-12 21:49:39 UTC (rev 241317)
@@ -536,7 +536,9 @@
 platform/mac/fast/AppleScript/date.html
 
 # setDefersLoading is not supported in WK2.
-loader/load-defer.html [ WontFix ]
+loader/load-defer.html [ Skip ]
+loader/load-defer-resume-crash.html [ Skip ]
+loader/navigation-while-deferring-loads.html [ Skip ]
 
 # WebKitTestRunner doesn't have objCController
 platform/mac/fast/dom/objc-wrapper-identity.html

Modified: trunk/Source/WebCore/ChangeLog (241316 => 241317)


--- trunk/Source/WebCore/ChangeLog	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebCore/ChangeLog	2019-02-12 21:49:39 UTC (rev 241317)
@@ -1,3 +1,20 @@
+2019-02-12  Alex Christensen  <achristen...@webkit.org>
+
+        Remove setDefersLoading infrastructure from WebKit2
+        https://bugs.webkit.org/show_bug.cgi?id=194506
+
+        Reviewed by Brady Eidson.
+
+        setDefersLoading is inherently racy from WebCore to the NetworkProcess,
+        it adds unwanted complexity to the initialization and use of network objects,
+        and it has led to many unrecoverable hang bugs over the years.
+        We needed to force it into WebKit2 to transition some existing clients who relied on it,
+        but we have recently finished transitioning those clients to other solutions, mostly
+        completion handlers.
+
+        * inspector/PageScriptDebugServer.cpp:
+        (WebCore::PageScriptDebugServer::setJavaScriptPaused):
+
 2019-02-12  Michael Catanzaro  <mcatanz...@igalia.com>
 
         Unreviewed, fix build warnings after content extensions enablement

Modified: trunk/Source/WebCore/inspector/PageScriptDebugServer.cpp (241316 => 241317)


--- trunk/Source/WebCore/inspector/PageScriptDebugServer.cpp	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebCore/inspector/PageScriptDebugServer.cpp	2019-02-12 21:49:39 UTC (rev 241317)
@@ -138,8 +138,6 @@
     setMainThreadCallbacksPaused(paused);
 
     for (auto& page : pageGroup.pages()) {
-        page->setDefersLoading(paused);
-
         for (Frame* frame = &page->mainFrame(); frame; frame = frame->tree().traverseNext())
             setJavaScriptPaused(*frame, paused);
 

Modified: trunk/Source/WebKit/ChangeLog (241316 => 241317)


--- trunk/Source/WebKit/ChangeLog	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/ChangeLog	2019-02-12 21:49:39 UTC (rev 241317)
@@ -1,3 +1,44 @@
+2019-02-12  Alex Christensen  <achristen...@webkit.org>
+
+        Remove setDefersLoading infrastructure from WebKit2
+        https://bugs.webkit.org/show_bug.cgi?id=194506
+
+        Reviewed by Brady Eidson.
+
+        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+        (WebKit::NetworkConnectionToWebProcess::setDefersLoading): Deleted.
+        * NetworkProcess/NetworkConnectionToWebProcess.h:
+        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
+        * NetworkProcess/NetworkDataTask.h:
+        * NetworkProcess/NetworkDataTaskBlob.cpp:
+        (WebKit::NetworkDataTaskBlob::suspend): Deleted.
+        * NetworkProcess/NetworkDataTaskBlob.h:
+        * NetworkProcess/NetworkLoad.cpp:
+        (WebKit::NetworkLoad::initialize):
+        (WebKit::NetworkLoad::setDefersLoading): Deleted.
+        * NetworkProcess/NetworkLoad.h:
+        * NetworkProcess/NetworkLoadParameters.h:
+        * NetworkProcess/NetworkResourceLoadParameters.cpp:
+        (WebKit::NetworkResourceLoadParameters::encode const):
+        (WebKit::NetworkResourceLoadParameters::decode):
+        * NetworkProcess/NetworkResourceLoader.cpp:
+        (WebKit::NetworkResourceLoader::start):
+        (WebKit::NetworkResourceLoader::startNetworkLoad):
+        (WebKit::NetworkResourceLoader::setDefersLoading): Deleted.
+        * NetworkProcess/NetworkResourceLoader.h:
+        * NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
+        * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
+        (WebKit::NetworkDataTaskCocoa::suspend): Deleted.
+        * NetworkProcess/curl/NetworkDataTaskCurl.cpp:
+        (WebKit::NetworkDataTaskCurl::suspend): Deleted.
+        * NetworkProcess/curl/NetworkDataTaskCurl.h:
+        * NetworkProcess/soup/NetworkDataTaskSoup.cpp:
+        (WebKit::NetworkDataTaskSoup::suspend): Deleted.
+        * NetworkProcess/soup/NetworkDataTaskSoup.h:
+        * WebProcess/Network/WebLoaderStrategy.cpp:
+        (WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
+        (WebKit::WebLoaderStrategy::setDefersLoading):
+
 2019-02-12  Michael Catanzaro  <mcatanz...@igalia.com>
 
         Unreviewed, fix build warnings after content extensions enablement

Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp (241316 => 241317)


--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp	2019-02-12 21:49:39 UTC (rev 241317)
@@ -386,18 +386,6 @@
     stopAllNetworkActivityTrackingForPage(webPageID);
 }
 
-void NetworkConnectionToWebProcess::setDefersLoading(ResourceLoadIdentifier identifier, bool defers)
-{
-    RELEASE_ASSERT(identifier);
-    RELEASE_ASSERT(RunLoop::isMain());
-
-    RefPtr<NetworkResourceLoader> loader = m_networkResourceLoaders.get(identifier);
-    if (!loader)
-        return;
-
-    loader->setDefersLoading(defers);
-}
-
 void NetworkConnectionToWebProcess::prefetchDNS(const String& hostname)
 {
     m_networkProcess->prefetchDNS(hostname);

Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h (241316 => 241317)


--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h	2019-02-12 21:49:39 UTC (rev 241317)
@@ -149,7 +149,6 @@
 
     void removeLoadIdentifier(ResourceLoadIdentifier);
     void pageLoadCompleted(uint64_t webPageID);
-    void setDefersLoading(ResourceLoadIdentifier, bool);
     void crossOriginRedirectReceived(ResourceLoadIdentifier, const URL& redirectURL);
     void startDownload(PAL::SessionID, DownloadID, const WebCore::ResourceRequest&, const String& suggestedName = { });
     void convertMainResourceLoadToDownload(PAL::SessionID, uint64_t mainResourceLoadIdentifier, DownloadID, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&);

Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in (241316 => 241317)


--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in	2019-02-12 21:49:39 UTC (rev 241317)
@@ -27,7 +27,6 @@
     LoadPing(WebKit::NetworkResourceLoadParameters resourceLoadParameters)
     RemoveLoadIdentifier(uint64_t resourceLoadIdentifier)
     PageLoadCompleted(uint64_t webPageID)
-    SetDefersLoading(uint64_t resourceLoadIdentifier, bool defers)
     PrefetchDNS(String hostname)
     PreconnectTo(uint64_t preconnectionIdentifier, WebKit::NetworkResourceLoadParameters loadParameters);
 

Modified: trunk/Source/WebKit/NetworkProcess/NetworkDataTask.h (241316 => 241317)


--- trunk/Source/WebKit/NetworkProcess/NetworkDataTask.h	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/NetworkProcess/NetworkDataTask.h	2019-02-12 21:49:39 UTC (rev 241317)
@@ -83,7 +83,6 @@
 
     virtual ~NetworkDataTask();
 
-    virtual void suspend() = 0;
     virtual void cancel() = 0;
     virtual void resume() = 0;
     virtual void invalidateAndCancel() = 0;

Modified: trunk/Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp (241316 => 241317)


--- trunk/Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp	2019-02-12 21:49:39 UTC (rev 241317)
@@ -144,11 +144,6 @@
     });
 }
 
-void NetworkDataTaskBlob::suspend()
-{
-    // FIXME: can this happen?
-}
-
 void NetworkDataTaskBlob::cancel()
 {
     if (m_state == State::Canceling || m_state == State::Completed)

Modified: trunk/Source/WebKit/NetworkProcess/NetworkDataTaskBlob.h (241316 => 241317)


--- trunk/Source/WebKit/NetworkProcess/NetworkDataTaskBlob.h	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/NetworkProcess/NetworkDataTaskBlob.h	2019-02-12 21:49:39 UTC (rev 241317)
@@ -59,7 +59,6 @@
 private:
     NetworkDataTaskBlob(NetworkSession&, WebCore::BlobRegistryImpl&, NetworkDataTaskClient&, const WebCore::ResourceRequest&, WebCore::ContentSniffingPolicy, const Vector<RefPtr<WebCore::BlobDataFileReference>>&);
 
-    void suspend() override;
     void cancel() override;
     void resume() override;
     void invalidateAndCancel() override;

Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp (241316 => 241317)


--- trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp	2019-02-12 21:49:39 UTC (rev 241317)
@@ -69,8 +69,7 @@
     else
         m_task = NetworkDataTask::create(networkSession, *this, m_parameters);
 
-    if (!m_parameters.defersLoading)
-        m_task->resume();
+    m_task->resume();
 }
 
 NetworkLoad::~NetworkLoad()
@@ -82,16 +81,6 @@
         m_task->clearClient();
 }
 
-void NetworkLoad::setDefersLoading(bool defers)
-{
-    if (m_task) {
-        if (defers)
-            m_task->suspend();
-        else
-            m_task->resume();
-    }
-}
-
 void NetworkLoad::cancel()
 {
     if (m_task)

Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoad.h (241316 => 241317)


--- trunk/Source/WebKit/NetworkProcess/NetworkLoad.h	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoad.h	2019-02-12 21:49:39 UTC (rev 241317)
@@ -47,7 +47,6 @@
     NetworkLoad(NetworkLoadClient&, WebCore::BlobRegistryImpl*, NetworkLoadParameters&&, NetworkSession&);
     ~NetworkLoad();
 
-    void setDefersLoading(bool);
     void cancel();
 
     bool isAllowedToAskUserForCredentials() const;

Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoadParameters.h (241316 => 241317)


--- trunk/Source/WebKit/NetworkProcess/NetworkLoadParameters.h	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoadParameters.h	2019-02-12 21:49:39 UTC (rev 241317)
@@ -48,7 +48,6 @@
     WebCore::StoredCredentialsPolicy storedCredentialsPolicy { WebCore::StoredCredentialsPolicy::DoNotUse };
     WebCore::ClientCredentialPolicy clientCredentialPolicy { WebCore::ClientCredentialPolicy::CannotAskClientForCredentials };
     bool shouldClearReferrerOnHTTPSToHTTPRedirect { true };
-    bool defersLoading { false };
     bool needsCertificateInfo { false };
     bool isMainFrameNavigation { false };
     Vector<RefPtr<WebCore::BlobDataFileReference>> blobFileReferences;

Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp (241316 => 241317)


--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp	2019-02-12 21:49:39 UTC (rev 241317)
@@ -76,7 +76,6 @@
     encoder.encodeEnum(clientCredentialPolicy);
     encoder.encodeEnum(shouldPreconnectOnly);
     encoder << shouldClearReferrerOnHTTPSToHTTPRedirect;
-    encoder << defersLoading;
     encoder << needsCertificateInfo;
     encoder << isMainFrameNavigation;
     encoder << maximumBufferingTime;
@@ -163,8 +162,6 @@
         return false;
     if (!decoder.decode(result.shouldClearReferrerOnHTTPSToHTTPRedirect))
         return false;
-    if (!decoder.decode(result.defersLoading))
-        return false;
     if (!decoder.decode(result.needsCertificateInfo))
         return false;
     if (!decoder.decode(result.isMainFrameNavigation))

Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp (241316 => 241317)


--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp	2019-02-12 21:49:39 UTC (rev 241317)
@@ -94,7 +94,6 @@
     : m_parameters { WTFMove(parameters) }
     , m_connection { connection }
     , m_fileReferences(connection.resolveBlobReferences(m_parameters))
-    , m_defersLoading { parameters.defersLoading }
     , m_isAllowedToAskUserForCredentials { m_parameters.clientCredentialPolicy == ClientCredentialPolicy::MayAskClientForCredentials }
     , m_bufferingTimer { *this, &NetworkResourceLoader::bufferingTimerFired }
     , m_cache { sessionID().isEphemeral() ? nullptr : connection.networkProcess().cache() }
@@ -166,11 +165,6 @@
 
     m_networkActivityTracker = m_connection->startTrackingResourceLoad(m_parameters.webPageID, m_parameters.identifier, isMainResource(), sessionID());
 
-    if (m_defersLoading) {
-        RELEASE_LOG_IF_ALLOWED("start: Loading is deferred (pageID = %" PRIu64 ", frameID = %" PRIu64 ", resourceID = %" PRIu64 ", isMainResource = %d, isSynchronous = %d, parentPID = %d)", m_parameters.webPageID, m_parameters.webFrameID, m_parameters.identifier, isMainResource(), isSynchronous(), m_parameters.parentPID);
-        return;
-    }
-
     ASSERT(!m_wasStarted);
     m_wasStarted = true;
 
@@ -272,7 +266,6 @@
     }
 
     NetworkLoadParameters parameters = m_parameters;
-    parameters.defersLoading = m_defersLoading;
     parameters.networkActivityTracker = m_networkActivityTracker;
     if (m_networkLoadChecker)
         parameters.storedCredentialsPolicy = m_networkLoadChecker->storedCredentialsPolicy();
@@ -297,35 +290,8 @@
     m_networkLoad = std::make_unique<NetworkLoad>(*this, &m_connection->blobRegistry(), WTFMove(parameters), *networkSession);
 
     RELEASE_LOG_IF_ALLOWED("startNetworkLoad: (pageID = %" PRIu64 ", frameID = %" PRIu64 ", resourceID = %" PRIu64 ", description = %{public}s)", m_parameters.webPageID, m_parameters.webFrameID, m_parameters.identifier, m_networkLoad->description().utf8().data());
-
-    if (m_defersLoading) {
-        RELEASE_LOG_IF_ALLOWED("startNetworkLoad: Created, but deferred (pageID = %" PRIu64 ", frameID = %" PRIu64 ", resourceID = %" PRIu64 ")",
-            m_parameters.webPageID, m_parameters.webFrameID, m_parameters.identifier);
-    }
 }
 
-void NetworkResourceLoader::setDefersLoading(bool defers)
-{
-    if (m_defersLoading == defers)
-        return;
-    m_defersLoading = defers;
-
-    if (defers)
-        RELEASE_LOG_IF_ALLOWED("setDefersLoading: Deferring resource load (pageID = %" PRIu64 ", frameID = %" PRIu64 ", resourceID = %" PRIu64 ")", m_parameters.webPageID, m_parameters.webFrameID, m_parameters.identifier);
-    else
-        RELEASE_LOG_IF_ALLOWED("setDefersLoading: Resuming deferred resource load (pageID = %" PRIu64 ", frameID = %" PRIu64 ", resourceID = %" PRIu64 ")", m_parameters.webPageID, m_parameters.webFrameID, m_parameters.identifier);
-
-    if (m_networkLoad) {
-        m_networkLoad->setDefersLoading(defers);
-        return;
-    }
-
-    if (!m_defersLoading && !m_wasStarted)
-        start();
-    else
-        RELEASE_LOG_IF_ALLOWED("setDefersLoading: defers = %d, but nothing to do (pageID = %" PRIu64 ", frameID = %" PRIu64 ", resourceID = %" PRIu64 ")", m_defersLoading, m_parameters.webPageID, m_parameters.webFrameID, m_parameters.identifier);
-}
-
 void NetworkResourceLoader::cleanup(LoadResult result)
 {
     ASSERT(RunLoop::isMain());

Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.h (241316 => 241317)


--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.h	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.h	2019-02-12 21:49:39 UTC (rev 241317)
@@ -72,8 +72,6 @@
     void start();
     void abort();
 
-    void setDefersLoading(bool);
-
     // Message handlers.
     void didReceiveNetworkResourceLoaderMessage(IPC::Connection&, IPC::Decoder&);
 
@@ -191,7 +189,6 @@
 
     bool m_wasStarted { false };
     bool m_didConsumeSandboxExtensions { false };
-    bool m_defersLoading { false };
     bool m_isAllowedToAskUserForCredentials { false };
     size_t m_numBytesReceived { 0 };
 

Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h (241316 => 241317)


--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h	2019-02-12 21:49:39 UTC (rev 241317)
@@ -60,7 +60,6 @@
     void willPerformHTTPRedirection(WebCore::ResourceResponse&&, WebCore::ResourceRequest&&, RedirectCompletionHandler&&);
     void transferSandboxExtensionToDownload(Download&);
 
-    void suspend() override;
     void cancel() override;
     void resume() override;
     void invalidateAndCancel() override { }

Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm (241316 => 241317)


--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm	2019-02-12 21:49:39 UTC (rev 241317)
@@ -476,13 +476,6 @@
     [m_task resume];
 }
 
-void NetworkDataTaskCocoa::suspend()
-{
-    if (m_failureTimer.isActive())
-        m_failureTimer.stop();
-    [m_task suspend];
-}
-
 NetworkDataTask::State NetworkDataTaskCocoa::state() const
 {
     switch ([m_task state]) {

Modified: trunk/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp (241316 => 241317)


--- trunk/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp	2019-02-12 21:49:39 UTC (rev 241317)
@@ -96,18 +96,6 @@
         m_curlRequest->resume();
 }
 
-void NetworkDataTaskCurl::suspend()
-{
-    ASSERT(m_state != State::Suspended);
-    if (m_state == State::Canceling || m_state == State::Completed)
-        return;
-
-    m_state = State::Suspended;
-
-    if (m_curlRequest)
-        m_curlRequest->suspend();
-}
-
 void NetworkDataTaskCurl::cancel()
 {
     if (m_state == State::Canceling || m_state == State::Completed)

Modified: trunk/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.h (241316 => 241317)


--- trunk/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.h	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.h	2019-02-12 21:49:39 UTC (rev 241317)
@@ -57,7 +57,6 @@
 
     NetworkDataTaskCurl(NetworkSession&, NetworkDataTaskClient&, const WebCore::ResourceRequest&, WebCore::StoredCredentialsPolicy, WebCore::ContentSniffingPolicy, WebCore::ContentEncodingSniffingPolicy, bool shouldClearReferrerOnHTTPSToHTTPRedirect, bool dataTaskIsForMainFrameNavigation);
 
-    void suspend() override;
     void cancel() override;
     void resume() override;
     void invalidateAndCancel() override;

Modified: trunk/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp (241316 => 241317)


--- trunk/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp	2019-02-12 21:49:39 UTC (rev 241317)
@@ -235,16 +235,6 @@
     }
 }
 
-void NetworkDataTaskSoup::suspend()
-{
-    ASSERT(m_state != State::Suspended);
-    if (m_state == State::Canceling || m_state == State::Completed)
-        return;
-    m_state = State::Suspended;
-
-    stopTimeout();
-}
-
 void NetworkDataTaskSoup::cancel()
 {
     if (m_state == State::Canceling || m_state == State::Completed)

Modified: trunk/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.h (241316 => 241317)


--- trunk/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.h	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.h	2019-02-12 21:49:39 UTC (rev 241317)
@@ -46,7 +46,6 @@
 private:
     NetworkDataTaskSoup(NetworkSession&, NetworkDataTaskClient&, const WebCore::ResourceRequest&, WebCore::StoredCredentialsPolicy, WebCore::ContentSniffingPolicy, WebCore::ContentEncodingSniffingPolicy, bool shouldClearReferrerOnHTTPSToHTTPRedirect, bool dataTaskIsForMainFrameNavigation);
 
-    void suspend() override;
     void cancel() override;
     void resume() override;
     void invalidateAndCancel() override;

Modified: trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp (241316 => 241317)


--- trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp	2019-02-12 21:49:39 UTC (rev 241317)
@@ -277,7 +277,6 @@
     // If there is no WebFrame then this resource cannot be authenticated with the client.
     loadParameters.clientCredentialPolicy = (loadParameters.webFrameID && loadParameters.webPageID && resourceLoader.isAllowedToAskUserForCredentials()) ? ClientCredentialPolicy::MayAskClientForCredentials : ClientCredentialPolicy::CannotAskClientForCredentials;
     loadParameters.shouldClearReferrerOnHTTPSToHTTPRedirect = shouldClearReferrerOnHTTPSToHTTPRedirect;
-    loadParameters.defersLoading = resourceLoader.defersLoading();
     loadParameters.needsCertificateInfo = resourceLoader.shouldIncludeCertificateInfo();
     loadParameters.maximumBufferingTime = maximumBufferingTime;
     loadParameters.options = resourceLoader.options();
@@ -426,10 +425,9 @@
     loader->detachFromCoreLoader();
 }
 
-void WebLoaderStrategy::setDefersLoading(ResourceLoader& resourceLoader, bool defers)
+void WebLoaderStrategy::setDefersLoading(ResourceLoader&, bool)
 {
-    ResourceLoadIdentifier identifier = resourceLoader.identifier();
-    WebProcess::singleton().ensureNetworkProcessConnection().connection().send(Messages::NetworkConnectionToWebProcess::SetDefersLoading(identifier, defers), 0);
+    ASSERT_NOT_REACHED();
 }
 
 void WebLoaderStrategy::crossOriginRedirectReceived(ResourceLoader*, const URL&)

Modified: trunk/Tools/ChangeLog (241316 => 241317)


--- trunk/Tools/ChangeLog	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Tools/ChangeLog	2019-02-12 21:49:39 UTC (rev 241317)
@@ -1,5 +1,17 @@
 2019-02-12  Alex Christensen  <achristen...@webkit.org>
 
+        Remove setDefersLoading infrastructure from WebKit2
+        https://bugs.webkit.org/show_bug.cgi?id=194506
+
+        Reviewed by Brady Eidson.
+
+        * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
+        * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
+        (WTR::TestRunner::setDefersLoading): Deleted.
+        * WebKitTestRunner/InjectedBundle/TestRunner.h:
+
+2019-02-12  Alex Christensen  <achristen...@webkit.org>
+
         WebPage::close needs to remove all message receivers associated with that WebPage, not WebPage::~WebPage
         https://bugs.webkit.org/show_bug.cgi?id=194522
         <rdar://problem/47789393>

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl (241316 => 241317)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl	2019-02-12 21:49:39 UTC (rev 241317)
@@ -169,7 +169,6 @@
     
     void setShouldStayOnPageAfterHandlingBeforeUnload(boolean flag);
 
-    void setDefersLoading(boolean flag);
     void setStopProvisionalFrameLoads();
 
     readonly attribute boolean didReceiveServerRedirectForProvisionalNavigation;

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp (241316 => 241317)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp	2019-02-12 21:49:39 UTC (rev 241317)
@@ -741,10 +741,6 @@
     InjectedBundle::singleton().postNewBeforeUnloadReturnValue(!shouldStayOnPage);
 }
 
-void TestRunner::setDefersLoading(bool)
-{
-}
-
 bool TestRunner::didReceiveServerRedirectForProvisionalNavigation() const
 {
     WKRetainPtr<WKStringRef> messageName(AdoptWK, WKStringCreateWithUTF8CString("DidReceiveServerRedirectForProvisionalNavigation"));

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h (241316 => 241317)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h	2019-02-12 21:35:59 UTC (rev 241316)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h	2019-02-12 21:49:39 UTC (rev 241317)
@@ -263,8 +263,6 @@
 
     void setShouldStayOnPageAfterHandlingBeforeUnload(bool);
 
-    void setDefersLoading(bool);
-
     void setStopProvisionalFrameLoads() { m_shouldStopProvisionalFrameLoads = true; }
     bool shouldStopProvisionalFrameLoads() const { return m_shouldStopProvisionalFrameLoads; }
     
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to