| Index: third_party/WebKit/Source/platform/scheduler/test/fake_web_task_runner.cc
|
| diff --git a/third_party/WebKit/Source/platform/scheduler/test/fake_web_task_runner.cc b/third_party/WebKit/Source/platform/scheduler/test/fake_web_task_runner.cc
|
| index 0798352018e2df58d5075e78aea71a1f1f37c306..eb0a7e11f41b30dd8ca9834a9b0baa08d24f9e8e 100644
|
| --- a/third_party/WebKit/Source/platform/scheduler/test/fake_web_task_runner.cc
|
| +++ b/third_party/WebKit/Source/platform/scheduler/test/fake_web_task_runner.cc
|
| @@ -4,23 +4,47 @@
|
|
|
| #include "platform/scheduler/test/fake_web_task_runner.h"
|
|
|
| +#include "base/logging.h"
|
| +#include "wtf/RefCounted.h"
|
| +
|
| namespace blink {
|
| namespace scheduler {
|
|
|
| -FakeWebTaskRunner::FakeWebTaskRunner() : time_(0.0) {}
|
| +class FakeWebTaskRunner::Data : public WTF::ThreadSafeRefCounted<Data> {
|
| + public:
|
| + Data() : time_(0.0) {}
|
| +
|
| + std::unique_ptr<Task> task_;
|
| + double time_;
|
| +
|
| + private:
|
| + ~Data() {}
|
| +
|
| + friend ThreadSafeRefCounted<Data>;
|
| + DISALLOW_COPY_AND_ASSIGN(Data);
|
| +};
|
| +
|
| +FakeWebTaskRunner::FakeWebTaskRunner() : data_(adoptRef(new Data)) {}
|
|
|
| -FakeWebTaskRunner::~FakeWebTaskRunner() {}
|
| +FakeWebTaskRunner::FakeWebTaskRunner(PassRefPtr<Data> data)
|
| + : data_(std::move(data)) {
|
| +}
|
| +
|
| +FakeWebTaskRunner::~FakeWebTaskRunner() {
|
| +}
|
|
|
| void FakeWebTaskRunner::setTime(double new_time) {
|
| - time_ = new_time;
|
| + data_->time_ = new_time;
|
| }
|
|
|
| -void FakeWebTaskRunner::postTask(const WebTraceLocation&, Task*) {}
|
| +void FakeWebTaskRunner::postTask(const WebTraceLocation&, Task*) {
|
| + NOTREACHED();
|
| +}
|
|
|
| void FakeWebTaskRunner::postDelayedTask(const WebTraceLocation&,
|
| Task* task,
|
| double) {
|
| - task_.reset(task);
|
| + data_->task_.reset(task);
|
| }
|
|
|
| bool FakeWebTaskRunner::runsTasksOnCurrentThread() {
|
| @@ -28,18 +52,19 @@ bool FakeWebTaskRunner::runsTasksOnCurrentThread() {
|
| }
|
|
|
| std::unique_ptr<WebTaskRunner> FakeWebTaskRunner::clone() {
|
| - return nullptr;
|
| + return WTF::wrapUnique(new FakeWebTaskRunner(data_));
|
| }
|
|
|
| double FakeWebTaskRunner::virtualTimeSeconds() const {
|
| - return time_;
|
| + return data_->time_;
|
| }
|
|
|
| double FakeWebTaskRunner::monotonicallyIncreasingVirtualTimeSeconds() const {
|
| - return time_;
|
| + return data_->time_;
|
| }
|
|
|
| SingleThreadTaskRunner* FakeWebTaskRunner::toSingleThreadTaskRunner() {
|
| + NOTREACHED();
|
| return nullptr;
|
| }
|
|
|
|
|