summaryrefslogtreecommitdiffstats
path: root/WebCore/platform
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/platform')
-rw-r--r--WebCore/platform/network/NetworkingContext.h10
-rw-r--r--WebCore/platform/network/android/ResourceHandleAndroid.cpp23
2 files changed, 18 insertions, 15 deletions
diff --git a/WebCore/platform/network/NetworkingContext.h b/WebCore/platform/network/NetworkingContext.h
index a7d40dc..47ec87a 100644
--- a/WebCore/platform/network/NetworkingContext.h
+++ b/WebCore/platform/network/NetworkingContext.h
@@ -33,6 +33,10 @@ class QNetworkAccessManager;
namespace WebCore {
+#if PLATFORM(ANDROID)
+class FrameLoaderClient;
+class MainResourceLoader;
+#endif
class ResourceError;
class ResourceRequest;
@@ -60,6 +64,12 @@ public:
virtual ResourceError blockedError(const ResourceRequest&) const = 0;
#endif
+#if PLATFORM(ANDROID)
+ virtual MainResourceLoader* mainResourceLoader() const = 0;
+ virtual bool isPrivateBrowsingEnabled() const = 0;
+ virtual FrameLoaderClient* frameLoaderClient() const = 0;
+#endif
+
protected:
NetworkingContext() { }
};
diff --git a/WebCore/platform/network/android/ResourceHandleAndroid.cpp b/WebCore/platform/network/android/ResourceHandleAndroid.cpp
index c684da3..8e42643 100644
--- a/WebCore/platform/network/android/ResourceHandleAndroid.cpp
+++ b/WebCore/platform/network/android/ResourceHandleAndroid.cpp
@@ -49,17 +49,14 @@ ResourceHandle::~ResourceHandle()
{
}
-bool ResourceHandle::start(Frame* frame)
+bool ResourceHandle::start(NetworkingContext* context)
{
- DocumentLoader* docLoader = frame->loader()->activeDocumentLoader();
- MainResourceLoader* mainLoader = docLoader->mainResourceLoader();
+ MainResourceLoader* mainLoader = context->mainResourceLoader();
bool isMainResource =
static_cast<void*>(mainLoader) == static_cast<void*>(client());
- bool isPrivateBrowsing = false;
- if (frame->settings())
- isPrivateBrowsing = frame->settings()->privateBrowsingEnabled();
+ bool isPrivateBrowsing = context->isPrivateBrowsingEnabled();
- PassRefPtr<ResourceLoaderAndroid> loader = ResourceLoaderAndroid::start(this, d->m_firstRequest, frame->loader()->client(), isMainResource, false, isPrivateBrowsing);
+ PassRefPtr<ResourceLoaderAndroid> loader = ResourceLoaderAndroid::start(this, d->m_firstRequest, context->frameLoaderClient(), isMainResource, false, isPrivateBrowsing);
if (loader) {
d->m_loader = loader;
@@ -154,22 +151,18 @@ private:
WTF::Vector<char>* m_data;
};
-void ResourceHandle::loadResourceSynchronously(const ResourceRequest& request,
- StoredCredentials /*storedCredentials*/,
- ResourceError& error, ResourceResponse& response, WTF::Vector<char>& data,
- Frame* frame)
+void ResourceHandle::loadResourceSynchronously(NetworkingContext* context, const ResourceRequest& request,
+ StoredCredentials, ResourceError& error, ResourceResponse& response, WTF::Vector<char>& data)
{
SyncLoader s(error, response, data);
RefPtr<ResourceHandle> h = adoptRef(new ResourceHandle(request, &s, false, false));
- bool isPrivateBrowsing = false;
- if (frame->settings())
- isPrivateBrowsing = frame->settings()->privateBrowsingEnabled();
+ bool isPrivateBrowsing = context->isPrivateBrowsingEnabled();
// This blocks until the load is finished.
// Use the request owned by the ResourceHandle. This has had the username
// and password (if present) stripped from the URL in
// ResourceHandleInternal::ResourceHandleInternal(). This matches the
// behaviour in the asynchronous case.
- ResourceLoaderAndroid::start(h.get(), request, frame->loader()->client(), false, true, isPrivateBrowsing);
+ ResourceLoaderAndroid::start(h.get(), request, context->frameLoaderClient(), false, true, isPrivateBrowsing);
}
} // namespace WebCore