| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 // | 4 // |
| 5 // This file contains an implementation of the ResourceLoaderBridge class. | 5 // This file contains an implementation of the ResourceLoaderBridge class. |
| 6 // The class is implemented using net::URLRequest, meaning it is a "simple" | 6 // The class is implemented using net::URLRequest, meaning it is a "simple" |
| 7 // version that directly issues requests. The more complicated one used in the | 7 // version that directly issues requests. The more complicated one used in the |
| 8 // browser uses IPC. | 8 // browser uses IPC. |
| 9 // | 9 // |
| 10 // Because net::URLRequest only provides an asynchronous resource loading API, | 10 // Because net::URLRequest only provides an asynchronous resource loading API, |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 #include "net/base/static_cookie_policy.h" | 55 #include "net/base/static_cookie_policy.h" |
| 56 #include "net/base/upload_data_stream.h" | 56 #include "net/base/upload_data_stream.h" |
| 57 #include "net/cookies/cookie_store.h" | 57 #include "net/cookies/cookie_store.h" |
| 58 #include "net/http/http_cache.h" | 58 #include "net/http/http_cache.h" |
| 59 #include "net/http/http_request_headers.h" | 59 #include "net/http/http_request_headers.h" |
| 60 #include "net/http/http_response_headers.h" | 60 #include "net/http/http_response_headers.h" |
| 61 #include "net/url_request/url_request.h" | 61 #include "net/url_request/url_request.h" |
| 62 #include "net/url_request/url_request_context.h" | 62 #include "net/url_request/url_request_context.h" |
| 63 #include "net/url_request/url_request_job.h" | 63 #include "net/url_request/url_request_job.h" |
| 64 #include "webkit/appcache/appcache_interfaces.h" | 64 #include "webkit/appcache/appcache_interfaces.h" |
| 65 #include "webkit/blob/blob_storage_controller.h" | 65 #include "webkit/blob/blob_storage_context.h" |
| 66 #include "webkit/blob/blob_url_request_job.h" | 66 #include "webkit/blob/blob_url_request_job_factory.h" |
| 67 #include "webkit/blob/shareable_file_reference.h" | 67 #include "webkit/blob/shareable_file_reference.h" |
| 68 #include "webkit/fileapi/file_system_context.h" | 68 #include "webkit/fileapi/file_system_context.h" |
| 69 #include "webkit/fileapi/file_system_dir_url_request_job.h" | 69 #include "webkit/fileapi/file_system_dir_url_request_job.h" |
| 70 #include "webkit/fileapi/file_system_url_request_job.h" | 70 #include "webkit/fileapi/file_system_url_request_job.h" |
| 71 #include "webkit/glue/resource_loader_bridge.h" | 71 #include "webkit/glue/resource_loader_bridge.h" |
| 72 #include "webkit/glue/resource_request_body.h" | 72 #include "webkit/glue/resource_request_body.h" |
| 73 #include "webkit/glue/webkit_glue.h" | 73 #include "webkit/glue/webkit_glue.h" |
| 74 #include "webkit/tools/test_shell/simple_appcache_system.h" | 74 #include "webkit/tools/test_shell/simple_appcache_system.h" |
| 75 #include "webkit/tools/test_shell/simple_file_system.h" | 75 #include "webkit/tools/test_shell/simple_file_system.h" |
| 76 #include "webkit/tools/test_shell/simple_file_writer.h" | 76 #include "webkit/tools/test_shell/simple_file_writer.h" |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 266 g_request_context_params = NULL; | 266 g_request_context_params = NULL; |
| 267 } else { | 267 } else { |
| 268 g_request_context = new TestShellRequestContext(); | 268 g_request_context = new TestShellRequestContext(); |
| 269 } | 269 } |
| 270 | 270 |
| 271 g_network_delegate = new TestShellNetworkDelegate(); | 271 g_network_delegate = new TestShellNetworkDelegate(); |
| 272 g_request_context->set_network_delegate(g_network_delegate); | 272 g_request_context->set_network_delegate(g_network_delegate); |
| 273 | 273 |
| 274 SimpleAppCacheSystem::InitializeOnIOThread(g_request_context); | 274 SimpleAppCacheSystem::InitializeOnIOThread(g_request_context); |
| 275 SimpleSocketStreamBridge::InitializeOnIOThread(g_request_context); | 275 SimpleSocketStreamBridge::InitializeOnIOThread(g_request_context); |
| 276 SimpleFileWriter::InitializeOnIOThread(g_request_context); | 276 SimpleFileWriter::InitializeOnIOThread( |
| 277 SimpleFileSystem::InitializeOnIOThread( | 277 g_request_context, g_request_context->blob_storage_context()); |
| 278 g_request_context->blob_storage_controller()); | |
| 279 TestShellWebBlobRegistryImpl::InitializeOnIOThread( | 278 TestShellWebBlobRegistryImpl::InitializeOnIOThread( |
| 280 g_request_context->blob_storage_controller()); | 279 g_request_context->blob_storage_context()); |
| 281 } | 280 } |
| 282 | 281 |
| 283 virtual void CleanUp() OVERRIDE { | 282 virtual void CleanUp() OVERRIDE { |
| 284 // In reverse order of initialization. | 283 // In reverse order of initialization. |
| 285 TestShellWebBlobRegistryImpl::Cleanup(); | 284 TestShellWebBlobRegistryImpl::Cleanup(); |
| 286 SimpleFileSystem::CleanupOnIOThread(); | |
| 287 SimpleFileWriter::CleanupOnIOThread(); | 285 SimpleFileWriter::CleanupOnIOThread(); |
| 288 SimpleSocketStreamBridge::Cleanup(); | 286 SimpleSocketStreamBridge::Cleanup(); |
| 289 SimpleAppCacheSystem::CleanupOnIOThread(); | 287 SimpleAppCacheSystem::CleanupOnIOThread(); |
| 290 | 288 |
| 291 if (g_request_context) { | 289 if (g_request_context) { |
| 292 g_request_context->set_network_delegate(NULL); | 290 g_request_context->set_network_delegate(NULL); |
| 293 delete g_request_context; | 291 delete g_request_context; |
| 294 g_request_context = NULL; | 292 g_request_context = NULL; |
| 295 } | 293 } |
| 296 | 294 |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 458 webkit_glue::ConfigureURLRequestForReferrerPolicy( | 456 webkit_glue::ConfigureURLRequestForReferrerPolicy( |
| 459 request_.get(), params->referrer_policy); | 457 request_.get(), params->referrer_policy); |
| 460 net::HttpRequestHeaders headers; | 458 net::HttpRequestHeaders headers; |
| 461 headers.AddHeadersFromString(params->headers); | 459 headers.AddHeadersFromString(params->headers); |
| 462 request_->SetExtraRequestHeaders(headers); | 460 request_->SetExtraRequestHeaders(headers); |
| 463 request_->set_load_flags(params->load_flags); | 461 request_->set_load_flags(params->load_flags); |
| 464 if (params->request_body) { | 462 if (params->request_body) { |
| 465 request_->set_upload(make_scoped_ptr( | 463 request_->set_upload(make_scoped_ptr( |
| 466 params->request_body->ResolveElementsAndCreateUploadDataStream( | 464 params->request_body->ResolveElementsAndCreateUploadDataStream( |
| 467 static_cast<TestShellRequestContext*>(g_request_context)-> | 465 static_cast<TestShellRequestContext*>(g_request_context)-> |
| 468 blob_storage_controller(), | 466 blob_storage_context(), |
| 469 static_cast<TestShellRequestContext*>(g_request_context)-> | 467 static_cast<TestShellRequestContext*>(g_request_context)-> |
| 470 file_system_context(), | 468 file_system_context(), |
| 471 base::MessageLoopProxy::current()))); | 469 base::MessageLoopProxy::current()))); |
| 472 } | 470 } |
| 471 |
| 472 if (request_->url().SchemeIs("blob")) { |
| 473 webkit_blob::BlobProtocolHandler::SetRequestedBlobDataHandle( |
| 474 request_.get(), |
| 475 static_cast<TestShellRequestContext*>(g_request_context)-> |
| 476 blob_storage_context()-> |
| 477 GetBlobDataFromPublicUrl(request_->url())); |
| 478 } |
| 479 |
| 473 SimpleAppCacheSystem::SetExtraRequestInfo( | 480 SimpleAppCacheSystem::SetExtraRequestInfo( |
| 474 request_.get(), params->appcache_host_id, params->request_type); | 481 request_.get(), params->appcache_host_id, params->request_type); |
| 475 | 482 |
| 476 download_to_file_ = params->download_to_file; | 483 download_to_file_ = params->download_to_file; |
| 477 if (download_to_file_) { | 484 if (download_to_file_) { |
| 478 base::FilePath path; | 485 base::FilePath path; |
| 479 if (file_util::CreateTemporaryFile(&path)) { | 486 if (file_util::CreateTemporaryFile(&path)) { |
| 480 downloaded_file_ = ShareableFileReference::GetOrCreate( | 487 downloaded_file_ = ShareableFileReference::GetOrCreate( |
| 481 path, ShareableFileReference::DELETE_ON_FINAL_RELEASE, | 488 path, ShareableFileReference::DELETE_ON_FINAL_RELEASE, |
| 482 base::MessageLoopProxy::current()); | 489 base::MessageLoopProxy::current()); |
| (...skipping 674 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1157 if (!g_file_over_http_mappings) | 1164 if (!g_file_over_http_mappings) |
| 1158 g_file_over_http_mappings = new FileOverHTTPPathMappings(); | 1165 g_file_over_http_mappings = new FileOverHTTPPathMappings(); |
| 1159 g_file_over_http_mappings->AddMapping(file_path_template, http_prefix); | 1166 g_file_over_http_mappings->AddMapping(file_path_template, http_prefix); |
| 1160 } | 1167 } |
| 1161 | 1168 |
| 1162 // static | 1169 // static |
| 1163 webkit_glue::ResourceLoaderBridge* SimpleResourceLoaderBridge::Create( | 1170 webkit_glue::ResourceLoaderBridge* SimpleResourceLoaderBridge::Create( |
| 1164 const webkit_glue::ResourceLoaderBridge::RequestInfo& request_info) { | 1171 const webkit_glue::ResourceLoaderBridge::RequestInfo& request_info) { |
| 1165 return new ResourceLoaderBridgeImpl(request_info); | 1172 return new ResourceLoaderBridgeImpl(request_info); |
| 1166 } | 1173 } |
| OLD | NEW |