Title: [229100] trunk/Source
Revision
229100
Author
[email protected]
Date
2018-02-28 11:53:58 -0800 (Wed, 28 Feb 2018)

Log Message

Reduce use of NetworkingContext in WebKit
https://bugs.webkit.org/show_bug.cgi?id=183213

Patch by Alex Christensen <[email protected]> on 2018-02-28
Reviewed by Brady Eidson.

Source/WebCore:

NetworkingContext is intended to be used only with ResourceHandle, which is now only used in WebKitLegacy.
Now that we don't use ResourceHandle in the WebProcess, everything that was done through the NetworkingContext
can now be done a cleaner way with no change in behavior.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/LinkLoader.cpp:
(WebCore::LinkLoader::loadLink):
* loader/LoaderStrategy.h:
* platform/network/ProxyServer.h:
* platform/network/cf/ProxyServerCFNet.cpp:
(WebCore::proxyServersForURL):
* platform/network/curl/ProxyServerCurl.cpp:
(WebCore::proxyServersForURL):
* platform/network/soup/ProxyServerSoup.cpp:
(WebCore::proxyServersForURL):

Source/WebKit:

* NetworkProcess/RemoteNetworkingContext.h:
* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::loadResourceSynchronously):
(WebKit::WebLoaderStrategy::preconnectTo):
* WebProcess/Network/WebLoaderStrategy.h:
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::proxiesForURL):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
* WebProcess/WebPage/WebFrame.cpp:

Source/WebKitLegacy:

* WebCoreSupport/WebResourceLoadScheduler.cpp:
(WebResourceLoadScheduler::loadResourceSynchronously):
(WebResourceLoadScheduler::preconnectTo):
* WebCoreSupport/WebResourceLoadScheduler.h:

Source/WebKitLegacy/mac:

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::getProxy):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView getVariable:forURL:value:length:]):

Source/WebKitLegacy/win:

* Plugins/PluginView.cpp:
(WebCore::PluginView::getValueForURL):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (229099 => 229100)


--- trunk/Source/WebCore/ChangeLog	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebCore/ChangeLog	2018-02-28 19:53:58 UTC (rev 229100)
@@ -1,3 +1,27 @@
+2018-02-28  Alex Christensen  <[email protected]>
+
+        Reduce use of NetworkingContext in WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=183213
+
+        Reviewed by Brady Eidson.
+
+        NetworkingContext is intended to be used only with ResourceHandle, which is now only used in WebKitLegacy.
+        Now that we don't use ResourceHandle in the WebProcess, everything that was done through the NetworkingContext
+        can now be done a cleaner way with no change in behavior.
+
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::loadResourceSynchronously):
+        * loader/LinkLoader.cpp:
+        (WebCore::LinkLoader::loadLink):
+        * loader/LoaderStrategy.h:
+        * platform/network/ProxyServer.h:
+        * platform/network/cf/ProxyServerCFNet.cpp:
+        (WebCore::proxyServersForURL):
+        * platform/network/curl/ProxyServerCurl.cpp:
+        (WebCore::proxyServersForURL):
+        * platform/network/soup/ProxyServerSoup.cpp:
+        (WebCore::proxyServersForURL):
+
 2018-02-28  Zalan Bujtas  <[email protected]>
 
         Remove RenderElement::s_affectsParentBlock

Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (229099 => 229100)


