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

Unified Diff: content/network/url_loader_impl.cc

Issue 2919313004: Get rid of URLLoaderFactory in browser-side case (Closed)
Patch Set: . Created 3 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: content/network/url_loader_impl.cc
diff --git a/content/network/url_loader_impl.cc b/content/network/url_loader_impl.cc
index 7d015c0563499f2130295d6d2f5fb0b6d6058fb8..d0056c4800f3a7c681ac23ca1e8224bd71b1a968 100644
--- a/content/network/url_loader_impl.cc
+++ b/content/network/url_loader_impl.cc
@@ -153,25 +153,18 @@ std::unique_ptr<net::UploadDataStream> CreateUploadDataStream(
} // namespace
-URLLoaderImpl::URLLoaderImpl(
- NetworkContext* context,
- mojom::URLLoaderAssociatedRequest url_loader_request,
- int32_t options,
- const ResourceRequest& request,
- mojom::URLLoaderClientPtr url_loader_client)
+URLLoaderImpl::URLLoaderImpl(NetworkContext* context,
+ int32_t options,
+ const ResourceRequest& request)
: context_(context),
options_(options),
connected_(true),
- binding_(this, std::move(url_loader_request)),
- url_loader_client_(std::move(url_loader_client)),
+ binding_(this),
writable_handle_watcher_(FROM_HERE,
mojo::SimpleWatcher::ArmingPolicy::MANUAL),
peer_closed_handle_watcher_(FROM_HERE,
mojo::SimpleWatcher::ArmingPolicy::MANUAL),
weak_ptr_factory_(this) {
- binding_.set_connection_error_handler(
- base::Bind(&URLLoaderImpl::OnConnectionError, base::Unretained(this)));
-
url_request_ = context_->url_request_context()->CreateRequest(
GURL(request.url), net::DEFAULT_PRIORITY, this);
url_request_->set_method(request.method);
@@ -196,8 +189,6 @@ URLLoaderImpl::URLLoaderImpl(
int load_flags = BuildLoadFlagsForRequest(request, false);
url_request_->SetLoadFlags(load_flags);
-
- url_request_->Start();
}
URLLoaderImpl::~URLLoaderImpl() {}
@@ -208,6 +199,21 @@ void URLLoaderImpl::Cleanup() {
delete this;
}
+void URLLoaderImpl::Start(mojom::URLLoaderAssociatedRequest url_loader_request,
+ mojom::URLLoaderClientPtr url_loader_client) {
+ DCHECK(!url_loader_client_);
+ DCHECK(!binding_.is_bound());
+ DCHECK(url_request_);
+
+ binding_.Bind(std::move(url_loader_request));
+ binding_.set_connection_error_handler(
+ base::Bind(&URLLoaderImpl::OnConnectionError, base::Unretained(this)));
+
+ url_loader_client_ = std::move(url_loader_client);
+
+ url_request_->Start();
+}
+
void URLLoaderImpl::FollowRedirect() {
if (!url_request_) {
NotifyCompleted(net::ERR_UNEXPECTED);

Powered by Google App Engine
This is Rietveld 408576698