diff options
Diffstat (limited to 'WebCore/platform')
-rw-r--r-- | WebCore/platform/network/NetworkingContext.h | 10 | ||||
-rw-r--r-- | WebCore/platform/network/android/ResourceHandleAndroid.cpp | 23 |
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 |