| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 URLRequest, meaning it is a "simple" version | 6 // The class is implemented using URLRequest, meaning it is a "simple" version |
| 7 // that directly issues requests. The more complicated one used in the | 7 // that directly issues requests. The more complicated one used in the |
| 8 // browser uses IPC. | 8 // browser uses IPC. |
| 9 // | 9 // |
| 10 // Because URLRequest only provides an asynchronous resource loading API, this | 10 // Because URLRequest only provides an asynchronous resource loading API, this |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 #include "net/base/load_flags.h" | 43 #include "net/base/load_flags.h" |
| 44 #include "net/base/net_errors.h" | 44 #include "net/base/net_errors.h" |
| 45 #include "net/base/net_util.h" | 45 #include "net/base/net_util.h" |
| 46 #include "net/base/upload_data.h" | 46 #include "net/base/upload_data.h" |
| 47 #include "net/http/http_response_headers.h" | 47 #include "net/http/http_response_headers.h" |
| 48 #include "net/proxy/proxy_service.h" | 48 #include "net/proxy/proxy_service.h" |
| 49 #include "net/url_request/url_request.h" | 49 #include "net/url_request/url_request.h" |
| 50 #include "webkit/appcache/appcache_interfaces.h" | 50 #include "webkit/appcache/appcache_interfaces.h" |
| 51 #include "webkit/glue/resource_loader_bridge.h" | 51 #include "webkit/glue/resource_loader_bridge.h" |
| 52 #include "webkit/tools/test_shell/simple_appcache_system.h" | 52 #include "webkit/tools/test_shell/simple_appcache_system.h" |
| 53 #include "webkit/tools/test_shell/simple_socket_stream_bridge.h" |
| 53 #include "webkit/tools/test_shell/test_shell_request_context.h" | 54 #include "webkit/tools/test_shell/test_shell_request_context.h" |
| 54 | 55 |
| 55 using webkit_glue::ResourceLoaderBridge; | 56 using webkit_glue::ResourceLoaderBridge; |
| 56 using net::CookiePolicy; | 57 using net::CookiePolicy; |
| 57 using net::HttpResponseHeaders; | 58 using net::HttpResponseHeaders; |
| 58 | 59 |
| 59 namespace { | 60 namespace { |
| 60 | 61 |
| 61 //----------------------------------------------------------------------------- | 62 //----------------------------------------------------------------------------- |
| 62 | 63 |
| 63 URLRequestContext* request_context = NULL; | 64 URLRequestContext* request_context = NULL; |
| 64 base::Thread* io_thread = NULL; | 65 base::Thread* io_thread = NULL; |
| 65 | 66 |
| 66 class IOThread : public base::Thread { | 67 class IOThread : public base::Thread { |
| 67 public: | 68 public: |
| 68 IOThread() : base::Thread("IOThread") { | 69 IOThread() : base::Thread("IOThread") { |
| 69 } | 70 } |
| 70 | 71 |
| 71 ~IOThread() { | 72 ~IOThread() { |
| 72 // We cannot rely on our base class to stop the thread since we want our | 73 // We cannot rely on our base class to stop the thread since we want our |
| 73 // CleanUp function to run. | 74 // CleanUp function to run. |
| 74 Stop(); | 75 Stop(); |
| 75 } | 76 } |
| 76 | 77 |
| 77 virtual void Init() { | 78 virtual void Init() { |
| 78 SimpleAppCacheSystem::InitializeOnIOThread(request_context); | 79 SimpleAppCacheSystem::InitializeOnIOThread(request_context); |
| 80 SimpleSocketStreamBridge::InitializeOnIOThread(request_context); |
| 79 } | 81 } |
| 80 | 82 |
| 81 virtual void CleanUp() { | 83 virtual void CleanUp() { |
| 84 SimpleSocketStreamBridge::Cleanup(); |
| 82 if (request_context) { | 85 if (request_context) { |
| 83 request_context->Release(); | 86 request_context->Release(); |
| 84 request_context = NULL; | 87 request_context = NULL; |
| 85 } | 88 } |
| 86 } | 89 } |
| 87 }; | 90 }; |
| 88 | 91 |
| 89 //----------------------------------------------------------------------------- | 92 //----------------------------------------------------------------------------- |
| 90 | 93 |
| 91 struct RequestParams { | 94 struct RequestParams { |
| (...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 722 options.message_loop_type = MessageLoop::TYPE_IO; | 725 options.message_loop_type = MessageLoop::TYPE_IO; |
| 723 return io_thread->StartWithOptions(options); | 726 return io_thread->StartWithOptions(options); |
| 724 } | 727 } |
| 725 | 728 |
| 726 // static | 729 // static |
| 727 void SimpleResourceLoaderBridge::SetAcceptAllCookies(bool accept_all_cookies) { | 730 void SimpleResourceLoaderBridge::SetAcceptAllCookies(bool accept_all_cookies) { |
| 728 CookiePolicy::Type policy_type = accept_all_cookies ? | 731 CookiePolicy::Type policy_type = accept_all_cookies ? |
| 729 CookiePolicy::ALLOW_ALL_COOKIES : CookiePolicy::BLOCK_THIRD_PARTY_COOKIES; | 732 CookiePolicy::ALLOW_ALL_COOKIES : CookiePolicy::BLOCK_THIRD_PARTY_COOKIES; |
| 730 request_context->cookie_policy()->set_type(policy_type); | 733 request_context->cookie_policy()->set_type(policy_type); |
| 731 } | 734 } |
| OLD | NEW |