--- trunk/Source/WebCore/loader/FrameLoader.cpp	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp	2018-02-28 19:53:58 UTC (rev 229100)
@@ -2842,7 +2842,7 @@
 
         if (!documentLoader()->applicationCacheHost().maybeLoadSynchronously(newRequest, error, response, data)) {
             Vector<char> buffer;
-            platformStrategies()->loaderStrategy()->loadResourceSynchronously(networkingContext(), identifier, newRequest, storedCredentialsPolicy, clientCredentialPolicy, error, response, buffer);
+            platformStrategies()->loaderStrategy()->loadResourceSynchronously(*this, identifier, newRequest, storedCredentialsPolicy, clientCredentialPolicy, error, response, buffer);
             data = ""
             documentLoader()->applicationCacheHost().maybeLoadFallbackSynchronously(newRequest, error, response, data);
             ResourceLoadObserver::shared().logSubresourceLoading(&m_frame, newRequest, response);

Modified: trunk/Source/WebCore/loader/LinkLoader.cpp (229099 => 229100)


--- trunk/Source/WebCore/loader/LinkLoader.cpp	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebCore/loader/LinkLoader.cpp	2018-02-28 19:53:58 UTC (rev 229100)
@@ -268,7 +268,7 @@
         if (equalIgnoringASCIICase(crossOrigin, "anonymous") && document.securityOrigin().canAccess(SecurityOrigin::create(href)))
             storageCredentialsPolicy = StoredCredentialsPolicy::DoNotUse;
         ASSERT(document.frame()->loader().networkingContext());
-        platformStrategies()->loaderStrategy()->preconnectTo(*document.frame()->loader().networkingContext(), href, storageCredentialsPolicy, [weakDocument = document.createWeakPtr(), href](ResourceError error) {
+        platformStrategies()->loaderStrategy()->preconnectTo(document.frame()->loader(), href, storageCredentialsPolicy, [weakDocument = document.createWeakPtr(), href](ResourceError error) {
             if (!weakDocument)
                 return;
 

Modified: trunk/Source/WebCore/loader/LoaderStrategy.h (229099 => 229100)


--- trunk/Source/WebCore/loader/LoaderStrategy.h	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebCore/loader/LoaderStrategy.h	2018-02-28 19:53:58 UTC (rev 229100)
@@ -37,10 +37,10 @@
 class CachedResource;
 class ContentSecurityPolicy;
 class Frame;
+class FrameLoader;
 class HTTPHeaderMap;
 class NetscapePlugInStreamLoader;
 class NetscapePlugInStreamLoaderClient;
-class NetworkingContext;
 class ResourceError;
 class ResourceLoader;
 class ResourceRequest;
@@ -55,7 +55,7 @@
 class WEBCORE_EXPORT LoaderStrategy {
 public:
     virtual void loadResource(Frame&, CachedResource&, ResourceRequest&&, const ResourceLoaderOptions&, CompletionHandler<void(RefPtr<SubresourceLoader>&&)>&&) = 0;
-    virtual void loadResourceSynchronously(NetworkingContext*, unsigned long identifier, const ResourceRequest&, StoredCredentialsPolicy, ClientCredentialPolicy, ResourceError&, ResourceResponse&, Vector<char>& data) = 0;
+    virtual void loadResourceSynchronously(FrameLoader&, unsigned long identifier, const ResourceRequest&, StoredCredentialsPolicy, ClientCredentialPolicy, ResourceError&, ResourceResponse&, Vector<char>& data) = 0;
 
     virtual void remove(ResourceLoader*) = 0;
     virtual void setDefersLoading(ResourceLoader*, bool) = 0;
@@ -69,7 +69,7 @@
     virtual void startPingLoad(Frame&, ResourceRequest&, const HTTPHeaderMap& originalRequestHeaders, const FetchOptions&, PingLoadCompletionHandler&& = { }) = 0;
 
     using PreconnectCompletionHandler = WTF::Function<void(const ResourceError&)>;
-    virtual void preconnectTo(NetworkingContext&, const URL&, StoredCredentialsPolicy, PreconnectCompletionHandler&&) = 0;
+    virtual void preconnectTo(FrameLoader&, const URL&, StoredCredentialsPolicy, PreconnectCompletionHandler&&) = 0;
 
     virtual void storeDerivedDataToCache(const SHA1::Digest& bodyKey, const String& type, const String& partition, WebCore::SharedBuffer&) = 0;
 

Modified: trunk/Source/WebCore/platform/network/ProxyServer.h (229099 => 229100)


--- trunk/Source/WebCore/platform/network/ProxyServer.h	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebCore/platform/network/ProxyServer.h	2018-02-28 19:53:58 UTC (rev 229100)
@@ -68,7 +68,7 @@
 };
 
 // Return a vector of proxy servers for the given URL.
-WEBCORE_EXPORT Vector<ProxyServer> proxyServersForURL(const URL&, const NetworkingContext*);
+WEBCORE_EXPORT Vector<ProxyServer> proxyServersForURL(const URL&);
 
 // Converts the given vector of proxy servers to a PAC string, as described in
 // http://web.archive.org/web/20060424005037/wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html

Modified: trunk/Source/WebCore/platform/network/cf/ProxyServerCFNet.cpp (229099 => 229100)


--- trunk/Source/WebCore/platform/network/cf/ProxyServerCFNet.cpp	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebCore/platform/network/cf/ProxyServerCFNet.cpp	2018-02-28 19:53:58 UTC (rev 229100)
@@ -133,7 +133,7 @@
     processProxyServers(proxyServers, proxiesForURL.get(), cfURL.get());
 }
 
-Vector<ProxyServer> proxyServersForURL(const URL& url, const NetworkingContext*)
+Vector<ProxyServer> proxyServersForURL(const URL& url)
 {
     Vector<ProxyServer> proxyServers;
     

Modified: trunk/Source/WebCore/platform/network/curl/ProxyServerCurl.cpp (229099 => 229100)


--- trunk/Source/WebCore/platform/network/curl/ProxyServerCurl.cpp	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebCore/platform/network/curl/ProxyServerCurl.cpp	2018-02-28 19:53:58 UTC (rev 229100)
@@ -32,7 +32,7 @@
 
 namespace WebCore {
 
-Vector<ProxyServer> proxyServersForURL(const URL&, const NetworkingContext*)
+Vector<ProxyServer> proxyServersForURL(const URL&)
 {
     // FIXME: Implement.
     return Vector<ProxyServer>();

Modified: trunk/Source/WebCore/platform/network/soup/ProxyServerSoup.cpp (229099 => 229100)


--- trunk/Source/WebCore/platform/network/soup/ProxyServerSoup.cpp	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebCore/platform/network/soup/ProxyServerSoup.cpp	2018-02-28 19:53:58 UTC (rev 229100)
@@ -32,7 +32,7 @@
 
 namespace WebCore {
 
-Vector<ProxyServer> proxyServersForURL(const URL&, const NetworkingContext*)
+Vector<ProxyServer> proxyServersForURL(const URL&)
 {
     // FIXME: Implement.
     return Vector<ProxyServer>();

Modified: trunk/Source/WebKit/ChangeLog (229099 => 229100)


--- trunk/Source/WebKit/ChangeLog	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebKit/ChangeLog	2018-02-28 19:53:58 UTC (rev 229100)
@@ -1,3 +1,20 @@
+2018-02-28  Alex Christensen  <[email protected]>
+
+        Reduce use of NetworkingContext in WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=183213
+
+        Reviewed by Brady Eidson.
+
+        * NetworkProcess/RemoteNetworkingContext.h:
+        * WebProcess/Network/WebLoaderStrategy.cpp:
+        (WebKit::WebLoaderStrategy::loadResourceSynchronously):
+        (WebKit::WebLoaderStrategy::preconnectTo):
+        * WebProcess/Network/WebLoaderStrategy.h:
+        * WebProcess/Plugins/PluginView.cpp:
+        (WebKit::PluginView::proxiesForURL):
+        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+        * WebProcess/WebPage/WebFrame.cpp:
+
 2018-02-28  Brent Fulgham  <[email protected]>
 
         Remove network access from the WebContent process sandbox

Modified: trunk/Source/WebKit/NetworkProcess/RemoteNetworkingContext.h (229099 => 229100)


--- trunk/Source/WebKit/NetworkProcess/RemoteNetworkingContext.h	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebKit/NetworkProcess/RemoteNetworkingContext.h	2018-02-28 19:53:58 UTC (rev 229100)
@@ -26,7 +26,6 @@
 
 #pragma once
 
-#include <WebCore/NetworkingContext.h>
 #include <pal/SessionID.h>
 
 namespace WebKit {

Modified: trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp (229099 => 229100)


--- trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp	2018-02-28 19:53:58 UTC (rev 229100)
@@ -38,7 +38,6 @@
 #include "WebErrors.h"
 #include "WebFrame.h"
 #include "WebFrameLoaderClient.h"
-#include "WebFrameNetworkingContext.h"
 #include "WebPage.h"
 #include "WebPageProxyMessages.h"
 #include "WebProcess.h"
@@ -405,16 +404,21 @@
         preconnectCompletionHandler(internalError(URL()));
 }
 
-void WebLoaderStrategy::loadResourceSynchronously(NetworkingContext* context, unsigned long resourceLoadIdentifier, const ResourceRequest& request, StoredCredentialsPolicy storedCredentialsPolicy, ClientCredentialPolicy clientCredentialPolicy, ResourceError& error, ResourceResponse& response, Vector<char>& data)
+static bool shouldClearReferrerOnHTTPSToHTTPRedirect(Frame* frame)
 {
-    WebFrameNetworkingContext* webContext = static_cast<WebFrameNetworkingContext*>(context);
-    // FIXME: Some entities in WebCore use WebCore's "EmptyFrameLoaderClient" instead of having a proper WebFrameLoaderClient.
-    // EmptyFrameLoaderClient shouldn't exist and everything should be using a WebFrameLoaderClient,
-    // but in the meantime we have to make sure not to mis-cast.
-    WebFrameLoaderClient* webFrameLoaderClient = webContext->webFrameLoaderClient();
-    WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0;
-    WebPage* webPage = webFrame ? webFrame->page() : 0;
+    if (frame) {
+        if (auto* document = frame->document())
+            return document->referrerPolicy() == ReferrerPolicy::NoReferrerWhenDowngrade;
+    }
+    return true;
+}
 
+void WebLoaderStrategy::loadResourceSynchronously(FrameLoader& frameLoader, unsigned long resourceLoadIdentifier, const ResourceRequest& request, StoredCredentialsPolicy storedCredentialsPolicy, ClientCredentialPolicy clientCredentialPolicy, ResourceError& error, ResourceResponse& response, Vector<char>& data)
+{
+    WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(frameLoader.client());
+    WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : nullptr;
+    WebPage* webPage = webFrame ? webFrame->page() : nullptr;
+
     NetworkResourceLoadParameters loadParameters;
     loadParameters.identifier = resourceLoadIdentifier;
     loadParameters.webPageID = webPage ? webPage->pageID() : 0;
@@ -425,7 +429,7 @@
     loadParameters.contentEncodingSniffingPolicy = ContentEncodingSniffingPolicy::Sniff;
     loadParameters.storedCredentialsPolicy = storedCredentialsPolicy;
     loadParameters.clientCredentialPolicy = clientCredentialPolicy;
-    loadParameters.shouldClearReferrerOnHTTPSToHTTPRedirect = context->shouldClearReferrerOnHTTPSToHTTPRedirect();
+    loadParameters.shouldClearReferrerOnHTTPSToHTTPRedirect = shouldClearReferrerOnHTTPSToHTTPRedirect(webFrame ? webFrame->coreFrame() : nullptr);
 
     data.shrink(0);
 
@@ -448,18 +452,6 @@
 
 void WebLoaderStrategy::startPingLoad(Frame& frame, ResourceRequest& request, const HTTPHeaderMap& originalRequestHeaders, const FetchOptions& options, PingLoadCompletionHandler&& completionHandler)
 {
-    // It's possible that call to createPingHandle might be made during initial empty Document creation before a NetworkingContext exists.
-    // It is not clear that we should send ping loads during that process anyways.
-    auto* networkingContext = frame.loader().networkingContext();
-    if (!networkingContext) {
-        if (completionHandler)
-            completionHandler(internalError(request.url()), { });
-        return;
-    }
-
-    WebFrameNetworkingContext* webContext = static_cast<WebFrameNetworkingContext*>(networkingContext);
-    WebFrameLoaderClient* webFrameLoaderClient = webContext->webFrameLoaderClient();
-
     auto* document = frame.document();
     if (!document) {
         if (completionHandler)
@@ -466,16 +458,16 @@
             completionHandler(internalError(request.url()), { });
         return;
     }
-    
+
     NetworkResourceLoadParameters loadParameters;
     loadParameters.identifier = generateLoadIdentifier();
     loadParameters.request = request;
     loadParameters.sourceOrigin = &document->securityOrigin();
-    loadParameters.sessionID = webFrameLoaderClient ? webFrameLoaderClient->sessionID() : PAL::SessionID::defaultSessionID();
+    loadParameters.sessionID = frame.page() ? frame.page()->sessionID() : PAL::SessionID::defaultSessionID();
     loadParameters.storedCredentialsPolicy = options.credentials == FetchOptions::Credentials::Omit ? StoredCredentialsPolicy::DoNotUse : StoredCredentialsPolicy::Use;
     loadParameters.mode = options.mode;
     loadParameters.shouldFollowRedirects = options.redirect == FetchOptions::Redirect::Follow;
-    loadParameters.shouldClearReferrerOnHTTPSToHTTPRedirect = networkingContext->shouldClearReferrerOnHTTPSToHTTPRedirect();
+    loadParameters.shouldClearReferrerOnHTTPSToHTTPRedirect = shouldClearReferrerOnHTTPSToHTTPRedirect(&frame);
     if (!document->shouldBypassMainWorldContentSecurityPolicy()) {
         if (auto * contentSecurityPolicy = document->contentSecurityPolicy())
             loadParameters.cspResponseHeaders = contentSecurityPolicy->responseHeaders();
@@ -505,14 +497,13 @@
         completionHandler(WTFMove(error), WTFMove(response));
 }
 
-void WebLoaderStrategy::preconnectTo(NetworkingContext& context, const WebCore::URL& url, StoredCredentialsPolicy storedCredentialsPolicy, PreconnectCompletionHandler&& completionHandler)
+void WebLoaderStrategy::preconnectTo(FrameLoader& frameLoader, const WebCore::URL& url, StoredCredentialsPolicy storedCredentialsPolicy, PreconnectCompletionHandler&& completionHandler)
 {
     uint64_t preconnectionIdentifier = generateLoadIdentifier();
     auto addResult = m_preconnectCompletionHandlers.add(preconnectionIdentifier, WTFMove(completionHandler));
     ASSERT_UNUSED(addResult, addResult.isNewEntry);
 
-    auto& webContext = static_cast<WebFrameNetworkingContext&>(context);
-    auto* webFrameLoaderClient = webContext.webFrameLoaderClient();
+    auto* webFrameLoaderClient = toWebFrameLoaderClient(frameLoader.client());
     if (!webFrameLoaderClient) {
         completionHandler(internalError(url));
         return;

Modified: trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h (229099 => 229100)


--- trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h	2018-02-28 19:53:58 UTC (rev 229100)
@@ -48,7 +48,7 @@
     ~WebLoaderStrategy() final;
     
     void loadResource(WebCore::Frame&, WebCore::CachedResource&, WebCore::ResourceRequest&&, const WebCore::ResourceLoaderOptions&, CompletionHandler<void(RefPtr<WebCore::SubresourceLoader>&&)>&&) final;
-    void loadResourceSynchronously(WebCore::NetworkingContext*, unsigned long resourceLoadIdentifier, const WebCore::ResourceRequest&, WebCore::StoredCredentialsPolicy, WebCore::ClientCredentialPolicy, WebCore::ResourceError&, WebCore::ResourceResponse&, Vector<char>& data) final;
+    void loadResourceSynchronously(WebCore::FrameLoader&, unsigned long resourceLoadIdentifier, const WebCore::ResourceRequest&, WebCore::StoredCredentialsPolicy, WebCore::ClientCredentialPolicy, WebCore::ResourceError&, WebCore::ResourceResponse&, Vector<char>& data) final;
 
     void remove(WebCore::ResourceLoader*) final;
     void setDefersLoading(WebCore::ResourceLoader*, bool) final;
@@ -62,7 +62,7 @@
     void startPingLoad(WebCore::Frame&, WebCore::ResourceRequest&, const WebCore::HTTPHeaderMap& originalRequestHeaders, const WebCore::FetchOptions&, PingLoadCompletionHandler&&) final;
     void didFinishPingLoad(uint64_t pingLoadIdentifier, WebCore::ResourceError&&, WebCore::ResourceResponse&&);
 
-    void preconnectTo(WebCore::NetworkingContext&, const WebCore::URL&, WebCore::StoredCredentialsPolicy, PreconnectCompletionHandler&&) final;
+    void preconnectTo(WebCore::FrameLoader&, const WebCore::URL&, WebCore::StoredCredentialsPolicy, PreconnectCompletionHandler&&) final;
     void didFinishPreconnection(uint64_t preconnectionIdentifier, WebCore::ResourceError&&);
 
     void storeDerivedDataToCache(const SHA1::Digest& bodyHash, const String& type, const String& partition, WebCore::SharedBuffer&) final;

Modified: trunk/Source/WebKit/WebProcess/Plugins/PluginView.cpp (229099 => 229100)


--- trunk/Source/WebKit/WebProcess/Plugins/PluginView.cpp	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebKit/WebProcess/Plugins/PluginView.cpp	2018-02-28 19:53:58 UTC (rev 229100)
@@ -57,7 +57,6 @@
 #include <WebCore/MainFrame.h>
 #include <WebCore/MouseEvent.h>
 #include <WebCore/NetscapePlugInStreamLoader.h>
-#include <WebCore/NetworkingContext.h>
 #include <WebCore/Page.h>
 #include <WebCore/PlatformMouseEvent.h>
 #include <WebCore/ProtectionSpace.h>
@@ -1572,9 +1571,7 @@
     
 String PluginView::proxiesForURL(const String& urlString)
 {
-    const FrameLoader* frameLoader = frame() ? &frame()->loader() : 0;
-    const NetworkingContext* context = frameLoader ? frameLoader->networkingContext() : 0;
-    Vector<ProxyServer> proxyServers = proxyServersForURL(URL(URL(), urlString), context);
+    Vector<ProxyServer> proxyServers = proxyServersForURL(URL(URL(), urlString));
     return toString(proxyServers);
 }
 

Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp (229099 => 229100)


--- trunk/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp	2018-02-28 19:53:58 UTC (rev 229100)
@@ -52,7 +52,6 @@
 #include <WebCore/LoaderStrategy.h>
 #include <WebCore/MainFrame.h>
 #include <WebCore/NetworkStorageSession.h>
-#include <WebCore/NetworkingContext.h>
 #include <WebCore/Page.h>
 #include <WebCore/PageGroup.h>
 #include <WebCore/PasteboardItemInfo.h>

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp (229099 => 229100)


--- trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp	2018-02-28 19:53:58 UTC (rev 229100)
@@ -72,7 +72,6 @@
 #include <WebCore/JSFile.h>
 #include <WebCore/JSRange.h>
 #include <WebCore/MainFrame.h>
-#include <WebCore/NetworkingContext.h>
 #include <WebCore/NodeTraversal.h>
 #include <WebCore/Page.h>
 #include <WebCore/PluginDocument.h>

Modified: trunk/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm (229099 => 229100)


--- trunk/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm	2018-02-28 19:53:58 UTC (rev 229100)
@@ -73,7 +73,6 @@
 #import <WebCore/MIMETypeRegistry.h>
 #import <WebCore/MainFrame.h>
 #import <WebCore/NetworkStorageSession.h>
-#import <WebCore/NetworkingContext.h>
 #import <WebCore/NodeRenderStyle.h>
 #import <WebCore/Page.h>
 #import <WebCore/PageOverlayController.h>
@@ -683,8 +682,9 @@
     NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:url];
     [request setValue:(NSString*)userAgent(url) forHTTPHeaderField:@"User-Agent"];
     NSCachedURLResponse *cachedResponse;
-    if (CFURLStorageSessionRef storageSession = corePage()->mainFrame().loader().networkingContext()->storageSession().platformSession())
-        cachedResponse = cachedResponseForRequest(storageSession, request);
+    auto* storageSession = NetworkStorageSession::storageSession(corePage()->sessionID());
+    if (CFURLStorageSessionRef platformSession = storageSession ? storageSession->platformSession() : nullptr)
+        cachedResponse = cachedResponseForRequest(platformSession, request);
     else
         cachedResponse = [[NSURLCache sharedURLCache] cachedResponseForRequest:request];
     [request release];
@@ -697,8 +697,9 @@
     RetainPtr<NSMutableURLRequest> request = adoptNS([[NSMutableURLRequest alloc] initWithURL:url]);
     [request setValue:(NSString *)webPage->userAgent(url) forHTTPHeaderField:@"User-Agent"];
 
-    if (CFURLStorageSessionRef storageSession = webPage->corePage()->mainFrame().loader().networkingContext()->storageSession().platformSession())
-        return cachedResponseForRequest(storageSession, request.get());
+    auto* storageSession = NetworkStorageSession::storageSession(webPage->corePage()->sessionID());
+    if (CFURLStorageSessionRef platformSession = storageSession ? storageSession->platformSession() : nullptr)
+        return cachedResponseForRequest(platformSession, request.get());
 
     return [[NSURLCache sharedURLCache] cachedResponseForRequest:request.get()];
 }

Modified: trunk/Source/WebKitLegacy/ChangeLog (229099 => 229100)


--- trunk/Source/WebKitLegacy/ChangeLog	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebKitLegacy/ChangeLog	2018-02-28 19:53:58 UTC (rev 229100)
@@ -1,3 +1,15 @@
+2018-02-28  Alex Christensen  <[email protected]>
+
+        Reduce use of NetworkingContext in WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=183213
+
+        Reviewed by Brady Eidson.
+
+        * WebCoreSupport/WebResourceLoadScheduler.cpp:
+        (WebResourceLoadScheduler::loadResourceSynchronously):
+        (WebResourceLoadScheduler::preconnectTo):
+        * WebCoreSupport/WebResourceLoadScheduler.h:
+
 2018-02-26  Don Olmstead  <[email protected]>
 
         Fix WebCore includes within WebKitLegacy

Modified: trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.cpp (229099 => 229100)


--- trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.cpp	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.cpp	2018-02-28 19:53:58 UTC (rev 229100)
@@ -105,9 +105,9 @@
     });
 }
 
-void WebResourceLoadScheduler::loadResourceSynchronously(NetworkingContext* context, unsigned long, const ResourceRequest& request, StoredCredentialsPolicy storedCredentialsPolicy, ClientCredentialPolicy, ResourceError& error, ResourceResponse& response, Vector<char>& data)
+void WebResourceLoadScheduler::loadResourceSynchronously(FrameLoader& frameLoader, unsigned long, const ResourceRequest& request, StoredCredentialsPolicy storedCredentialsPolicy, ClientCredentialPolicy, ResourceError& error, ResourceResponse& response, Vector<char>& data)
 {
-    ResourceHandle::loadResourceSynchronously(context, request, storedCredentialsPolicy, error, response, data);
+    ResourceHandle::loadResourceSynchronously(frameLoader.networkingContext(), request, storedCredentialsPolicy, error, response, data);
 }
 
 void WebResourceLoadScheduler::schedulePluginStreamLoad(Frame& frame, NetscapePlugInStreamLoaderClient& client, ResourceRequest&& request, CompletionHandler<void(RefPtr<WebCore::NetscapePlugInStreamLoader>&&)>&& completionHandler)
@@ -367,7 +367,7 @@
     new PingHandle(frame.loader().networkingContext(), request, options.credentials != FetchOptions::Credentials::Omit, options.redirect == FetchOptions::Redirect::Follow, WTFMove(completionHandler));
 }
 
-void WebResourceLoadScheduler::preconnectTo(NetworkingContext&, const URL&, StoredCredentialsPolicy, PreconnectCompletionHandler&&)
+void WebResourceLoadScheduler::preconnectTo(FrameLoader&, const URL&, StoredCredentialsPolicy, PreconnectCompletionHandler&&)
 {
 }
 

Modified: trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.h (229099 => 229100)


--- trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.h	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.h	2018-02-28 19:53:58 UTC (rev 229100)
@@ -50,7 +50,7 @@
     WebResourceLoadScheduler();
 
     void loadResource(WebCore::Frame&, WebCore::CachedResource&, WebCore::ResourceRequest&&, const WebCore::ResourceLoaderOptions&, CompletionHandler<void(RefPtr<WebCore::SubresourceLoader>&&)>&&) final;
-    void loadResourceSynchronously(WebCore::NetworkingContext*, unsigned long, const WebCore::ResourceRequest&, WebCore::StoredCredentialsPolicy, WebCore::ClientCredentialPolicy, WebCore::ResourceError&, WebCore::ResourceResponse&, Vector<char>&) final;
+    void loadResourceSynchronously(WebCore::FrameLoader&, unsigned long, const WebCore::ResourceRequest&, WebCore::StoredCredentialsPolicy, WebCore::ClientCredentialPolicy, WebCore::ResourceError&, WebCore::ResourceResponse&, Vector<char>&) final;
     void remove(WebCore::ResourceLoader*) final;
     void setDefersLoading(WebCore::ResourceLoader*, bool) final;
     void crossOriginRedirectReceived(WebCore::ResourceLoader*, const WebCore::URL& redirectURL) final;
@@ -61,7 +61,7 @@
 
     void startPingLoad(WebCore::Frame&, WebCore::ResourceRequest&, const WebCore::HTTPHeaderMap&, const WebCore::FetchOptions&, PingLoadCompletionHandler&&) final;
 
-    void preconnectTo(WebCore::NetworkingContext&, const WebCore::URL&, WebCore::StoredCredentialsPolicy, PreconnectCompletionHandler&&) final;
+    void preconnectTo(WebCore::FrameLoader&, const WebCore::URL&, WebCore::StoredCredentialsPolicy, PreconnectCompletionHandler&&) final;
 
     void storeDerivedDataToCache(const SHA1::Digest&, const String&, const String&, WebCore::SharedBuffer&) final { }
 

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (229099 => 229100)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2018-02-28 19:53:58 UTC (rev 229100)
@@ -1,3 +1,15 @@
+2018-02-28  Alex Christensen  <[email protected]>
+
+        Reduce use of NetworkingContext in WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=183213
+
+        Reviewed by Brady Eidson.
+
+        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
+        (WebKit::NetscapePluginInstanceProxy::getProxy):
+        * Plugins/WebNetscapePluginView.mm:
+        (-[WebNetscapePluginView getVariable:forURL:value:length:]):
+
 2018-02-17  Darin Adler  <[email protected]>
 
         Prepare for ExtendedColor changes (first step)

Modified: trunk/Source/WebKitLegacy/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm (229099 => 229100)


--- trunk/Source/WebKitLegacy/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebKitLegacy/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm	2018-02-28 19:53:58 UTC (rev 229100)
@@ -1616,7 +1616,7 @@
     if (!url)
         return false;
 
-    Vector<ProxyServer> proxyServers = proxyServersForURL(url, 0);
+    Vector<ProxyServer> proxyServers = proxyServersForURL(url);
     WTF::CString proxyStringUTF8 = toString(proxyServers).utf8();
 
     proxyLength = proxyStringUTF8.length();

Modified: trunk/Source/WebKitLegacy/mac/Plugins/WebNetscapePluginView.mm (229099 => 229100)


--- trunk/Source/WebKitLegacy/mac/Plugins/WebNetscapePluginView.mm	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebKitLegacy/mac/Plugins/WebNetscapePluginView.mm	2018-02-28 19:53:58 UTC (rev 229100)
@@ -2162,7 +2162,7 @@
             if (!URL)
                 break;
 
-            Vector<ProxyServer> proxyServers = proxyServersForURL(URL, 0);
+            Vector<ProxyServer> proxyServers = proxyServersForURL(URL);
             CString proxiesUTF8 = toString(proxyServers).utf8();
             
             *value = static_cast<char*>(NPN_MemAlloc(proxiesUTF8.length()));

Modified: trunk/Source/WebKitLegacy/win/ChangeLog (229099 => 229100)


--- trunk/Source/WebKitLegacy/win/ChangeLog	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebKitLegacy/win/ChangeLog	2018-02-28 19:53:58 UTC (rev 229100)
@@ -1,3 +1,13 @@
+2018-02-28  Alex Christensen  <[email protected]>
+
+        Reduce use of NetworkingContext in WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=183213
+
+        Reviewed by Brady Eidson.
+
+        * Plugins/PluginView.cpp:
+        (WebCore::PluginView::getValueForURL):
+
 2018-02-26  Don Olmstead  <[email protected]>
 
         Fix WebCore includes within WebKitLegacy

Modified: trunk/Source/WebKitLegacy/win/Plugins/PluginView.cpp (229099 => 229100)


--- trunk/Source/WebKitLegacy/win/Plugins/PluginView.cpp	2018-02-28 19:34:46 UTC (rev 229099)
+++ trunk/Source/WebKitLegacy/win/Plugins/PluginView.cpp	2018-02-28 19:53:58 UTC (rev 229100)
@@ -1296,10 +1296,7 @@
     case NPNURLVProxy: {
         URL u(m_parentFrame->document()->baseURL(), url);
         if (u.isValid()) {
-            Frame* frame = getFrame(parentFrame(), m_element);
-            const FrameLoader* frameLoader = frame ? &frame->loader() : 0;
-            const NetworkingContext* context = frameLoader ? frameLoader->networkingContext() : 0;
-            const CString proxyStr = toString(proxyServersForURL(u, context)).utf8();
+            const CString proxyStr = toString(proxyServersForURL(u)).utf8();
             if (!proxyStr.isNull()) {
                 const int size = proxyStr.length();
                 *value = static_cast<char*>(NPN_MemAlloc(size+1));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to