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

Unified Diff: content/child/webthread_impl.h

Issue 393283003: Add WorkerThread based methods for start/stop of worker threads. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add shared timer to WebThread. Created 6 years, 5 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
Index: content/child/webthread_impl.h
diff --git a/content/child/webthread_impl.h b/content/child/webthread_impl.h
index 4c81b2579d6806fc2f2d601682ed2446a095a056..d0dce7d02062d676e2ccadc34abc4d6ba560bbe8 100644
--- a/content/child/webthread_impl.h
+++ b/content/child/webthread_impl.h
@@ -9,6 +9,7 @@
#include "base/memory/scoped_ptr.h"
#include "base/threading/thread.h"
+#include "base/timer/timer.h"
#include "content/common/content_export.h"
#include "third_party/WebKit/public/platform/WebThread.h"
@@ -23,6 +24,11 @@ class CONTENT_EXPORT WebThreadBase : public blink::WebThread {
virtual bool isCurrentThread() const = 0;
+ typedef void (*SharedTimerFunction)();
+ virtual void setSharedTimerFiredFunction(SharedTimerFunction timerFunction) {}
jochen (gone - plz use gerrit) 2014/07/17 09:48:03 why not = 0?
nasko 2014/07/17 10:49:32 If I make them pure virtual, then I have to provid
+ virtual void setSharedTimerFireInterval(double) {}
+ virtual void stopSharedTimer() {}
+
protected:
WebThreadBase();
@@ -48,7 +54,18 @@ class CONTENT_EXPORT WebThreadImpl : public WebThreadBase {
virtual bool isCurrentThread() const OVERRIDE;
+ virtual void setSharedTimerFiredFunction(SharedTimerFunction timerFunction);
+ virtual void setSharedTimerFireInterval(double interval_seconds);
+ virtual void stopSharedTimer();
+
private:
+ void OnTimeout() {
+ if (shared_timer_function_)
+ shared_timer_function_();
+ }
+ base::OneShotTimer<WebThreadImpl> shared_timer_;
+ SharedTimerFunction shared_timer_function_;
+
scoped_ptr<base::Thread> thread_;
};

Powered by Google App Engine
This is Rietveld 408576698