Index: content/child/webthread_impl.h |
diff --git a/content/child/webthread_impl.h b/content/child/webthread_impl.h |
index 4c81b2579d6806fc2f2d601682ed2446a095a056..476445284c8938972c4e1fc0558262737a8abb1f 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) {} |
+ virtual void setSharedTimerFireInterval(double) {} |
+ virtual void stopSharedTimer() {} |
+ |
protected: |
WebThreadBase(); |
@@ -48,7 +54,19 @@ class CONTENT_EXPORT WebThreadImpl : public WebThreadBase { |
virtual bool isCurrentThread() const OVERRIDE; |
+ virtual void setSharedTimerFiredFunction( |
+ SharedTimerFunction timerFunction) OVERRIDE; |
+ virtual void setSharedTimerFireInterval(double interval_seconds) OVERRIDE; |
+ virtual void stopSharedTimer() OVERRIDE; |
+ |
private: |
+ void OnTimeout() { |
+ if (shared_timer_function_) |
+ shared_timer_function_(); |
+ } |
+ base::OneShotTimer<WebThreadImpl> shared_timer_; |
+ SharedTimerFunction shared_timer_function_; |
+ |
scoped_ptr<base::Thread> thread_; |
}; |