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()