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