File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ 2010-04-28 Darin Fisher <darin@chromium.org>
2+
3+ Reviewed by David Levin.
4+
5+ [Chromium] callOnMainThread should equate to MessageLoop::PostTask
6+ https://bugs.webkit.org/show_bug.cgi?id=38276
7+
8+ * JavaScriptCore.gyp/JavaScriptCore.gyp:
9+ * wtf/MainThread.cpp:
10+ * wtf/chromium/ChromiumThreading.h:
11+ * wtf/chromium/MainThreadChromium.cpp:
12+ (WTF::initializeMainThread):
13+ (WTF::callOnMainThread):
14+ (WTF::callOnMainThreadAndWait):
15+ (WTF::setMainThreadCallbacksPaused):
16+ (WTF::isMainThread):
17+
1182010-04-28 Simon Hausmann <simon.hausmann@nokia.com>, Kent Hansen <kent.hansen@nokia.com>
219
320 Reviewed by Darin Adler.
Original file line number Diff line number Diff line change 117117 ['exclude' , '/(gtk|glib|gobject)/.*\\ .(cpp|h)$' ],
118118 ['exclude' , '(Default|Gtk|Mac|None|Qt|Win|Wx)\\ .(cpp|mm)$' ],
119119 ['exclude' , 'wtf/CurrentTime\\ .cpp$' ],
120+ ['exclude' , 'wtf/MainThread.cpp$' ],
120121 ['exclude' , 'wtf/TC.*\\ .(cpp|h)$' ],
121122 ],
122123 'direct_dependent_settings' : {
Original file line number Diff line number Diff line change 3434#include " StdLibExtras.h"
3535#include " Threading.h"
3636
37+ #if PLATFORM(CHROMIUM)
38+ #error Chromium uses a different main thread implementation
39+ #endif
40+
3741namespace WTF {
3842
3943struct FunctionWithContext {
Original file line number Diff line number Diff line change @@ -36,8 +36,7 @@ namespace WTF {
3636// An interface to the embedding layer, which provides threading support.
3737class ChromiumThreading {
3838public:
39- static void initializeMainThread ();
40- static void scheduleDispatchFunctionsOnMainThread ();
39+ static void callOnMainThread (void (*func)(void *), void* context);
4140};
4241
4342} // namespace WTF
Original file line number Diff line number Diff line change 3131#include " config.h"
3232#include " MainThread.h"
3333
34+ #include " Assertions.h"
3435#include " ChromiumThreading.h"
36+ #include " Threading.h"
3537
3638namespace WTF {
3739
38- void initializeMainThreadPlatform ()
40+ static ThreadIdentifier mainThreadIdentifier;
41+
42+ void initializeMainThread ()
43+ {
44+ static bool initializedMainThread;
45+ if (initializedMainThread)
46+ return ;
47+ initializedMainThread = true ;
48+
49+ mainThreadIdentifier = currentThread ();
50+ }
51+
52+ void callOnMainThread (MainThreadFunction* function, void * context)
53+ {
54+ ChromiumThreading::callOnMainThread (function, context);
55+ }
56+
57+ void callOnMainThreadAndWait (MainThreadFunction*, void *)
58+ {
59+ ASSERT_NOT_REACHED ();
60+ }
61+
62+ void setMainThreadCallbacksPaused (bool )
3963{
40- ChromiumThreading::initializeMainThread ();
64+ ASSERT_NOT_REACHED ();
4165}
4266
43- void scheduleDispatchFunctionsOnMainThread ()
67+ bool isMainThread ()
4468{
45- ChromiumThreading::scheduleDispatchFunctionsOnMainThread () ;
69+ return currentThread () == mainThreadIdentifier ;
4670}
4771
4872} // namespace WTF
Original file line number Diff line number Diff line change 1+ 2010-04-28 Darin Fisher <darin@chromium.org>
2+
3+ Reviewed by David Levin.
4+
5+ [Chromium] callOnMainThread should equate to MessageLoop::PostTask
6+ https://bugs.webkit.org/show_bug.cgi?id=38276
7+
8+ * public/WebKitClient.h:
9+ (WebKit::WebKitClient::callOnMainThread):
10+ * src/ChromiumThreading.cpp:
11+ (WTF::ChromiumThreading::callOnMainThread):
12+
1132010-04-27 John Abd-El-Malek <jam@chromium.org>
214
315 Reviewed by Darin Fisher.
Original file line number Diff line number Diff line change @@ -263,7 +263,8 @@ class WebKitClient {
263263 virtual void stopSharedTimer () { }
264264
265265 // Callable from a background WebKit thread.
266- virtual void callOnMainThread (void (*func)()) { }
266+ virtual void callOnMainThread (void (*func)()) { } // DEPRECATED
267+ virtual void callOnMainThread (void (*func)(void *), void* context) { }
267268
268269 // WebGL --------------------------------------------------------------
269270
Original file line number Diff line number Diff line change 3838
3939namespace WTF {
4040
41- void ChromiumThreading::initializeMainThread ( )
41+ void ChromiumThreading::callOnMainThread ( void (*func)( void *), void* context )
4242{
43- }
44-
45- void ChromiumThreading::scheduleDispatchFunctionsOnMainThread ()
46- {
47- WebKit::webKitClient ()->callOnMainThread (&WTF ::dispatchFunctionsFromMainThread);
43+ WebKit::webKitClient ()->callOnMainThread (func, context);
4844}
4945
5046} // namespace WTF
You can’t perform that action at this time.
0 commit comments