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

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

Issue 2960023002: Remove SupportsUserData from ResourceRequestBodyImpl. (Closed)
Patch Set: Switch to BlobHandles*, fix two comments Created 3 years, 5 months 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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/navigation_url_loader_network_service.h" 5 #include "content/browser/loader/navigation_url_loader_network_service.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "base/trace_event/trace_event.h" 10 #include "base/trace_event/trace_event.h"
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 mojom::URLLoaderFactoryPtrInfo factory_for_webui, 93 mojom::URLLoaderFactoryPtrInfo factory_for_webui,
94 const base::Callback<WebContents*(void)>& web_contents_getter, 94 const base::Callback<WebContents*(void)>& web_contents_getter,
95 std::unique_ptr<service_manager::Connector> connector) { 95 std::unique_ptr<service_manager::Connector> connector) {
96 DCHECK_CURRENTLY_ON(BrowserThread::IO); 96 DCHECK_CURRENTLY_ON(BrowserThread::IO);
97 web_contents_getter_ = web_contents_getter; 97 web_contents_getter_ = web_contents_getter;
98 const ResourceType resource_type = request_info->is_main_frame 98 const ResourceType resource_type = request_info->is_main_frame
99 ? RESOURCE_TYPE_MAIN_FRAME 99 ? RESOURCE_TYPE_MAIN_FRAME
100 : RESOURCE_TYPE_SUB_FRAME; 100 : RESOURCE_TYPE_SUB_FRAME;
101 101
102 if (resource_request_->request_body) { 102 if (resource_request_->request_body) {
103 AttachRequestBodyBlobDataHandles(resource_request_->request_body.get(), 103 GetBodyBlobDataHandles(resource_request_->request_body.get(),
104 resource_context_); 104 resource_context_, &blob_handles_);
105 } 105 }
106 106
107 // Requests to WebUI scheme won't get redirected to/from other schemes 107 // Requests to WebUI scheme won't get redirected to/from other schemes
108 // or be intercepted, so we just let it go here. 108 // or be intercepted, so we just let it go here.
109 if (factory_for_webui.is_valid()) { 109 if (factory_for_webui.is_valid()) {
110 webui_factory_ptr_.Bind(std::move(factory_for_webui)); 110 webui_factory_ptr_.Bind(std::move(factory_for_webui));
111 url_loader_ = ThrottlingURLLoader::CreateLoaderAndStart( 111 url_loader_ = ThrottlingURLLoader::CreateLoaderAndStart(
112 webui_factory_ptr_.get(), 112 webui_factory_ptr_.get(),
113 GetContentClient()->browser()->CreateURLLoaderThrottles( 113 GetContentClient()->browser()->CreateURLLoaderThrottles(
114 web_contents_getter_), 114 web_contents_getter_),
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 std::unique_ptr<ResourceRequest> resource_request_; 265 std::unique_ptr<ResourceRequest> resource_request_;
266 ResourceContext* resource_context_; 266 ResourceContext* resource_context_;
267 base::Callback<WebContents*()> web_contents_getter_; 267 base::Callback<WebContents*()> web_contents_getter_;
268 268
269 scoped_refptr<URLLoaderFactoryGetter> default_url_loader_factory_getter_; 269 scoped_refptr<URLLoaderFactoryGetter> default_url_loader_factory_getter_;
270 270
271 mojom::URLLoaderFactoryPtr webui_factory_ptr_; 271 mojom::URLLoaderFactoryPtr webui_factory_ptr_;
272 272
273 std::unique_ptr<ThrottlingURLLoader> url_loader_; 273 std::unique_ptr<ThrottlingURLLoader> url_loader_;
274 274
275 // This is referenced only on the UI thread. 275 BlobHandles blob_handles_;
276 base::WeakPtr<NavigationURLLoaderNetworkService> owner_;
277 276
278 // Currently used by the AppCache loader to pass its factory to the 277 // Currently used by the AppCache loader to pass its factory to the
279 // renderer which enables it to handle subresources. 278 // renderer which enables it to handle subresources.
280 mojom::URLLoaderFactoryPtrInfo subresource_url_loader_factory_ptr_info_; 279 mojom::URLLoaderFactoryPtrInfo subresource_url_loader_factory_ptr_info_;
281 280
281 // This is referenced only on the UI thread.
282 base::WeakPtr<NavigationURLLoaderNetworkService> owner_;
283
282 DISALLOW_COPY_AND_ASSIGN(URLLoaderRequestController); 284 DISALLOW_COPY_AND_ASSIGN(URLLoaderRequestController);
283 }; 285 };
284 286
285 NavigationURLLoaderNetworkService::NavigationURLLoaderNetworkService( 287 NavigationURLLoaderNetworkService::NavigationURLLoaderNetworkService(
286 ResourceContext* resource_context, 288 ResourceContext* resource_context,
287 StoragePartition* storage_partition, 289 StoragePartition* storage_partition,
288 std::unique_ptr<NavigationRequestInfo> request_info, 290 std::unique_ptr<NavigationRequestInfo> request_info,
289 std::unique_ptr<NavigationUIData> navigation_ui_data, 291 std::unique_ptr<NavigationUIData> navigation_ui_data,
290 ServiceWorkerNavigationHandle* service_worker_navigation_handle, 292 ServiceWorkerNavigationHandle* service_worker_navigation_handle,
291 AppCacheNavigationHandle* appcache_handle, 293 AppCacheNavigationHandle* appcache_handle,
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 TRACE_EVENT_ASYNC_END2("navigation", "Navigation timeToResponseStarted", 429 TRACE_EVENT_ASYNC_END2("navigation", "Navigation timeToResponseStarted",
428 this, "&NavigationURLLoaderNetworkService", this, 430 this, "&NavigationURLLoaderNetworkService", this,
429 "success", false); 431 "success", false);
430 432
431 delegate_->OnRequestFailed(completion_status.exists_in_cache, 433 delegate_->OnRequestFailed(completion_status.exists_in_cache,
432 completion_status.error_code); 434 completion_status.error_code);
433 } 435 }
434 } 436 }
435 437
436 } // namespace content 438 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698