Index: webkit/api/src/ResourceHandle.cpp |
diff --git a/webkit/api/src/ResourceHandle.cpp b/webkit/api/src/ResourceHandle.cpp |
deleted file mode 100644 |
index 6cecd1d02928c0b1392114405c32a2a6946095c0..0000000000000000000000000000000000000000 |
--- a/webkit/api/src/ResourceHandle.cpp |
+++ /dev/null |
@@ -1,284 +0,0 @@ |
-/* |
- * Copyright (C) 2009 Google Inc. All rights reserved. |
- * |
- * Redistribution and use in source and binary forms, with or without |
- * modification, are permitted provided that the following conditions are |
- * met: |
- * |
- * * Redistributions of source code must retain the above copyright |
- * notice, this list of conditions and the following disclaimer. |
- * * Redistributions in binary form must reproduce the above |
- * copyright notice, this list of conditions and the following disclaimer |
- * in the documentation and/or other materials provided with the |
- * distribution. |
- * * Neither the name of Google Inc. nor the names of its |
- * contributors may be used to endorse or promote products derived from |
- * this software without specific prior written permission. |
- * |
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- */ |
- |
-#include "config.h" |
-#include "ResourceHandle.h" |
- |
-#include "ResourceHandleClient.h" |
-#include "ResourceRequest.h" |
- |
-#include "WebKit.h" |
-#include "WebKitClient.h" |
-#include "WebURLError.h" |
-#include "WebURLLoader.h" |
-#include "WebURLLoaderClient.h" |
-#include "WebURLRequest.h" |
-#include "WebURLResponse.h" |
-#include "WrappedResourceRequest.h" |
-#include "WrappedResourceResponse.h" |
- |
-using namespace WebKit; |
- |
-namespace WebCore { |
- |
-// ResourceHandleInternal ----------------------------------------------------- |
- |
-class ResourceHandleInternal : public WebURLLoaderClient { |
-public: |
- ResourceHandleInternal(const ResourceRequest& request, ResourceHandleClient* client) |
- : m_request(request) |
- , m_owner(0) |
- , m_client(client) |
- { |
- } |
- |
- void start(); |
- void cancel(); |
- void setDefersLoading(bool); |
- bool allowStoredCredentials() const; |
- |
- // WebURLLoaderClient methods: |
- virtual void willSendRequest(WebURLLoader*, WebURLRequest&, const WebURLResponse&); |
- virtual void didSendData( |
- WebURLLoader*, unsigned long long bytesSent, unsigned long long totalBytesToBeSent); |
- virtual void didReceiveResponse(WebURLLoader*, const WebURLResponse&); |
- virtual void didReceiveData(WebURLLoader*, const char* data, int dataLength); |
- virtual void didFinishLoading(WebURLLoader*); |
- virtual void didFail(WebURLLoader*, const WebURLError&); |
- |
- ResourceRequest m_request; |
- ResourceHandle* m_owner; |
- ResourceHandleClient* m_client; |
- OwnPtr<WebURLLoader> m_loader; |
-}; |
- |
-void ResourceHandleInternal::start() |
-{ |
- m_loader.set(webKitClient()->createURLLoader()); |
- ASSERT(m_loader.get()); |
- |
- WrappedResourceRequest wrappedRequest(m_request); |
- wrappedRequest.setAllowStoredCredentials(allowStoredCredentials()); |
- m_loader->loadAsynchronously(wrappedRequest, this); |
-} |
- |
-void ResourceHandleInternal::cancel() |
-{ |
- m_loader->cancel(); |
- |
- // Do not make any further calls to the client. |
- m_client = 0; |
-} |
- |
-void ResourceHandleInternal::setDefersLoading(bool value) |
-{ |
- m_loader->setDefersLoading(value); |
-} |
- |
-bool ResourceHandleInternal::allowStoredCredentials() const |
-{ |
- return m_client && m_client->shouldUseCredentialStorage(m_owner); |
-} |
- |
-void ResourceHandleInternal::willSendRequest( |
- WebURLLoader*, WebURLRequest& request, const WebURLResponse& response) |
-{ |
- ASSERT(m_client); |
- ASSERT(!request.isNull()); |
- ASSERT(!response.isNull()); |
- m_client->willSendRequest(m_owner, request.toMutableResourceRequest(), response.toResourceResponse()); |
-} |
- |
-void ResourceHandleInternal::didSendData( |
- WebURLLoader*, unsigned long long bytesSent, unsigned long long totalBytesToBeSent) |
-{ |
- ASSERT(m_client); |
- m_client->didSendData(m_owner, bytesSent, totalBytesToBeSent); |
-} |
- |
-void ResourceHandleInternal::didReceiveResponse(WebURLLoader*, const WebURLResponse& response) |
-{ |
- ASSERT(m_client); |
- ASSERT(!response.isNull()); |
- m_client->didReceiveResponse(m_owner, response.toResourceResponse()); |
-} |
- |
-void ResourceHandleInternal::didReceiveData( |
- WebURLLoader*, const char* data, int dataLength) |
-{ |
- ASSERT(m_client); |
- |
- // FIXME(yurys): it looks like lengthReceived is always the same as |
- // dataLength and that the latter parameter can be eliminated. |
- // See WebKit bug: https://bugs.webkit.org/show_bug.cgi?id=31019 |
- m_client->didReceiveData(m_owner, data, dataLength, dataLength); |
-} |
- |
-void ResourceHandleInternal::didFinishLoading(WebURLLoader*) |
-{ |
- ASSERT(m_client); |
- m_client->didFinishLoading(m_owner); |
-} |
- |
-void ResourceHandleInternal::didFail(WebURLLoader*, const WebURLError& error) |
-{ |
- ASSERT(m_client); |
- m_client->didFail(m_owner, error); |
-} |
- |
-// ResourceHandle ------------------------------------------------------------- |
- |
-ResourceHandle::ResourceHandle(const ResourceRequest& request, |
- ResourceHandleClient* client, |
- bool defersLoading, |
- bool shouldContentSniff, |
- bool mightDownloadFromHandle) |
- : d(new ResourceHandleInternal(request, client)) |
-{ |
- d->m_owner = this; |
- |
- // FIXME: Figure out what to do with the bool params. |
-} |
- |
-PassRefPtr<ResourceHandle> ResourceHandle::create(const ResourceRequest& request, |
- ResourceHandleClient* client, |
- Frame* deprecated, |
- bool defersLoading, |
- bool shouldContentSniff, |
- bool mightDownloadFromHandle) |
-{ |
- RefPtr<ResourceHandle> newHandle = adoptRef(new ResourceHandle( |
- request, client, defersLoading, shouldContentSniff, mightDownloadFromHandle)); |
- |
- if (newHandle->start(deprecated)) |
- return newHandle.release(); |
- |
- return 0; |
-} |
- |
-const ResourceRequest& ResourceHandle::request() const |
-{ |
- return d->m_request; |
-} |
- |
-ResourceHandleClient* ResourceHandle::client() const |
-{ |
- return d->m_client; |
-} |
- |
-void ResourceHandle::setClient(ResourceHandleClient* client) |
-{ |
- d->m_client = client; |
-} |
- |
-void ResourceHandle::setDefersLoading(bool value) |
-{ |
- d->setDefersLoading(value); |
-} |
- |
-bool ResourceHandle::start(Frame* deprecated) |
-{ |
- d->start(); |
- return true; |
-} |
- |
-void ResourceHandle::clearAuthentication() |
-{ |
-} |
- |
-void ResourceHandle::cancel() |
-{ |
- d->cancel(); |
-} |
- |
-ResourceHandle::~ResourceHandle() |
-{ |
- d->m_owner = 0; |
-} |
- |
-PassRefPtr<SharedBuffer> ResourceHandle::bufferedData() |
-{ |
- return 0; |
-} |
- |
-bool ResourceHandle::loadsBlocked() |
-{ |
- return false; // This seems to be related to sync XMLHttpRequest... |
-} |
- |
-// static |
-bool ResourceHandle::supportsBufferedData() |
-{ |
- return false; // The loader will buffer manually if it needs to. |
-} |
- |
-// static |
-void ResourceHandle::loadResourceSynchronously(const ResourceRequest& request, |
- StoredCredentials storedCredentials, |
- ResourceError& error, |
- ResourceResponse& response, |
- Vector<char>& data, |
- Frame* deprecated) |
-{ |
- OwnPtr<WebURLLoader> loader(webKitClient()->createURLLoader()); |
- ASSERT(loader.get()); |
- |
- WrappedResourceRequest requestIn(request); |
- requestIn.setAllowStoredCredentials(storedCredentials == AllowStoredCredentials); |
- WrappedResourceResponse responseOut(response); |
- WebURLError errorOut; |
- WebData dataOut; |
- |
- loader->loadSynchronously(requestIn, responseOut, errorOut, dataOut); |
- |
- error = errorOut; |
- data.clear(); |
- data.append(dataOut.data(), dataOut.size()); |
-} |
- |
-// static |
-bool ResourceHandle::willLoadFromCache(ResourceRequest& request, Frame*) |
-{ |
- // This method is used to determine if a POST request can be repeated from |
- // cache, but you cannot really know until you actually try to read from the |
- // cache. Even if we checked now, something else could come along and wipe |
- // out the cache entry by the time we fetch it. |
- // |
- // So, we always say yes here, which allows us to generate an ERR_CACHE_MISS |
- // if the request cannot be serviced from cache. We force the 'DontLoad' |
- // cache policy at this point to ensure that we never hit the network for |
- // this request. |
- // |
- ASSERT(request.httpMethod() == "POST"); |
- request.setCachePolicy(ReturnCacheDataDontLoad); |
- return true; |
-} |
- |
-} // namespace WebCore |