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

Unified Diff: content/child/resource_dispatcher.cc

Issue 2804843005: Implement the infrastructure of creating WorkerFetchContext in worker global scope. (Closed)
Patch Set: s/WebScheduler.h/web_scheduler.h/ Created 3 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
« no previous file with comments | « content/child/resource_dispatcher.h ('k') | content/child/runtime_features.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/child/resource_dispatcher.cc
diff --git a/content/child/resource_dispatcher.cc b/content/child/resource_dispatcher.cc
index 5ca85c2d3a58d2a71c43fe1bdef118b7725c9643..a9d45898d0e062f012df1161bcc5a6a79fa1722b 100644
--- a/content/child/resource_dispatcher.cc
+++ b/content/child/resource_dispatcher.cc
@@ -8,6 +8,7 @@
#include <utility>
+#include "base/atomic_sequence_num.h"
#include "base/bind.h"
#include "base/compiler_specific.h"
#include "base/debug/alias.h"
@@ -67,8 +68,8 @@ int MakeRequestID() {
// NOTE: The resource_dispatcher_host also needs probably unique
// request_ids, so they count down from -2 (-1 is a special we're
// screwed value), while the renderer process counts up.
- static int next_request_id = 0;
- return next_request_id++;
+ static base::StaticAtomicSequenceNumber sequence;
+ return sequence.GetNext(); // We start at zero.
}
void CheckSchemeForReferrerPolicy(const ResourceRequest& request) {
@@ -88,13 +89,12 @@ void CheckSchemeForReferrerPolicy(const ResourceRequest& request) {
ResourceDispatcher::ResourceDispatcher(
IPC::Sender* sender,
- scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner)
+ scoped_refptr<base::SingleThreadTaskRunner> thread_task_runner)
: message_sender_(sender),
delegate_(NULL),
io_timestamp_(base::TimeTicks()),
- main_thread_task_runner_(main_thread_task_runner),
- weak_factory_(this) {
-}
+ thread_task_runner_(thread_task_runner),
+ weak_factory_(this) {}
ResourceDispatcher::~ResourceDispatcher() {
}
@@ -401,7 +401,7 @@ bool ResourceDispatcher::RemovePendingRequest(int request_id) {
// Always delete the pending_request asyncly so that cancelling the request
// doesn't delete the request context info while its response is still being
// handled.
- main_thread_task_runner_->DeleteSoon(FROM_HERE, it->second.release());
+ thread_task_runner_->DeleteSoon(FROM_HERE, it->second.release());
pending_requests_.erase(it);
if (release_downloaded_file) {
@@ -470,7 +470,7 @@ void ResourceDispatcher::SetDefersLoading(int request_id, bool value) {
FollowPendingRedirect(request_id, request_info);
- main_thread_task_runner_->PostTask(
+ thread_task_runner_->PostTask(
FROM_HERE, base::Bind(&ResourceDispatcher::FlushDeferredMessages,
weak_factory_.GetWeakPtr(), request_id));
}
@@ -639,7 +639,7 @@ int ResourceDispatcher::StartAsync(
}
scoped_refptr<base::SingleThreadTaskRunner> task_runner =
- loading_task_runner ? loading_task_runner : main_thread_task_runner_;
+ loading_task_runner ? loading_task_runner : thread_task_runner_;
if (consumer_handle.is_valid()) {
pending_requests_[request_id]->url_loader_client =
@@ -655,7 +655,7 @@ int ResourceDispatcher::StartAsync(
if (ipc_type == blink::WebURLRequest::LoadingIPCType::kMojo) {
scoped_refptr<base::SingleThreadTaskRunner> task_runner =
- loading_task_runner ? loading_task_runner : main_thread_task_runner_;
+ loading_task_runner ? loading_task_runner : thread_task_runner_;
std::unique_ptr<URLLoaderClientImpl> client(
new URLLoaderClientImpl(request_id, this, std::move(task_runner)));
mojom::URLLoaderAssociatedPtr url_loader;
« no previous file with comments | « content/child/resource_dispatcher.h ('k') | content/child/runtime_features.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698