OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/async_resource_handler.h" | 5 #include "content/browser/loader/async_resource_handler.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 #include <memory> | 9 #include <memory> |
10 #include <string> | 10 #include <string> |
(...skipping 15 matching lines...) Expand all Loading... |
26 #include "content/browser/loader/resource_dispatcher_host_impl.h" | 26 #include "content/browser/loader/resource_dispatcher_host_impl.h" |
27 #include "content/browser/loader/resource_loader.h" | 27 #include "content/browser/loader/resource_loader.h" |
28 #include "content/browser/loader/resource_loader_delegate.h" | 28 #include "content/browser/loader/resource_loader_delegate.h" |
29 #include "content/browser/loader/resource_message_filter.h" | 29 #include "content/browser/loader/resource_message_filter.h" |
30 #include "content/browser/loader/resource_request_info_impl.h" | 30 #include "content/browser/loader/resource_request_info_impl.h" |
31 #include "content/common/resource_messages.h" | 31 #include "content/common/resource_messages.h" |
32 #include "content/common/resource_request.h" | 32 #include "content/common/resource_request.h" |
33 #include "content/public/browser/resource_context.h" | 33 #include "content/public/browser/resource_context.h" |
34 #include "content/public/browser/resource_request_info.h" | 34 #include "content/public/browser/resource_request_info.h" |
35 #include "content/public/common/content_features.h" | 35 #include "content/public/common/content_features.h" |
36 #include "content/public/common/process_type.h" | |
37 #include "content/public/common/resource_type.h" | 36 #include "content/public/common/resource_type.h" |
38 #include "content/public/test/mock_resource_context.h" | 37 #include "content/public/test/mock_resource_context.h" |
39 #include "content/public/test/test_browser_thread_bundle.h" | 38 #include "content/public/test/test_browser_thread_bundle.h" |
40 #include "ipc/ipc_message.h" | 39 #include "ipc/ipc_message.h" |
41 #include "ipc/ipc_message_macros.h" | 40 #include "ipc/ipc_message_macros.h" |
42 #include "net/http/http_response_headers.h" | 41 #include "net/http/http_response_headers.h" |
43 #include "net/http/http_util.h" | 42 #include "net/http/http_util.h" |
44 #include "net/ssl/client_cert_store.h" | 43 #include "net/ssl/client_cert_store.h" |
45 #include "net/url_request/url_request.h" | 44 #include "net/url_request/url_request.h" |
46 #include "net/url_request/url_request_context.h" | 45 #include "net/url_request/url_request_context.h" |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 size_t response_data_size_; | 84 size_t response_data_size_; |
86 }; | 85 }; |
87 | 86 |
88 // A subclass of ResourceMessageFilter that records IPC messages that are sent. | 87 // A subclass of ResourceMessageFilter that records IPC messages that are sent. |
89 class RecordingResourceMessageFilter : public ResourceMessageFilter { | 88 class RecordingResourceMessageFilter : public ResourceMessageFilter { |
90 public: | 89 public: |
91 RecordingResourceMessageFilter(ResourceContext* resource_context, | 90 RecordingResourceMessageFilter(ResourceContext* resource_context, |
92 net::URLRequestContext* request_context) | 91 net::URLRequestContext* request_context) |
93 : ResourceMessageFilter( | 92 : ResourceMessageFilter( |
94 0, | 93 0, |
95 PROCESS_TYPE_RENDERER, | |
96 nullptr, | 94 nullptr, |
97 nullptr, | 95 nullptr, |
98 nullptr, | 96 nullptr, |
99 nullptr, | 97 nullptr, |
100 base::Bind(&RecordingResourceMessageFilter::GetContexts, | 98 base::Bind(&RecordingResourceMessageFilter::GetContexts, |
101 base::Unretained(this))), | 99 base::Unretained(this))), |
102 resource_context_(resource_context), | 100 resource_context_(resource_context), |
103 request_context_(request_context) { | 101 request_context_(request_context) { |
104 set_peer_process_for_testing(base::Process::Current()); | 102 set_peer_process_for_testing(base::Process::Current()); |
105 } | 103 } |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
152 test_job_factory_.SetProtocolHandler( | 150 test_job_factory_.SetProtocolHandler( |
153 "test", base::MakeUnique<TestProtocolHandler>(response_data_size)); | 151 "test", base::MakeUnique<TestProtocolHandler>(response_data_size)); |
154 context_.set_job_factory(&test_job_factory_); | 152 context_.set_job_factory(&test_job_factory_); |
155 context_.Init(); | 153 context_.Init(); |
156 std::unique_ptr<net::URLRequest> request = context_.CreateRequest( | 154 std::unique_ptr<net::URLRequest> request = context_.CreateRequest( |
157 GURL("test:test"), net::DEFAULT_PRIORITY, nullptr); | 155 GURL("test:test"), net::DEFAULT_PRIORITY, nullptr); |
158 resource_context_ = base::MakeUnique<MockResourceContext>(&context_); | 156 resource_context_ = base::MakeUnique<MockResourceContext>(&context_); |
159 filter_ = | 157 filter_ = |
160 new RecordingResourceMessageFilter(resource_context_.get(), &context_); | 158 new RecordingResourceMessageFilter(resource_context_.get(), &context_); |
161 ResourceRequestInfoImpl* info = new ResourceRequestInfoImpl( | 159 ResourceRequestInfoImpl* info = new ResourceRequestInfoImpl( |
162 PROCESS_TYPE_RENDERER, // process_type | 160 ResourceRequesterInfo::CreateForRenderer(filter_->GetWeakPtr()), |
163 0, // child_id | |
164 0, // route_id | 161 0, // route_id |
165 -1, // frame_tree_node_id | 162 -1, // frame_tree_node_id |
166 0, // origin_pid | 163 0, // origin_pid |
167 0, // request_id | 164 0, // request_id |
168 0, // render_frame_id | 165 0, // render_frame_id |
169 false, // is_main_frame | 166 false, // is_main_frame |
170 false, // parent_is_main_frame | 167 false, // parent_is_main_frame |
171 RESOURCE_TYPE_IMAGE, // resource_type | 168 RESOURCE_TYPE_IMAGE, // resource_type |
172 ui::PAGE_TRANSITION_LINK, // transition_type | 169 ui::PAGE_TRANSITION_LINK, // transition_type |
173 false, // should_replace_current_entry | 170 false, // should_replace_current_entry |
174 false, // is_download | 171 false, // is_download |
175 false, // is_stream | 172 false, // is_stream |
176 false, // allow_download | 173 false, // allow_download |
177 false, // has_user_gesture | 174 false, // has_user_gesture |
178 false, // enable load timing | 175 false, // enable load timing |
179 false, // enable upload progress | 176 false, // enable upload progress |
180 false, // do_not_prompt_for_login | 177 false, // do_not_prompt_for_login |
181 blink::WebReferrerPolicyDefault, // referrer_policy | 178 blink::WebReferrerPolicyDefault, // referrer_policy |
182 blink::WebPageVisibilityStateVisible, // visibility_state | 179 blink::WebPageVisibilityStateVisible, // visibility_state |
183 resource_context_.get(), // context | 180 resource_context_.get(), // context |
184 filter_->GetWeakPtr(), // filter | |
185 false, // report_raw_headers | 181 false, // report_raw_headers |
186 true, // is_async | 182 true, // is_async |
187 false, // is_using_lofi | 183 false, // is_using_lofi |
188 std::string(), // original_headers | 184 std::string(), // original_headers |
189 nullptr, // body | 185 nullptr, // body |
190 false); // initiated_in_secure_context | 186 false); // initiated_in_secure_context |
191 info->AssociateWithRequest(request.get()); | 187 info->AssociateWithRequest(request.get()); |
192 std::unique_ptr<AsyncResourceHandler> handler = | 188 std::unique_ptr<AsyncResourceHandler> handler = |
193 base::MakeUnique<AsyncResourceHandler>(request.get(), &rdh_); | 189 base::MakeUnique<AsyncResourceHandler>(request.get(), &rdh_); |
194 loader_ = base::MakeUnique<ResourceLoader>( | 190 loader_ = base::MakeUnique<ResourceLoader>( |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 | 295 |
300 encoded_data_length = std::get<3>(params); | 296 encoded_data_length = std::get<3>(params); |
301 EXPECT_EQ(32768, encoded_data_length); | 297 EXPECT_EQ(32768, encoded_data_length); |
302 encoded_body_length = std::get<4>(params); | 298 encoded_body_length = std::get<4>(params); |
303 EXPECT_EQ(32768, encoded_body_length); | 299 EXPECT_EQ(32768, encoded_body_length); |
304 } | 300 } |
305 | 301 |
306 } // namespace | 302 } // namespace |
307 | 303 |
308 } // namespace content | 304 } // namespace content |
OLD | NEW |