diff options
author | alexclarke <alexclarke@chromium.org> | 2015-04-14 06:57:40 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-14 13:58:49 +0000 |
commit | ebe9b674fb28f45d78dda654ddb85c7cdb127953 (patch) | |
tree | 0efe9839c340c591df9f068500ec039f3707fd78 /content/renderer/scheduler | |
parent | 436c0d17dc5c4fb0abca1b1595cae0d7abe6c97d (diff) | |
download | chromium_src-ebe9b674fb28f45d78dda654ddb85c7cdb127953.zip chromium_src-ebe9b674fb28f45d78dda654ddb85c7cdb127953.tar.gz chromium_src-ebe9b674fb28f45d78dda654ddb85c7cdb127953.tar.bz2 |
Revert of Add a WorkerScheduler and a WebThreadImplForWorker (patchset #16 id:380001 of https://codereview.chromium.org/1033643004/)
Reason for revert:
Looks like this broke ImageFrameGeneratorTest.incompleteDecodeBecomesCompleteMultiThreaded
Original issue's description:
> Add a WorkerScheduler and a WebThreadImplForWorker
>
> Adds a simple WorkerScheduler which supports Default and Idle Tasks (via
> Long Idle Periods). A follow up Blink patch will refactor
> WorkerThread.cpp to use these Idle Tasks.
>
> A WorkerSceduler is a pre-requisite for refactoring away the Blink
> Timer Heap as described in:
> https://docs.google.com/document/d/163ow-1wjd6L0rAN3V_U6t12eqVkq4mXDDjVaA4OuvCA/edit?usp=sharing
>
> BUG=463143
>
> Committed: https://crrev.com/510ed9c42029e1b2924ac05082c958591f029624
> Cr-Commit-Position: refs/heads/master@{#324847}
>
> Committed: https://crrev.com/b37d4c285dc2f505b006187d2651f6db96d9a42c
> Cr-Commit-Position: refs/heads/master@{#325026}
TBR=jochen@chromium.org,rmcilroy@chromium.org,skyostil@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=463143
Review URL: https://codereview.chromium.org/1088933002
Cr-Commit-Position: refs/heads/master@{#325037}
Diffstat (limited to 'content/renderer/scheduler')
-rw-r--r-- | content/renderer/scheduler/renderer_scheduler_impl.h | 1 | ||||
-rw-r--r-- | content/renderer/scheduler/webthread_impl_for_scheduler.cc (renamed from content/renderer/scheduler/webthread_impl_for_renderer_scheduler.cc) | 23 | ||||
-rw-r--r-- | content/renderer/scheduler/webthread_impl_for_scheduler.h (renamed from content/renderer/scheduler/webthread_impl_for_renderer_scheduler.h) | 17 | ||||
-rw-r--r-- | content/renderer/scheduler/webthread_impl_for_scheduler_unittest.cc (renamed from content/renderer/scheduler/webthread_impl_for_renderer_scheduler_unittest.cc) | 22 |
4 files changed, 27 insertions, 36 deletions
diff --git a/content/renderer/scheduler/renderer_scheduler_impl.h b/content/renderer/scheduler/renderer_scheduler_impl.h index 9c3fc12..e4fd630 100644 --- a/content/renderer/scheduler/renderer_scheduler_impl.h +++ b/content/renderer/scheduler/renderer_scheduler_impl.h @@ -99,7 +99,6 @@ class CONTENT_EXPORT RendererSchedulerImpl bool CanEnterLongIdlePeriod( base::TimeTicks now, base::TimeDelta* next_long_idle_period_delay_out) override; - void IsNotQuiescent() override {} // Returns the serialized scheduler state for tracing. scoped_refptr<base::trace_event::ConvertableToTraceFormat> AsValueLocked( diff --git a/content/renderer/scheduler/webthread_impl_for_renderer_scheduler.cc b/content/renderer/scheduler/webthread_impl_for_scheduler.cc index 4855df19..b328142 100644 --- a/content/renderer/scheduler/webthread_impl_for_renderer_scheduler.cc +++ b/content/renderer/scheduler/webthread_impl_for_scheduler.cc @@ -2,49 +2,42 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "content/renderer/scheduler/webthread_impl_for_renderer_scheduler.h" +#include "content/renderer/scheduler/webthread_impl_for_scheduler.h" #include "content/renderer/scheduler/renderer_scheduler.h" #include "third_party/WebKit/public/platform/WebTraceLocation.h" namespace content { -WebThreadImplForRendererScheduler::WebThreadImplForRendererScheduler( +WebThreadImplForScheduler::WebThreadImplForScheduler( RendererScheduler* scheduler) : task_runner_(scheduler->DefaultTaskRunner()), - idle_task_runner_(scheduler->IdleTaskRunner()), scheduler_(scheduler), thread_id_(base::PlatformThread::CurrentId()) { } -WebThreadImplForRendererScheduler::~WebThreadImplForRendererScheduler() { +WebThreadImplForScheduler::~WebThreadImplForScheduler() { } -blink::PlatformThreadId WebThreadImplForRendererScheduler::threadId() const { +blink::PlatformThreadId WebThreadImplForScheduler::threadId() const { return thread_id_; } -base::MessageLoop* WebThreadImplForRendererScheduler::MessageLoop() const { +base::MessageLoop* WebThreadImplForScheduler::MessageLoop() const { DCHECK(isCurrentThread()); return base::MessageLoop::current(); } -base::SingleThreadTaskRunner* WebThreadImplForRendererScheduler::TaskRunner() - const { +base::SingleThreadTaskRunner* WebThreadImplForScheduler::TaskRunner() const { return task_runner_.get(); } -SingleThreadIdleTaskRunner* WebThreadImplForRendererScheduler::IdleTaskRunner() - const { - return idle_task_runner_.get(); -} - -void WebThreadImplForRendererScheduler::AddTaskObserverInternal( +void WebThreadImplForScheduler::AddTaskObserverInternal( base::MessageLoop::TaskObserver* observer) { scheduler_->AddTaskObserver(observer); } -void WebThreadImplForRendererScheduler::RemoveTaskObserverInternal( +void WebThreadImplForScheduler::RemoveTaskObserverInternal( base::MessageLoop::TaskObserver* observer) { scheduler_->RemoveTaskObserver(observer); } diff --git a/content/renderer/scheduler/webthread_impl_for_renderer_scheduler.h b/content/renderer/scheduler/webthread_impl_for_scheduler.h index 4b8d9fb..36bd2e2 100644 --- a/content/renderer/scheduler/webthread_impl_for_renderer_scheduler.h +++ b/content/renderer/scheduler/webthread_impl_for_scheduler.h @@ -2,27 +2,27 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CONTENT_RENDERER_SCHEDULER_WEBTHREAD_IMPL_FOR_RENDERER_SCHEDULER_H_ -#define CONTENT_RENDERER_SCHEDULER_WEBTHREAD_IMPL_FOR_RENDERER_SCHEDULER_H_ +#ifndef CONTENT_RENDERER_SCHEDULER_WEBTHREAD_IMPL_FOR_SCHEDULER_H_ +#define CONTENT_RENDERER_SCHEDULER_WEBTHREAD_IMPL_FOR_SCHEDULER_H_ + +#include "content/child/webthread_impl.h" #include "base/containers/scoped_ptr_hash_map.h" -#include "content/child/webthread_base.h" namespace content { class RendererScheduler; -class CONTENT_EXPORT WebThreadImplForRendererScheduler : public WebThreadBase { +class CONTENT_EXPORT WebThreadImplForScheduler : public WebThreadBase { public: - explicit WebThreadImplForRendererScheduler(RendererScheduler* scheduler); - virtual ~WebThreadImplForRendererScheduler(); + explicit WebThreadImplForScheduler(RendererScheduler* scheduler); + virtual ~WebThreadImplForScheduler(); // blink::WebThread implementation. blink::PlatformThreadId threadId() const override; // WebThreadBase implementation. base::SingleThreadTaskRunner* TaskRunner() const override; - SingleThreadIdleTaskRunner* IdleTaskRunner() const override; private: base::MessageLoop* MessageLoop() const override; @@ -32,11 +32,10 @@ class CONTENT_EXPORT WebThreadImplForRendererScheduler : public WebThreadBase { base::MessageLoop::TaskObserver* observer) override; scoped_refptr<base::SingleThreadTaskRunner> task_runner_; - scoped_refptr<SingleThreadIdleTaskRunner> idle_task_runner_; RendererScheduler* scheduler_; // Not owned. blink::PlatformThreadId thread_id_; }; } // namespace content -#endif // CONTENT_RENDERER_SCHEDULER_WEBTHREAD_IMPL_FOR_RENDERER_SCHEDULER_H_ +#endif // CONTENT_RENDERER_SCHEDULER_WEBTHREAD_IMPL_FOR_SCHEDULER_H_ diff --git a/content/renderer/scheduler/webthread_impl_for_renderer_scheduler_unittest.cc b/content/renderer/scheduler/webthread_impl_for_scheduler_unittest.cc index 191a271..e9e359a 100644 --- a/content/renderer/scheduler/webthread_impl_for_renderer_scheduler_unittest.cc +++ b/content/renderer/scheduler/webthread_impl_for_scheduler_unittest.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "content/renderer/scheduler/webthread_impl_for_renderer_scheduler.h" +#include "content/renderer/scheduler/webthread_impl_for_scheduler.h" #include "base/run_loop.h" #include "content/child/scheduler/scheduler_message_loop_delegate.h" @@ -28,14 +28,14 @@ class MockTaskObserver : public blink::WebThread::TaskObserver { }; } // namespace -class WebThreadImplForRendererSchedulerTest : public testing::Test { +class WebThreadImplForSchedulerTest : public testing::Test { public: - WebThreadImplForRendererSchedulerTest() + WebThreadImplForSchedulerTest() : scheduler_(SchedulerMessageLoopDelegate::Create(&message_loop_)), default_task_runner_(scheduler_.DefaultTaskRunner()), thread_(&scheduler_) {} - ~WebThreadImplForRendererSchedulerTest() override {} + ~WebThreadImplForSchedulerTest() override {} void SetWorkBatchSizeForTesting(size_t work_batch_size) { scheduler_.SetWorkBatchSizeForTesting(work_batch_size); @@ -51,12 +51,12 @@ class WebThreadImplForRendererSchedulerTest : public testing::Test { base::MessageLoop message_loop_; RendererSchedulerImpl scheduler_; scoped_refptr<base::SingleThreadTaskRunner> default_task_runner_; - WebThreadImplForRendererScheduler thread_; + WebThreadImplForScheduler thread_; - DISALLOW_COPY_AND_ASSIGN(WebThreadImplForRendererSchedulerTest); + DISALLOW_COPY_AND_ASSIGN(WebThreadImplForSchedulerTest); }; -TEST_F(WebThreadImplForRendererSchedulerTest, TestTaskObserver) { +TEST_F(WebThreadImplForSchedulerTest, TestTaskObserver) { MockTaskObserver observer; thread_.addTaskObserver(&observer); scoped_ptr<MockTask> task(new MockTask()); @@ -75,7 +75,7 @@ TEST_F(WebThreadImplForRendererSchedulerTest, TestTaskObserver) { thread_.removeTaskObserver(&observer); } -TEST_F(WebThreadImplForRendererSchedulerTest, TestWorkBatchWithOneTask) { +TEST_F(WebThreadImplForSchedulerTest, TestWorkBatchWithOneTask) { MockTaskObserver observer; thread_.addTaskObserver(&observer); scoped_ptr<MockTask> task(new MockTask()); @@ -95,7 +95,7 @@ TEST_F(WebThreadImplForRendererSchedulerTest, TestWorkBatchWithOneTask) { thread_.removeTaskObserver(&observer); } -TEST_F(WebThreadImplForRendererSchedulerTest, TestWorkBatchWithTwoTasks) { +TEST_F(WebThreadImplForSchedulerTest, TestWorkBatchWithTwoTasks) { MockTaskObserver observer; thread_.addTaskObserver(&observer); scoped_ptr<MockTask> task1(new MockTask()); @@ -121,7 +121,7 @@ TEST_F(WebThreadImplForRendererSchedulerTest, TestWorkBatchWithTwoTasks) { thread_.removeTaskObserver(&observer); } -TEST_F(WebThreadImplForRendererSchedulerTest, TestWorkBatchWithThreeTasks) { +TEST_F(WebThreadImplForSchedulerTest, TestWorkBatchWithThreeTasks) { MockTaskObserver observer; thread_.addTaskObserver(&observer); scoped_ptr<MockTask> task1(new MockTask()); @@ -172,7 +172,7 @@ void EnterRunLoop(base::MessageLoop* message_loop, blink::WebThread* thread) { run_loop.Run(); } -TEST_F(WebThreadImplForRendererSchedulerTest, TestNestedRunLoop) { +TEST_F(WebThreadImplForSchedulerTest, TestNestedRunLoop) { MockTaskObserver observer; thread_.addTaskObserver(&observer); |