From f69429a9e93ec4396c01fe27171bcefd4d238342 Mon Sep 17 00:00:00 2001 From: Patrick Scott Date: Tue, 5 Oct 2010 09:32:44 -0400 Subject: Block network loads based on the setting. Bug: 3053149 Change-Id: Idb6850b2aac5de2ab19850779a65496ef356961d --- WebKit/android/WebCoreSupport/WebUrlLoader.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'WebKit/android/WebCoreSupport') diff --git a/WebKit/android/WebCoreSupport/WebUrlLoader.cpp b/WebKit/android/WebCoreSupport/WebUrlLoader.cpp index cda02dd..391f988 100644 --- a/WebKit/android/WebCoreSupport/WebUrlLoader.cpp +++ b/WebKit/android/WebCoreSupport/WebUrlLoader.cpp @@ -28,6 +28,7 @@ #include "WebUrlLoader.h" #include "FrameLoaderClientAndroid.h" +#include "WebCoreFrameBridge.h" #include "WebUrlLoaderClient.h" namespace android { @@ -46,8 +47,13 @@ WebUrlLoader::~WebUrlLoader() PassRefPtr WebUrlLoader::start(FrameLoaderClient* client, WebCore::ResourceHandle* resourceHandle, const WebCore::ResourceRequest& resourceRequest, bool isSync, bool isPrivateBrowsing) { - FrameLoaderClientAndroid* clientAndroid = static_cast (client); - RefPtr loader = WebUrlLoader::create(clientAndroid->webFrame(), resourceHandle, resourceRequest); + WebFrame* webFrame = static_cast(client)->webFrame(); + + if (webFrame->blockNetworkLoads() && + (resourceRequest.url().protocolIs("http") || + resourceRequest.url().protocolIs("https"))) + return NULL; + RefPtr loader = WebUrlLoader::create(webFrame, resourceHandle, resourceRequest); loader->m_loaderClient->start(isSync, isPrivateBrowsing); return loader.release(); -- cgit v1.1