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 #include "content/browser/loader/resource_scheduler.h" | 5 #include "content/browser/loader/resource_scheduler.h" |
6 | 6 |
7 #include "base/memory/scoped_vector.h" | 7 #include "base/memory/scoped_vector.h" |
8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 | 49 |
50 class TestRequest : public ResourceController { | 50 class TestRequest : public ResourceController { |
51 public: | 51 public: |
52 TestRequest(scoped_ptr<ResourceThrottle> throttle, | 52 TestRequest(scoped_ptr<ResourceThrottle> throttle, |
53 scoped_ptr<net::URLRequest> url_request) | 53 scoped_ptr<net::URLRequest> url_request) |
54 : started_(false), | 54 : started_(false), |
55 throttle_(throttle.Pass()), | 55 throttle_(throttle.Pass()), |
56 url_request_(url_request.Pass()) { | 56 url_request_(url_request.Pass()) { |
57 throttle_->set_controller_for_testing(this); | 57 throttle_->set_controller_for_testing(this); |
58 } | 58 } |
59 virtual ~TestRequest() {} | 59 ~TestRequest() override {} |
60 | 60 |
61 bool started() const { return started_; } | 61 bool started() const { return started_; } |
62 | 62 |
63 void Start() { | 63 void Start() { |
64 bool deferred = false; | 64 bool deferred = false; |
65 throttle_->WillStartRequest(&deferred); | 65 throttle_->WillStartRequest(&deferred); |
66 started_ = !deferred; | 66 started_ = !deferred; |
67 } | 67 } |
68 | 68 |
69 virtual void Cancel() override { | 69 void Cancel() override { |
70 // Alert the scheduler that the request can be deleted. | 70 // Alert the scheduler that the request can be deleted. |
71 throttle_.reset(0); | 71 throttle_.reset(0); |
72 } | 72 } |
73 | 73 |
74 const net::URLRequest* url_request() const { return url_request_.get(); } | 74 const net::URLRequest* url_request() const { return url_request_.get(); } |
75 | 75 |
76 protected: | 76 protected: |
77 // ResourceController interface: | 77 // ResourceController interface: |
78 virtual void CancelAndIgnore() override {} | 78 void CancelAndIgnore() override {} |
79 virtual void CancelWithError(int error_code) override {} | 79 void CancelWithError(int error_code) override {} |
80 virtual void Resume() override { started_ = true; } | 80 void Resume() override { started_ = true; } |
81 | 81 |
82 private: | 82 private: |
83 bool started_; | 83 bool started_; |
84 scoped_ptr<ResourceThrottle> throttle_; | 84 scoped_ptr<ResourceThrottle> throttle_; |
85 scoped_ptr<net::URLRequest> url_request_; | 85 scoped_ptr<net::URLRequest> url_request_; |
86 }; | 86 }; |
87 | 87 |
88 class CancelingTestRequest : public TestRequest { | 88 class CancelingTestRequest : public TestRequest { |
89 public: | 89 public: |
90 CancelingTestRequest(scoped_ptr<ResourceThrottle> throttle, | 90 CancelingTestRequest(scoped_ptr<ResourceThrottle> throttle, |
91 scoped_ptr<net::URLRequest> url_request) | 91 scoped_ptr<net::URLRequest> url_request) |
92 : TestRequest(throttle.Pass(), url_request.Pass()) {} | 92 : TestRequest(throttle.Pass(), url_request.Pass()) {} |
93 | 93 |
94 void set_request_to_cancel(scoped_ptr<TestRequest> request_to_cancel) { | 94 void set_request_to_cancel(scoped_ptr<TestRequest> request_to_cancel) { |
95 request_to_cancel_ = request_to_cancel.Pass(); | 95 request_to_cancel_ = request_to_cancel.Pass(); |
96 } | 96 } |
97 | 97 |
98 private: | 98 private: |
99 virtual void Resume() override { | 99 void Resume() override { |
100 TestRequest::Resume(); | 100 TestRequest::Resume(); |
101 request_to_cancel_.reset(); | 101 request_to_cancel_.reset(); |
102 } | 102 } |
103 | 103 |
104 scoped_ptr<TestRequest> request_to_cancel_; | 104 scoped_ptr<TestRequest> request_to_cancel_; |
105 }; | 105 }; |
106 | 106 |
107 class FakeResourceContext : public ResourceContext { | 107 class FakeResourceContext : public ResourceContext { |
108 private: | 108 private: |
109 virtual net::HostResolver* GetHostResolver() override { return NULL; } | 109 net::HostResolver* GetHostResolver() override { return NULL; } |
110 virtual net::URLRequestContext* GetRequestContext() override { return NULL; } | 110 net::URLRequestContext* GetRequestContext() override { return NULL; } |
111 }; | 111 }; |
112 | 112 |
113 class FakeResourceMessageFilter : public ResourceMessageFilter { | 113 class FakeResourceMessageFilter : public ResourceMessageFilter { |
114 public: | 114 public: |
115 FakeResourceMessageFilter(int child_id) | 115 FakeResourceMessageFilter(int child_id) |
116 : ResourceMessageFilter( | 116 : ResourceMessageFilter( |
117 child_id, | 117 child_id, |
118 PROCESS_TYPE_RENDERER, | 118 PROCESS_TYPE_RENDERER, |
119 NULL /* appcache_service */, | 119 NULL /* appcache_service */, |
120 NULL /* blob_storage_context */, | 120 NULL /* blob_storage_context */, |
121 NULL /* file_system_context */, | 121 NULL /* file_system_context */, |
122 NULL /* service_worker_context */, | 122 NULL /* service_worker_context */, |
123 base::Bind(&FakeResourceMessageFilter::GetContexts, | 123 base::Bind(&FakeResourceMessageFilter::GetContexts, |
124 base::Unretained(this))) { | 124 base::Unretained(this))) { |
125 } | 125 } |
126 | 126 |
127 private: | 127 private: |
128 virtual ~FakeResourceMessageFilter() {} | 128 ~FakeResourceMessageFilter() override {} |
129 | 129 |
130 void GetContexts(const ResourceHostMsg_Request& request, | 130 void GetContexts(const ResourceHostMsg_Request& request, |
131 ResourceContext** resource_context, | 131 ResourceContext** resource_context, |
132 net::URLRequestContext** request_context) { | 132 net::URLRequestContext** request_context) { |
133 *resource_context = &context_; | 133 *resource_context = &context_; |
134 *request_context = NULL; | 134 *request_context = NULL; |
135 } | 135 } |
136 | 136 |
137 FakeResourceContext context_; | 137 FakeResourceContext context_; |
138 }; | 138 }; |
(...skipping 2064 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2203 web_contents_2.reset(); | 2203 web_contents_2.reset(); |
2204 base::RunLoop().RunUntilIdle(); | 2204 base::RunLoop().RunUntilIdle(); |
2205 | 2205 |
2206 browser_context.reset(); | 2206 browser_context.reset(); |
2207 render_process_host_factory.reset(); | 2207 render_process_host_factory.reset(); |
2208 } | 2208 } |
2209 | 2209 |
2210 } // unnamed namespace | 2210 } // unnamed namespace |
2211 | 2211 |
2212 } // namespace content | 2212 } // namespace content |
OLD | NEW |