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

Unified Diff: content/child/npapi/plugin_url_fetcher.cc

Issue 226273005: Remove webkit's ResourceLoaderBridge interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: put back AddRef() Created 6 years, 8 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/child/npapi/plugin_url_fetcher.cc
diff --git a/content/child/npapi/plugin_url_fetcher.cc b/content/child/npapi/plugin_url_fetcher.cc
index d1c5c248a22dc48776305874f22cd339d1f67d3e..2e12c51482fc238c0c133eee1921eae2634dfa00 100644
--- a/content/child/npapi/plugin_url_fetcher.cc
+++ b/content/child/npapi/plugin_url_fetcher.cc
@@ -24,7 +24,6 @@
#include "third_party/WebKit/public/platform/WebURLLoaderClient.h"
#include "third_party/WebKit/public/platform/WebURLResponse.h"
#include "webkit/child/multipart_response_delegate.h"
-#include "webkit/child/resource_loader_bridge.h"
#include "webkit/common/resource_response_info.h"
namespace content {
@@ -103,7 +102,8 @@ PluginURLFetcher::PluginURLFetcher(PluginStreamUrl* plugin_stream,
resource_id_(resource_id),
copy_stream_data_(copy_stream_data),
data_offset_(0),
- pending_failure_notification_(false) {
+ pending_failure_notification_(false),
+ request_id_(-1) {
RequestInfo request_info;
request_info.method = method;
request_info.url = url;
@@ -143,16 +143,15 @@ PluginURLFetcher::PluginURLFetcher(PluginStreamUrl* plugin_stream,
request_info.headers = std::string("Range: ") + range;
}
- bridge_.reset(ChildThread::current()->resource_dispatcher()->CreateBridge(
- request_info));
- if (!body.empty()) {
- scoped_refptr<ResourceRequestBody> request_body =
- new ResourceRequestBody;
+ ResourceDispatcher* dispatcher =
+ ChildThread::current()->resource_dispatcher();
+
+ scoped_refptr<ResourceRequestBody> request_body = new ResourceRequestBody;
+
+ if (!body.empty())
request_body->AppendBytes(&body[0], body.size());
- bridge_->SetRequestBody(request_body.get());
- }
- bridge_->Start(this);
+ request_id_ = dispatcher->StartAsync(request_info, request_body, this);
// TODO(jam): range requests
}
@@ -161,7 +160,8 @@ PluginURLFetcher::~PluginURLFetcher() {
}
void PluginURLFetcher::Cancel() {
- bridge_->Cancel();
+ ChildThread::current()->resource_dispatcher()->CancelPendingRequest(
+ request_id_);
// Due to races and nested event loops, PluginURLFetcher may still receive
// events from the bridge before being destroyed. Do not forward additional
@@ -177,10 +177,13 @@ void PluginURLFetcher::URLRedirectResponse(bool allow) {
if (!plugin_stream_)
return;
+ ResourceDispatcher* dispatcher =
+ ChildThread::current()->resource_dispatcher();
+
if (allow) {
- bridge_->SetDefersLoading(false);
+ dispatcher->SetDefersLoading(request_id_, false);
} else {
- bridge_->Cancel();
+ dispatcher->CancelPendingRequest(request_id_);
plugin_stream_->DidFail(resource_id_); // That will delete |this|.
}
}
@@ -231,7 +234,9 @@ bool PluginURLFetcher::OnReceivedRedirect(
}
} else {
// Pause the request while we ask the plugin what to do about the redirect.
- bridge_->SetDefersLoading(true);
+ ResourceDispatcher* dispatcher =
+ ChildThread::current()->resource_dispatcher();
+ dispatcher->SetDefersLoading(request_id_, true);
plugin_stream_->WillSendRequest(url_, response_code);
}

Powered by Google App Engine
This is Rietveld 408576698