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

Side by Side Diff: third_party/WebKit/Source/platform/scheduler/child/webthread_impl_for_worker_scheduler.cc

Issue 2646003003: Avoid checking for WTFThreadData::staticData in wtfThreadData() (Closed)
Patch Set: Created 3 years, 11 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "public/platform/scheduler/child/webthread_impl_for_worker_scheduler.h" 5 #include "public/platform/scheduler/child/webthread_impl_for_worker_scheduler.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
11 #include "base/synchronization/waitable_event.h" 11 #include "base/synchronization/waitable_event.h"
12 #include "base/time/default_tick_clock.h" 12 #include "base/time/default_tick_clock.h"
13 #include "public/platform/scheduler/base/task_queue.h" 13 #include "public/platform/scheduler/base/task_queue.h"
14 #include "platform/scheduler/child/scheduler_tqm_delegate_impl.h" 14 #include "platform/scheduler/child/scheduler_tqm_delegate_impl.h"
15 #include "platform/scheduler/child/web_scheduler_impl.h" 15 #include "platform/scheduler/child/web_scheduler_impl.h"
16 #include "platform/scheduler/child/web_task_runner_impl.h" 16 #include "platform/scheduler/child/web_task_runner_impl.h"
17 #include "platform/scheduler/child/worker_scheduler_impl.h" 17 #include "platform/scheduler/child/worker_scheduler_impl.h"
18 #include "public/platform/Platform.h"
18 #include "public/platform/WebTraceLocation.h" 19 #include "public/platform/WebTraceLocation.h"
19 20
20 namespace blink { 21 namespace blink {
21 namespace scheduler { 22 namespace scheduler {
22 23
23 WebThreadImplForWorkerScheduler::WebThreadImplForWorkerScheduler( 24 WebThreadImplForWorkerScheduler::WebThreadImplForWorkerScheduler(
24 const char* name) 25 const char* name)
25 : WebThreadImplForWorkerScheduler(name, base::Thread::Options()) {} 26 : WebThreadImplForWorkerScheduler(name, base::Thread::Options()) {}
26 27
27 WebThreadImplForWorkerScheduler::WebThreadImplForWorkerScheduler( 28 WebThreadImplForWorkerScheduler::WebThreadImplForWorkerScheduler(
(...skipping 25 matching lines...) Expand all
53 FROM_HERE, 54 FROM_HERE,
54 base::Bind(&WebThreadImplForWorkerScheduler::RestoreTaskRunnerOnThread, 55 base::Bind(&WebThreadImplForWorkerScheduler::RestoreTaskRunnerOnThread,
55 base::Unretained(this), &completion)); 56 base::Unretained(this), &completion));
56 completion.Wait(); 57 completion.Wait();
57 } 58 }
58 thread_->Stop(); 59 thread_->Stop();
59 } 60 }
60 61
61 void WebThreadImplForWorkerScheduler::InitOnThread( 62 void WebThreadImplForWorkerScheduler::InitOnThread(
62 base::WaitableEvent* completion) { 63 base::WaitableEvent* completion) {
64 Platform::initializeThread();
63 // TODO(alexclarke): Do we need to unify virtual time for workers and the 65 // TODO(alexclarke): Do we need to unify virtual time for workers and the
64 // main thread? 66 // main thread?
65 worker_scheduler_ = CreateWorkerScheduler(); 67 worker_scheduler_ = CreateWorkerScheduler();
66 worker_scheduler_->Init(); 68 worker_scheduler_->Init();
67 task_runner_ = worker_scheduler_->DefaultTaskRunner(); 69 task_runner_ = worker_scheduler_->DefaultTaskRunner();
68 idle_task_runner_ = worker_scheduler_->IdleTaskRunner(); 70 idle_task_runner_ = worker_scheduler_->IdleTaskRunner();
69 web_scheduler_.reset(new WebSchedulerImpl( 71 web_scheduler_.reset(new WebSchedulerImpl(
70 worker_scheduler_.get(), worker_scheduler_->IdleTaskRunner(), 72 worker_scheduler_.get(), worker_scheduler_->IdleTaskRunner(),
71 worker_scheduler_->DefaultTaskRunner(), 73 worker_scheduler_->DefaultTaskRunner(),
72 worker_scheduler_->DefaultTaskRunner())); 74 worker_scheduler_->DefaultTaskRunner()));
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 worker_scheduler_->AddTaskObserver(observer); 125 worker_scheduler_->AddTaskObserver(observer);
124 } 126 }
125 127
126 void WebThreadImplForWorkerScheduler::RemoveTaskObserverInternal( 128 void WebThreadImplForWorkerScheduler::RemoveTaskObserverInternal(
127 base::MessageLoop::TaskObserver* observer) { 129 base::MessageLoop::TaskObserver* observer) {
128 worker_scheduler_->RemoveTaskObserver(observer); 130 worker_scheduler_->RemoveTaskObserver(observer);
129 } 131 }
130 132
131 } // namespace scheduler 133 } // namespace scheduler
132 } // namespace blink 134 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698