Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 29 */ | 29 */ |
| 30 | 30 |
| 31 #include "config.h" | 31 #include "config.h" |
| 32 #include "core/platform/network/ResourceHandle.h" | 32 #include "core/platform/network/ResourceHandle.h" |
| 33 | 33 |
| 34 #include "core/platform/chromium/support/WrappedResourceRequest.h" | 34 #include "core/platform/chromium/support/WrappedResourceRequest.h" |
| 35 #include "core/platform/chromium/support/WrappedResourceResponse.h" | 35 #include "core/platform/chromium/support/WrappedResourceResponse.h" |
| 36 #include "core/platform/network/NetworkingContext.h" | |
| 37 #include "core/platform/network/ResourceError.h" | 36 #include "core/platform/network/ResourceError.h" |
| 38 #include "core/platform/network/ResourceHandleClient.h" | 37 #include "core/platform/network/ResourceHandleClient.h" |
| 39 #include "core/platform/network/ResourceHandleInternal.h" | 38 #include "core/platform/network/ResourceHandleInternal.h" |
| 40 #include "core/platform/network/ResourceRequest.h" | 39 #include "core/platform/network/ResourceRequest.h" |
| 41 #include "core/platform/network/ResourceResponse.h" | 40 #include "core/platform/network/ResourceResponse.h" |
| 42 #include "public/platform/Platform.h" | 41 #include "public/platform/Platform.h" |
| 43 #include "public/platform/WebURLError.h" | 42 #include "public/platform/WebURLError.h" |
| 44 #include "public/platform/WebURLLoader.h" | 43 #include "public/platform/WebURLLoader.h" |
| 45 #include "public/platform/WebURLLoaderClient.h" | 44 #include "public/platform/WebURLLoaderClient.h" |
| 46 #include "public/platform/WebURLRequest.h" | 45 #include "public/platform/WebURLRequest.h" |
| 47 #include "public/platform/WebURLResponse.h" | 46 #include "public/platform/WebURLResponse.h" |
| 48 | 47 |
| 49 using namespace WebKit; | 48 using namespace WebKit; |
| 50 | 49 |
| 51 namespace WebCore { | 50 namespace WebCore { |
| 52 | 51 |
| 53 // ResourceHandleInternal ----------------------------------------------------- | 52 // ResourceHandleInternal ----------------------------------------------------- |
| 54 ResourceHandleInternal::ResourceHandleInternal(NetworkingContext* context, const ResourceRequest& request, ResourceHandleClient* client) | 53 ResourceHandleInternal::ResourceHandleInternal(const ResourceRequest& request, R esourceHandleClient* client) |
| 55 : m_context(context) | 54 : m_request(request) |
| 56 , m_request(request) | |
| 57 , m_owner(0) | 55 , m_owner(0) |
| 58 , m_client(client) | 56 , m_client(client) |
| 59 , m_state(ConnectionStateNew) | 57 , m_state(ConnectionStateNew) |
| 60 { | 58 { |
| 61 } | 59 } |
| 62 | 60 |
| 63 void ResourceHandleInternal::start(StoredCredentials storedCredentials) | 61 void ResourceHandleInternal::start(StoredCredentials storedCredentials) |
| 64 { | 62 { |
| 65 if (m_state != ConnectionStateNew) | 63 if (m_state != ConnectionStateNew) |
| 66 CRASH(); | 64 CRASH(); |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 166 m_client->didFail(m_owner, error); | 164 m_client->didFail(m_owner, error); |
| 167 } | 165 } |
| 168 | 166 |
| 169 ResourceHandleInternal* ResourceHandleInternal::FromResourceHandle(ResourceHandl e* handle) | 167 ResourceHandleInternal* ResourceHandleInternal::FromResourceHandle(ResourceHandl e* handle) |
| 170 { | 168 { |
| 171 return handle->d.get(); | 169 return handle->d.get(); |
| 172 } | 170 } |
| 173 | 171 |
| 174 // ResourceHandle ------------------------------------------------------------- | 172 // ResourceHandle ------------------------------------------------------------- |
| 175 | 173 |
| 176 ResourceHandle::ResourceHandle(NetworkingContext* context, const ResourceRequest & request, ResourceHandleClient* client, bool defersLoading, bool shouldContentS niff) | 174 ResourceHandle::ResourceHandle(const ResourceRequest& request, ResourceHandleCli ent* client, bool defersLoading, bool shouldContentSniff) |
| 177 : d(adoptPtr(new ResourceHandleInternal(context, request, client))) | 175 : d(adoptPtr(new ResourceHandleInternal(request, client))) |
| 178 { | 176 { |
| 179 d->setOwner(this); | 177 d->setOwner(this); |
| 180 | 178 |
| 181 // FIXME: Figure out what to do with the bool params. | 179 // FIXME: Figure out what to do with the bool params. |
| 182 } | 180 } |
| 183 | 181 |
| 184 PassRefPtr<ResourceHandle> ResourceHandle::create(NetworkingContext* context, | 182 PassRefPtr<ResourceHandle> ResourceHandle::create(const ResourceRequest& request , |
| 185 const ResourceRequest& request , | |
| 186 ResourceHandleClient* client, | 183 ResourceHandleClient* client, |
| 187 bool defersLoading, | 184 bool defersLoading, |
| 188 bool shouldContentSniff, | 185 bool shouldContentSniff, |
| 189 StoredCredentials storedCreden tials) | 186 StoredCredentials storedCreden tials) |
| 190 { | 187 { |
| 191 RefPtr<ResourceHandle> newHandle = adoptRef(new ResourceHandle( | 188 RefPtr<ResourceHandle> newHandle = adoptRef(new ResourceHandle(request, clie nt, defersLoading, shouldContentSniff)); |
| 192 context, request, client, defersLoading, shouldContentSniff)); | |
| 193 | 189 |
| 194 if (newHandle->start(storedCredentials)) | 190 newHandle->start(storedCredentials); |
| 195 return newHandle.release(); | 191 return newHandle.release(); |
| 196 | |
| 197 return 0; | |
| 198 } | 192 } |
| 199 | 193 |
| 200 ResourceRequest& ResourceHandle::firstRequest() | 194 ResourceRequest& ResourceHandle::firstRequest() |
| 201 { | 195 { |
| 202 return d->request(); | 196 return d->request(); |
| 203 } | 197 } |
| 204 | 198 |
| 205 NetworkingContext* ResourceHandle::context() const | |
| 206 { | |
| 207 return d->context(); | |
| 208 } | |
| 209 | |
| 210 ResourceHandleClient* ResourceHandle::client() const | 199 ResourceHandleClient* ResourceHandle::client() const |
| 211 { | 200 { |
| 212 return d->client(); | 201 return d->client(); |
| 213 } | 202 } |
| 214 | 203 |
| 215 void ResourceHandle::setClient(ResourceHandleClient* client) | 204 void ResourceHandle::setClient(ResourceHandleClient* client) |
| 216 { | 205 { |
| 217 d->setClient(client); | 206 d->setClient(client); |
| 218 } | 207 } |
| 219 | 208 |
| 220 void ResourceHandle::setDefersLoading(bool value) | 209 void ResourceHandle::setDefersLoading(bool value) |
| 221 { | 210 { |
| 222 d->setDefersLoading(value); | 211 d->setDefersLoading(value); |
| 223 } | 212 } |
| 224 | 213 |
| 225 bool ResourceHandle::start(StoredCredentials storedCredentials) | 214 void ResourceHandle::start(StoredCredentials storedCredentials) |
| 226 { | 215 { |
| 227 if (!d->context()) | |
| 228 return false; | |
|
abarth-chromium
2013/06/03 21:11:53
This probably allows data URLs in SVG in <img> to
pdr.
2013/06/03 21:34:42
Not quite, but very close.
| |
| 229 | |
| 230 d->start(storedCredentials); | 216 d->start(storedCredentials); |
| 231 return true; | |
| 232 } | 217 } |
| 233 | 218 |
| 234 void ResourceHandle::cancel() | 219 void ResourceHandle::cancel() |
| 235 { | 220 { |
| 236 d->cancel(); | 221 d->cancel(); |
| 237 } | 222 } |
| 238 | 223 |
| 239 ResourceHandle::~ResourceHandle() | 224 ResourceHandle::~ResourceHandle() |
| 240 { | 225 { |
| 241 d->setOwner(0); | 226 d->setOwner(0); |
| 242 } | 227 } |
| 243 | 228 |
| 244 // static | 229 // static |
| 245 void ResourceHandle::loadResourceSynchronously(NetworkingContext* context, | 230 void ResourceHandle::loadResourceSynchronously(const ResourceRequest& request, |
| 246 const ResourceRequest& request, | |
| 247 StoredCredentials storedCredentia ls, | 231 StoredCredentials storedCredentia ls, |
| 248 ResourceError& error, | 232 ResourceError& error, |
| 249 ResourceResponse& response, | 233 ResourceResponse& response, |
| 250 Vector<char>& data) | 234 Vector<char>& data) |
| 251 { | 235 { |
| 252 OwnPtr<WebURLLoader> loader = adoptPtr(Platform::current()->createURLLoader( )); | 236 OwnPtr<WebURLLoader> loader = adoptPtr(Platform::current()->createURLLoader( )); |
| 253 ASSERT(loader); | 237 ASSERT(loader); |
| 254 | 238 |
| 255 WrappedResourceRequest requestIn(request); | 239 WrappedResourceRequest requestIn(request); |
| 256 requestIn.setAllowStoredCredentials(storedCredentials == AllowStoredCredenti als); | 240 requestIn.setAllowStoredCredentials(storedCredentials == AllowStoredCredenti als); |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 270 d->didChangePriority(static_cast<WebURLRequest::Priority>(newPriority)); | 254 d->didChangePriority(static_cast<WebURLRequest::Priority>(newPriority)); |
| 271 } | 255 } |
| 272 | 256 |
| 273 // static | 257 // static |
| 274 void ResourceHandle::cacheMetadata(const ResourceResponse& response, const Vecto r<char>& data) | 258 void ResourceHandle::cacheMetadata(const ResourceResponse& response, const Vecto r<char>& data) |
| 275 { | 259 { |
| 276 WebKit::Platform::current()->cacheMetadata(response.url(), response.response Time(), data.data(), data.size()); | 260 WebKit::Platform::current()->cacheMetadata(response.url(), response.response Time(), data.data(), data.size()); |
| 277 } | 261 } |
| 278 | 262 |
| 279 } // namespace WebCore | 263 } // namespace WebCore |
| OLD | NEW |