diff options
Diffstat (limited to 'WebKit/android/WebCoreSupport/WebUrlLoader.cpp')
-rw-r--r-- | WebKit/android/WebCoreSupport/WebUrlLoader.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
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> WebUrlLoader::start(FrameLoaderClient* client, WebCore::ResourceHandle* resourceHandle, const WebCore::ResourceRequest& resourceRequest, bool isSync, bool isPrivateBrowsing) { - FrameLoaderClientAndroid* clientAndroid = static_cast<FrameLoaderClientAndroid*> (client); - RefPtr<WebUrlLoader> loader = WebUrlLoader::create(clientAndroid->webFrame(), resourceHandle, resourceRequest); + WebFrame* webFrame = static_cast<FrameLoaderClientAndroid*>(client)->webFrame(); + + if (webFrame->blockNetworkLoads() && + (resourceRequest.url().protocolIs("http") || + resourceRequest.url().protocolIs("https"))) + return NULL; + RefPtr<WebUrlLoader> loader = WebUrlLoader::create(webFrame, resourceHandle, resourceRequest); loader->m_loaderClient->start(isSync, isPrivateBrowsing); return loader.release(); |