OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/macros.h" | 6 #include "base/macros.h" |
7 #include "base/memory/ref_counted.h" | 7 #include "base/memory/ref_counted.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
10 #include "content/browser/frame_host/navigation_request_info.h" | 10 #include "content/browser/frame_host/navigation_request_info.h" |
11 #include "content/browser/loader/navigation_url_loader_delegate.h" | 11 #include "content/browser/loader/navigation_url_loader_delegate.h" |
12 #include "content/browser/loader/navigation_url_loader_impl.h" | 12 #include "content/browser/loader/navigation_url_loader_impl.h" |
13 #include "content/browser/loader/resource_dispatcher_host_impl.h" | 13 #include "content/browser/loader/resource_dispatcher_host_impl.h" |
14 #include "content/browser/streams/stream.h" | 14 #include "content/browser/streams/stream.h" |
15 #include "content/browser/streams/stream_context.h" | 15 #include "content/browser/streams/stream_context.h" |
16 #include "content/browser/streams/stream_registry.h" | 16 #include "content/browser/streams/stream_registry.h" |
17 #include "content/browser/streams/stream_url_request_job.h" | 17 #include "content/browser/streams/stream_url_request_job.h" |
18 #include "content/common/navigation_params.h" | 18 #include "content/common/navigation_params.h" |
19 #include "content/public/browser/browser_context.h" | 19 #include "content/public/browser/browser_context.h" |
20 #include "content/public/browser/resource_context.h" | 20 #include "content/public/browser/resource_context.h" |
21 #include "content/public/browser/resource_dispatcher_host_delegate.h" | 21 #include "content/public/browser/resource_dispatcher_host_delegate.h" |
22 #include "content/public/browser/stream_handle.h" | 22 #include "content/public/browser/stream_handle.h" |
23 #include "content/public/common/content_switches.h" | 23 #include "content/public/common/content_switches.h" |
24 #include "content/public/common/resource_response.h" | 24 #include "content/public/common/resource_response.h" |
25 #include "content/public/test/test_browser_context.h" | 25 #include "content/public/test/test_browser_context.h" |
26 #include "content/public/test/test_browser_thread_bundle.h" | 26 #include "content/public/test/test_browser_thread_bundle.h" |
| 27 #include "net/base/load_flags.h" |
27 #include "net/base/net_errors.h" | 28 #include "net/base/net_errors.h" |
28 #include "net/http/http_response_headers.h" | 29 #include "net/http/http_response_headers.h" |
29 #include "net/url_request/redirect_info.h" | 30 #include "net/url_request/redirect_info.h" |
30 #include "net/url_request/url_request.h" | 31 #include "net/url_request/url_request.h" |
31 #include "net/url_request/url_request_context.h" | 32 #include "net/url_request/url_request_context.h" |
32 #include "net/url_request/url_request_job_factory_impl.h" | 33 #include "net/url_request/url_request_job_factory_impl.h" |
33 #include "net/url_request/url_request_test_job.h" | 34 #include "net/url_request/url_request_test_job.h" |
34 #include "net/url_request/url_request_test_util.h" | 35 #include "net/url_request/url_request_test_util.h" |
35 #include "testing/gtest/include/gtest/gtest.h" | 36 #include "testing/gtest/include/gtest/gtest.h" |
36 | 37 |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
169 request_context->set_job_factory(&job_factory_); | 170 request_context->set_job_factory(&job_factory_); |
170 | 171 |
171 // NavigationURLLoader is only used for browser-side navigations. | 172 // NavigationURLLoader is only used for browser-side navigations. |
172 base::CommandLine::ForCurrentProcess()->AppendSwitch( | 173 base::CommandLine::ForCurrentProcess()->AppendSwitch( |
173 switches::kEnableBrowserSideNavigation); | 174 switches::kEnableBrowserSideNavigation); |
174 } | 175 } |
175 | 176 |
176 scoped_ptr<NavigationURLLoader> MakeTestLoader( | 177 scoped_ptr<NavigationURLLoader> MakeTestLoader( |
177 const GURL& url, | 178 const GURL& url, |
178 NavigationURLLoaderDelegate* delegate) { | 179 NavigationURLLoaderDelegate* delegate) { |
179 FrameHostMsg_BeginNavigation_Params begin_params; | 180 BeginNavigationParams begin_params( |
| 181 "GET", std::string(), net::LOAD_NORMAL, false); |
180 CommonNavigationParams common_params; | 182 CommonNavigationParams common_params; |
181 begin_params.method = "GET"; | |
182 common_params.url = url; | 183 common_params.url = url; |
183 scoped_ptr<NavigationRequestInfo> request_info( | 184 scoped_ptr<NavigationRequestInfo> request_info( |
184 new NavigationRequestInfo(begin_params)); | 185 new NavigationRequestInfo(common_params, begin_params, url, true, false, |
185 request_info->first_party_for_cookies = url; | 186 scoped_refptr<ResourceRequestBody>())); |
186 request_info->is_main_frame = true; | |
187 | 187 |
188 return NavigationURLLoader::Create( | 188 return NavigationURLLoader::Create( |
189 browser_context_.get(), 0, | 189 browser_context_.get(), 0, request_info.Pass(), delegate); |
190 common_params, request_info.Pass(), nullptr, delegate); | |
191 } | 190 } |
192 | 191 |
193 // Helper function for fetching the body of a URL to a string. | 192 // Helper function for fetching the body of a URL to a string. |
194 std::string FetchURL(const GURL& url) { | 193 std::string FetchURL(const GURL& url) { |
195 net::TestDelegate delegate; | 194 net::TestDelegate delegate; |
196 net::URLRequestContext* request_context = | 195 net::URLRequestContext* request_context = |
197 browser_context_->GetResourceContext()->GetRequestContext(); | 196 browser_context_->GetResourceContext()->GetRequestContext(); |
198 scoped_ptr<net::URLRequest> request(request_context->CreateRequest( | 197 scoped_ptr<net::URLRequest> request(request_context->CreateRequest( |
199 url, net::DEFAULT_PRIORITY, &delegate, nullptr)); | 198 url, net::DEFAULT_PRIORITY, &delegate, nullptr)); |
200 request->Start(); | 199 request->Start(); |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
394 | 393 |
395 // Release the body. | 394 // Release the body. |
396 delegate.ReleaseBody(); | 395 delegate.ReleaseBody(); |
397 base::RunLoop().RunUntilIdle(); | 396 base::RunLoop().RunUntilIdle(); |
398 | 397 |
399 // Verify that URLRequestTestJob no longer has anything paused. | 398 // Verify that URLRequestTestJob no longer has anything paused. |
400 EXPECT_FALSE(net::URLRequestTestJob::ProcessOnePendingMessage()); | 399 EXPECT_FALSE(net::URLRequestTestJob::ProcessOnePendingMessage()); |
401 } | 400 } |
402 | 401 |
403 } // namespace content | 402 } // namespace content |
OLD | NEW |