Title: [149358] trunk/Source/WebCore
Revision
149358
Author
[email protected]
Date
2013-04-30 03:43:55 -0700 (Tue, 30 Apr 2013)

Log Message

Unreviewed, rolling out r149338.
http://trac.webkit.org/changeset/149338
https://bugs.webkit.org/show_bug.cgi?id=115409

Broke layout/perf/API tests on non-Mac:
ThreadSpecific<RefPtr<RunLoop>> does not initialize RunLoop
(Requested by rakuco on #webkit).


* platform/RunLoop.cpp:
(WebCore::RunLoop::current):
* platform/RunLoop.h:
(RunLoop):
* platform/cf/RunLoopCF.cpp:
(WebCore::RunLoop::initializeMainRunLoop):
(WebCore::RunLoop::current):
(WebCore::RunLoop::~RunLoop):
* platform/efl/RunLoopEfl.cpp:
(WebCore::RunLoop::~RunLoop):
* platform/gtk/RunLoopGtk.cpp:
(WebCore::RunLoop::~RunLoop):
* platform/win/RunLoopWin.cpp:
(WebCore::RunLoop::~RunLoop):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (149357 => 149358)


--- trunk/Source/WebCore/ChangeLog	2013-04-30 10:16:54 UTC (rev 149357)
+++ trunk/Source/WebCore/ChangeLog	2013-04-30 10:43:55 UTC (rev 149358)
@@ -1,3 +1,28 @@
+2013-04-30  Commit Queue  <[email protected]>
+
+        Unreviewed, rolling out r149338.
+        http://trac.webkit.org/changeset/149338
+        https://bugs.webkit.org/show_bug.cgi?id=115409
+
+        Broke layout/perf/API tests on non-Mac:
+        ThreadSpecific<RefPtr<RunLoop>> does not initialize RunLoop
+        (Requested by rakuco on #webkit).
+
+        * platform/RunLoop.cpp:
+        (WebCore::RunLoop::current):
+        * platform/RunLoop.h:
+        (RunLoop):
+        * platform/cf/RunLoopCF.cpp:
+        (WebCore::RunLoop::initializeMainRunLoop):
+        (WebCore::RunLoop::current):
+        (WebCore::RunLoop::~RunLoop):
+        * platform/efl/RunLoopEfl.cpp:
+        (WebCore::RunLoop::~RunLoop):
+        * platform/gtk/RunLoopGtk.cpp:
+        (WebCore::RunLoop::~RunLoop):
+        * platform/win/RunLoopWin.cpp:
+        (WebCore::RunLoop::~RunLoop):
+
 2013-04-30  Alberto Garcia  <[email protected]>
 
         ImageBufferData: add BlackBerry header

Modified: trunk/Source/WebCore/platform/RunLoop.cpp (149357 => 149358)


--- trunk/Source/WebCore/platform/RunLoop.cpp	2013-04-30 10:16:54 UTC (rev 149357)
+++ trunk/Source/WebCore/platform/RunLoop.cpp	2013-04-30 10:43:55 UTC (rev 149358)
@@ -43,8 +43,8 @@
 
 RunLoop* RunLoop::current()
 {
-    DEFINE_STATIC_LOCAL(WTF::ThreadSpecific<RefPtr<RunLoop> >, runLoopData, ());
-    return runLoopData->get();
+    DEFINE_STATIC_LOCAL(WTF::ThreadSpecific<RunLoop>, runLoopData, ());
+    return &*runLoopData;
 }
 
 RunLoop* RunLoop::main()

Modified: trunk/Source/WebCore/platform/RunLoop.h (149357 => 149358)


--- trunk/Source/WebCore/platform/RunLoop.h	2013-04-30 10:16:54 UTC (rev 149357)
+++ trunk/Source/WebCore/platform/RunLoop.h	2013-04-30 10:43:55 UTC (rev 149358)
@@ -45,7 +45,7 @@
 
 namespace WebCore {
 
-class RunLoop : public ThreadSafeRefCounted<RunLoop> {
+class RunLoop {
 public:
     // Must be called from the main thread (except for the Mac platform, where it
     // can be called from any thread).
@@ -56,7 +56,6 @@
 
     static RunLoop* current();
     static RunLoop* main();
-    ~RunLoop();
 
     void dispatch(const Function<void()>&);
 
@@ -134,6 +133,7 @@
     friend class WTF::ThreadSpecific<RunLoop>;
 
     RunLoop();
+    ~RunLoop();
 
     void performWork();
 

Modified: trunk/Source/WebCore/platform/cf/RunLoopCF.cpp (149357 => 149358)


--- trunk/Source/WebCore/platform/cf/RunLoopCF.cpp	2013-04-30 10:16:54 UTC (rev 149357)
+++ trunk/Source/WebCore/platform/cf/RunLoopCF.cpp	2013-04-30 10:43:55 UTC (rev 149358)
@@ -38,7 +38,7 @@
 {
     static dispatch_once_t onceToken;
     dispatch_once(&onceToken, ^{
-        s_mainRunLoop = adoptRef(new RunLoop(CFRunLoopGetMain())).leakRef();
+        s_mainRunLoop = new RunLoop(CFRunLoopGetMain());
     });
 }
 
@@ -47,8 +47,8 @@
     if (pthread_main_np())
         return RunLoop::main();
     
-    DEFINE_STATIC_LOCAL(WTF::ThreadSpecific<RefPtr<RunLoop> >, runLoopData, ());
-    return runLoopData->get();
+    DEFINE_STATIC_LOCAL(WTF::ThreadSpecific<RunLoop>, runLoopData, ());
+    return &*runLoopData;
 }
 
 RunLoop* RunLoop::main()
@@ -88,8 +88,7 @@
 
 RunLoop::~RunLoop()
 {
-    ASSERT(this != main());
-
+    // FIXME: Tear down the work item queue here.
     CFRunLoopSourceInvalidate(m_runLoopSource);
     CFRelease(m_runLoopSource);
 }

Modified: trunk/Source/WebCore/platform/efl/RunLoopEfl.cpp (149357 => 149358)


--- trunk/Source/WebCore/platform/efl/RunLoopEfl.cpp	2013-04-30 10:16:54 UTC (rev 149357)
+++ trunk/Source/WebCore/platform/efl/RunLoopEfl.cpp	2013-04-30 10:43:55 UTC (rev 149358)
@@ -46,7 +46,6 @@
 
 RunLoop::~RunLoop()
 {
-    ASSERT(this != main());
 }
 
 void RunLoop::run()

Modified: trunk/Source/WebCore/platform/gtk/RunLoopGtk.cpp (149357 => 149358)


--- trunk/Source/WebCore/platform/gtk/RunLoopGtk.cpp	2013-04-30 10:16:54 UTC (rev 149357)
+++ trunk/Source/WebCore/platform/gtk/RunLoopGtk.cpp	2013-04-30 10:43:55 UTC (rev 149358)
@@ -46,8 +46,6 @@
 
 RunLoop::~RunLoop()
 {
-    ASSERT(this != main());
-
     for (int i = m_runLoopMainLoops.size() - 1; i >= 0; --i) {
         if (!g_main_loop_is_running(m_runLoopMainLoops[i].get()))
             continue;

Modified: trunk/Source/WebCore/platform/win/RunLoopWin.cpp (149357 => 149358)


--- trunk/Source/WebCore/platform/win/RunLoopWin.cpp	2013-04-30 10:16:54 UTC (rev 149357)
+++ trunk/Source/WebCore/platform/win/RunLoopWin.cpp	2013-04-30 10:43:55 UTC (rev 149358)
@@ -107,7 +107,6 @@
 RunLoop::~RunLoop()
 {
     // FIXME: Tear down the work item queue here.
-    ASSERT(this != main());
 }
 
 void RunLoop::wakeUp()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to