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

Unified Diff: content/child/webthread_impl.h

Issue 930063002: Revert of scheduler: Implement task observers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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/threaded_data_provider.cc ('k') | content/child/webthread_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/child/webthread_impl.h
diff --git a/content/child/webthread_impl.h b/content/child/webthread_impl.h
index edd39566e81dc79fc13373c1e1bf2db87d521049..ba2888f9bc70b007789d3f8ce022234ec45c3f33 100644
--- a/content/child/webthread_impl.h
+++ b/content/child/webthread_impl.h
@@ -22,43 +22,18 @@
public:
virtual ~WebThreadBase();
- // blink::WebThread implementation.
- virtual bool isCurrentThread() const;
- virtual blink::PlatformThreadId threadId() const = 0;
-
- virtual void postTask(const blink::WebTraceLocation& location, Task* task);
- virtual void postDelayedTask(const blink::WebTraceLocation& location,
- Task* task,
- long long delay_ms);
-
- virtual void enterRunLoop();
- virtual void exitRunLoop();
-
virtual void addTaskObserver(TaskObserver* observer);
virtual void removeTaskObserver(TaskObserver* observer);
- // Returns the base::Bind-compatible task runner for posting tasks to this
- // thread. Can be called from any thread.
- virtual base::SingleThreadTaskRunner* TaskRunner() const = 0;
+ virtual bool isCurrentThread() const = 0;
+ virtual blink::PlatformThreadId threadId() const = 0;
protected:
+ WebThreadBase();
+
+ private:
class TaskObserverAdapter;
- WebThreadBase();
-
- // Returns the underlying MessageLoop for this thread. Only used for entering
- // and exiting a nested run loop. Only called on the thread that the
- // WebThread belongs to.
- virtual base::MessageLoop* MessageLoop() const = 0;
-
- virtual void AddTaskObserverInternal(
- base::MessageLoop::TaskObserver* observer);
- virtual void RemoveTaskObserverInternal(
- base::MessageLoop::TaskObserver* observer);
-
- static void RunWebThreadTask(scoped_ptr<blink::WebThread::Task> task);
-
- private:
typedef std::map<TaskObserver*, TaskObserverAdapter*> TaskObserverMap;
TaskObserverMap task_observer_map_;
};
@@ -68,15 +43,24 @@
explicit WebThreadImpl(const char* name);
virtual ~WebThreadImpl();
- // blink::WebThread implementation.
- blink::PlatformThreadId threadId() const override;
+ virtual void postTask(const blink::WebTraceLocation& location, Task* task);
+ virtual void postDelayedTask(const blink::WebTraceLocation& location,
+ Task* task,
+ long long delay_ms);
- // WebThreadBase implementation.
- base::SingleThreadTaskRunner* TaskRunner() const override;
+ // TODO(skyostil): Remove once blink has migrated.
+ virtual void postTask(Task* task);
+ virtual void postDelayedTask(Task* task, long long delay_ms);
+
+ virtual void enterRunLoop();
+ virtual void exitRunLoop();
+
+ base::MessageLoop* message_loop() const { return thread_->message_loop(); }
+
+ virtual bool isCurrentThread() const override;
+ virtual blink::PlatformThreadId threadId() const override;
private:
- base::MessageLoop* MessageLoop() const override;
-
scoped_ptr<base::Thread> thread_;
};
@@ -86,14 +70,21 @@
scoped_refptr<base::SingleThreadTaskRunner> owning_thread_task_runner);
CONTENT_EXPORT virtual ~WebThreadImplForMessageLoop();
- // blink::WebThread implementation.
- blink::PlatformThreadId threadId() const override;
+ virtual void postTask(const blink::WebTraceLocation& location, Task* task);
+ virtual void postDelayedTask(const blink::WebTraceLocation& location,
+ Task* task,
+ long long delay_ms);
- // WebThreadBase implementation.
- base::MessageLoop* MessageLoop() const override;
+ // TODO(skyostil): Remove once blink has migrated.
+ virtual void postTask(Task* task);
+ virtual void postDelayedTask(Task* task, long long delay_ms);
+
+ virtual void enterRunLoop() override;
+ virtual void exitRunLoop() override;
private:
- base::SingleThreadTaskRunner* TaskRunner() const override;
+ virtual bool isCurrentThread() const override;
+ virtual blink::PlatformThreadId threadId() const override;
scoped_refptr<base::SingleThreadTaskRunner> owning_thread_task_runner_;
blink::PlatformThreadId thread_id_;
« no previous file with comments | « content/child/threaded_data_provider.cc ('k') | content/child/webthread_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698