diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-06-20 13:01:08 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-06-20 13:01:08 +0200 |
commit | 49233e234e5c787396cadb2cea33b31ae0cd65c1 (patch) | |
tree | 5410cb9a8fd53168bb60d62c54b654d86f03c38d /Source/JavaScriptCore/heap/HeapTimer.h | |
parent | b211c645d8ab690f713515dfdc84d80b11c27d2c (diff) | |
download | qtwebkit-49233e234e5c787396cadb2cea33b31ae0cd65c1.tar.gz |
Imported WebKit commit 3a8c29f35d00659d2ce7a0ccdfa8304f14e82327 (http://svn.webkit.org/repository/webkit/trunk@120813)
New snapshot with Windows build fixes
Diffstat (limited to 'Source/JavaScriptCore/heap/HeapTimer.h')
-rw-r--r-- | Source/JavaScriptCore/heap/HeapTimer.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Source/JavaScriptCore/heap/HeapTimer.h b/Source/JavaScriptCore/heap/HeapTimer.h new file mode 100644 index 000000000..ccd6ba8c5 --- /dev/null +++ b/Source/JavaScriptCore/heap/HeapTimer.h @@ -0,0 +1,45 @@ +#ifndef HeapTimer_h +#define HeapTimer_h + +#include <wtf/RetainPtr.h> + +#if USE(CF) +#include <CoreFoundation/CoreFoundation.h> +#endif + +namespace JSC { + +class JSGlobalData; + +class HeapTimer { +public: +#if USE(CF) + HeapTimer(JSGlobalData*, CFRunLoopRef); + static void timerDidFire(CFRunLoopTimerRef, void*); +#else + HeapTimer(JSGlobalData*); +#endif + + virtual ~HeapTimer(); + + virtual void synchronize(); + virtual void doWork() = 0; + +protected: + JSGlobalData* m_globalData; + +#if USE(CF) + static const CFTimeInterval s_decade; + + RetainPtr<CFRunLoopTimerRef> m_timer; + RetainPtr<CFRunLoopRef> m_runLoop; + CFRunLoopTimerContext m_context; +#endif + +private: + void invalidate(); +}; + +} // namespace JSC + +#endif |