Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(488)

Side by Side Diff: content/browser/loader/async_revalidation_manager_unittest.cc

Issue 2481093003: Introduce ResourceRequesterInfo to abstract the requester of resource request (Closed)
Patch Set: fix URLLoaderFactoryImplTest/URLLoaderFactoryImplTest.GetFailedResponse2 Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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_revalidation_manager.h" 5 #include "content/browser/loader/async_revalidation_manager.h"
6 6
7 #include <deque> 7 #include <deque>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/callback.h" 12 #include "base/callback.h"
13 #include "base/macros.h" 13 #include "base/macros.h"
14 #include "base/memory/ptr_util.h" 14 #include "base/memory/ptr_util.h"
15 #include "base/memory/shared_memory_handle.h" 15 #include "base/memory/shared_memory_handle.h"
16 #include "base/pickle.h" 16 #include "base/pickle.h"
17 #include "base/run_loop.h" 17 #include "base/run_loop.h"
18 #include "base/strings/string_util.h" 18 #include "base/strings/string_util.h"
19 #include "content/browser/child_process_security_policy_impl.h" 19 #include "content/browser/child_process_security_policy_impl.h"
20 #include "content/browser/loader/resource_dispatcher_host_impl.h" 20 #include "content/browser/loader/resource_dispatcher_host_impl.h"
21 #include "content/browser/loader/resource_message_filter.h" 21 #include "content/browser/loader/resource_message_filter.h"
22 #include "content/browser/loader_delegate_impl.h" 22 #include "content/browser/loader_delegate_impl.h"
23 #include "content/common/child_process_host_impl.h" 23 #include "content/common/child_process_host_impl.h"
24 #include "content/common/resource_messages.h" 24 #include "content/common/resource_messages.h"
25 #include "content/common/resource_request.h" 25 #include "content/common/resource_request.h"
26 #include "content/public/browser/resource_context.h" 26 #include "content/public/browser/resource_context.h"
27 #include "content/public/common/appcache_info.h" 27 #include "content/public/common/appcache_info.h"
28 #include "content/public/common/process_type.h"
29 #include "content/public/common/resource_type.h" 28 #include "content/public/common/resource_type.h"
30 #include "content/public/test/test_browser_context.h" 29 #include "content/public/test/test_browser_context.h"
31 #include "content/public/test/test_browser_thread_bundle.h" 30 #include "content/public/test/test_browser_thread_bundle.h"
32 #include "ipc/ipc_param_traits.h" 31 #include "ipc/ipc_param_traits.h"
33 #include "net/base/load_flags.h" 32 #include "net/base/load_flags.h"
34 #include "net/base/network_delegate.h" 33 #include "net/base/network_delegate.h"
35 #include "net/http/http_util.h" 34 #include "net/http/http_util.h"
36 #include "net/url_request/url_request.h" 35 #include "net/url_request/url_request.h"
37 #include "net/url_request/url_request_job.h" 36 #include "net/url_request/url_request_job.h"
38 #include "net/url_request/url_request_job_factory.h" 37 #include "net/url_request/url_request_job_factory.h"
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 } 199 }
201 } 200 }
202 } 201 }
203 202
204 // This filter just deletes any messages that are sent through it. 203 // This filter just deletes any messages that are sent through it.
205 class BlackholeFilter : public ResourceMessageFilter { 204 class BlackholeFilter : public ResourceMessageFilter {
206 public: 205 public:
207 explicit BlackholeFilter(ResourceContext* resource_context) 206 explicit BlackholeFilter(ResourceContext* resource_context)
208 : ResourceMessageFilter( 207 : ResourceMessageFilter(
209 ChildProcessHostImpl::GenerateChildProcessUniqueId(), 208 ChildProcessHostImpl::GenerateChildProcessUniqueId(),
210 PROCESS_TYPE_RENDERER,
211 nullptr, 209 nullptr,
212 nullptr, 210 nullptr,
213 nullptr, 211 nullptr,
214 nullptr, 212 nullptr,
215 base::Bind(&BlackholeFilter::GetContexts, base::Unretained(this))), 213 base::Bind(&BlackholeFilter::GetContexts, base::Unretained(this))),
216 resource_context_(resource_context) { 214 resource_context_(resource_context) {
215 InitializeForTest();
217 ChildProcessSecurityPolicyImpl::GetInstance()->Add(child_id()); 216 ChildProcessSecurityPolicyImpl::GetInstance()->Add(child_id());
218 } 217 }
219 218
220 bool Send(IPC::Message* msg) override { 219 bool Send(IPC::Message* msg) override {
221 std::unique_ptr<IPC::Message> take_ownership(msg); 220 std::unique_ptr<IPC::Message> take_ownership(msg);
222 ReleaseHandlesInMessage(*msg); 221 ReleaseHandlesInMessage(*msg);
223 return true; 222 return true;
224 } 223 }
225 224
226 private: 225 private:
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 void SetResponse(const std::string& headers, const std::string& data) { 299 void SetResponse(const std::string& headers, const std::string& data) {
301 job_factory_->SetResponse(headers, data); 300 job_factory_->SetResponse(headers, data);
302 } 301 }
303 302
304 // Creates a request using the current test object as the filter and 303 // Creates a request using the current test object as the filter and
305 // SubResource as the resource type. 304 // SubResource as the resource type.
306 void MakeTestRequest(int render_view_id, int request_id, const GURL& url) { 305 void MakeTestRequest(int render_view_id, int request_id, const GURL& url) {
307 ResourceRequest request = 306 ResourceRequest request =
308 CreateResourceRequest("GET", RESOURCE_TYPE_SUB_RESOURCE, url); 307 CreateResourceRequest("GET", RESOURCE_TYPE_SUB_RESOURCE, url);
309 ResourceHostMsg_RequestResource msg(render_view_id, request_id, request); 308 ResourceHostMsg_RequestResource msg(render_view_id, request_id, request);
310 host_.OnMessageReceived(msg, filter_.get()); 309 filter_->OnMessageReceived(msg);
311 base::RunLoop().RunUntilIdle(); 310 base::RunLoop().RunUntilIdle();
312 } 311 }
313 312
314 void EnsureSchemeIsAllowed(const std::string& scheme) { 313 void EnsureSchemeIsAllowed(const std::string& scheme) {
315 ChildProcessSecurityPolicyImpl* policy = 314 ChildProcessSecurityPolicyImpl* policy =
316 ChildProcessSecurityPolicyImpl::GetInstance(); 315 ChildProcessSecurityPolicyImpl::GetInstance();
317 if (!policy->IsWebSafeScheme(scheme)) 316 if (!policy->IsWebSafeScheme(scheme))
318 policy->RegisterWebSafeScheme(scheme); 317 policy->RegisterWebSafeScheme(scheme);
319 } 318 }
320 319
(...skipping 16 matching lines...) Expand all
337 336
338 EXPECT_TRUE(url_request->load_flags() & net::LOAD_SUPPORT_ASYNC_REVALIDATION); 337 EXPECT_TRUE(url_request->load_flags() & net::LOAD_SUPPORT_ASYNC_REVALIDATION);
339 } 338 }
340 339
341 TEST_F(AsyncRevalidationManagerTest, AsyncRevalidationNotSupportedForPOST) { 340 TEST_F(AsyncRevalidationManagerTest, AsyncRevalidationNotSupportedForPOST) {
342 SetResponse(net::URLRequestTestJob::test_headers(), "delay complete"); 341 SetResponse(net::URLRequestTestJob::test_headers(), "delay complete");
343 // Create POST request. 342 // Create POST request.
344 ResourceRequest request = CreateResourceRequest( 343 ResourceRequest request = CreateResourceRequest(
345 "POST", RESOURCE_TYPE_SUB_RESOURCE, GURL("http://example.com/baz.php")); 344 "POST", RESOURCE_TYPE_SUB_RESOURCE, GURL("http://example.com/baz.php"));
346 ResourceHostMsg_RequestResource msg(0, 1, request); 345 ResourceHostMsg_RequestResource msg(0, 1, request);
347 host_.OnMessageReceived(msg, filter_.get()); 346 filter_->OnMessageReceived(msg);
348 base::RunLoop().RunUntilIdle(); 347 base::RunLoop().RunUntilIdle();
349 348
350 net::URLRequest* url_request( 349 net::URLRequest* url_request(
351 host_.GetURLRequest(GlobalRequestID(filter_->child_id(), 1))); 350 host_.GetURLRequest(GlobalRequestID(filter_->child_id(), 1)));
352 ASSERT_TRUE(url_request); 351 ASSERT_TRUE(url_request);
353 352
354 EXPECT_FALSE(url_request->load_flags() & 353 EXPECT_FALSE(url_request->load_flags() &
355 net::LOAD_SUPPORT_ASYNC_REVALIDATION); 354 net::LOAD_SUPPORT_ASYNC_REVALIDATION);
356 } 355 }
357 356
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 // already completed. 549 // already completed.
551 EXPECT_TRUE(NextRequestWasDestroyed()); 550 EXPECT_TRUE(NextRequestWasDestroyed());
552 551
553 // But no others. 552 // But no others.
554 EXPECT_TRUE(IsEmpty()); 553 EXPECT_TRUE(IsEmpty());
555 } 554 }
556 555
557 } // namespace 556 } // namespace
558 557
559 } // namespace content 558 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/loader/async_revalidation_manager.cc ('k') | content/browser/loader/resource_dispatcher_host_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698