Diff
Modified: trunk/Source/WebCore/ChangeLog (105551 => 105552)
--- trunk/Source/WebCore/ChangeLog 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebCore/ChangeLog 2012-01-21 00:03:13 UTC (rev 105552)
@@ -1,3 +1,31 @@
+2012-01-20 Sam Weinig <[email protected]>
+
+ Make WebCore RunLoop work for WebKit1
+ https://bugs.webkit.org/show_bug.cgi?id=76739
+
+ Reviewed by Anders Carlsson.
+
+ * platform/RunLoop.cpp:
+ Specialize RunLoop initialization for Mac, where it can happen on any thread.
+
+ * platform/RunLoop.h:
+ Add RunLoop constructor that takes a CFRunLoopRef on the mac for initializing
+ the main thread.
+
+ * platform/mac/RunLoopMac.mm:
+ (WebCore::RunLoop::initializeMainRunLoop):
+ Add new implementation that can work from any thread (and multiple threads at the
+ same time if necessary).
+
+ (WebCore::RunLoop::current):
+ Treat the main thread specially, not storing it in thread specific data.
+
+ (WebCore::RunLoop::main):
+ Copy main accessor since it needs access to the file static.
+
+ (WebCore::RunLoop::RunLoop):
+ Add constructor which takes a CFRunLoopRef.
+
2012-01-20 Tim Horton <[email protected]>
Crash in RenderSVGResourceContainer::markAllClientsForInvalidation
Modified: trunk/Source/WebCore/platform/RunLoop.cpp (105551 => 105552)
--- trunk/Source/WebCore/platform/RunLoop.cpp 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebCore/platform/RunLoop.cpp 2012-01-21 00:03:13 UTC (rev 105552)
@@ -30,6 +30,8 @@
namespace WebCore {
+#if !PLATFORM(MAC)
+
static RunLoop* s_mainRunLoop;
void RunLoop::initializeMainRunLoop()
@@ -51,6 +53,8 @@
return s_mainRunLoop;
}
+#endif
+
void RunLoop::performWork()
{
Vector<Function<void()> > functionQueue;
Modified: trunk/Source/WebCore/platform/RunLoop.h (105551 => 105552)
--- trunk/Source/WebCore/platform/RunLoop.h 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebCore/platform/RunLoop.h 2012-01-21 00:03:13 UTC (rev 105552)
@@ -47,7 +47,8 @@
class RunLoop {
public:
- // Must be called from the main thread.
+ // Must be called from the main thread (except for the Mac platform, where it
+ // can be called from any thread).
static void initializeMainRunLoop();
static RunLoop* current();
@@ -141,6 +142,7 @@
typedef HashMap<uint64_t, TimerBase*> TimerMap;
TimerMap m_activeTimers;
#elif PLATFORM(MAC)
+ RunLoop(CFRunLoopRef);
static void performWork(void*);
CFRunLoopRef m_runLoop;
CFRunLoopSourceRef m_runLoopSource;
Modified: trunk/Source/WebCore/platform/mac/RunLoopMac.mm (105551 => 105552)
--- trunk/Source/WebCore/platform/mac/RunLoopMac.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebCore/platform/mac/RunLoopMac.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -26,8 +26,35 @@
#import "config.h"
#import "RunLoop.h"
+#import <dispatch/dispatch.h>
+
namespace WebCore {
+static RunLoop* s_mainRunLoop;
+
+void RunLoop::initializeMainRunLoop()
+{
+ static dispatch_once_t onceToken;
+ dispatch_once(&onceToken, ^{
+ s_mainRunLoop = new RunLoop(CFRunLoopGetMain());
+ });
+}
+
+RunLoop* RunLoop::current()
+{
+ if (pthread_main_np())
+ return RunLoop::main();
+
+ DEFINE_STATIC_LOCAL(WTF::ThreadSpecific<RunLoop>, runLoopData, ());
+ return &*runLoopData;
+}
+
+RunLoop* RunLoop::main()
+{
+ ASSERT(s_mainRunLoop);
+ return s_mainRunLoop;
+}
+
void RunLoop::performWork(void* context)
{
// Wrap main thread in an Autorelease pool. Sending messages can call
@@ -49,6 +76,15 @@
CFRunLoopAddSource(m_runLoop, m_runLoopSource, kCFRunLoopCommonModes);
}
+RunLoop::RunLoop(CFRunLoopRef runLoop)
+ : m_runLoop(runLoop)
+ , m_nestingLevel(0)
+{
+ CFRunLoopSourceContext context = { 0, this, 0, 0, 0, 0, 0, 0, 0, performWork };
+ m_runLoopSource = CFRunLoopSourceCreate(kCFAllocatorDefault, 0, &context);
+ CFRunLoopAddSource(m_runLoop, m_runLoopSource, kCFRunLoopCommonModes);
+}
+
RunLoop::~RunLoop()
{
// FIXME: Tear down the work item queue here.
Modified: trunk/Source/WebKit/mac/Carbon/CarbonWindowAdapter.mm (105551 => 105552)
--- trunk/Source/WebKit/mac/Carbon/CarbonWindowAdapter.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/Carbon/CarbonWindowAdapter.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -73,6 +73,7 @@
#import <assert.h>
#import <WebCore/WebCoreObjCExtras.h>
+#import <WebCore/RunLoop.h>
#import <runtime/InitializeThreading.h>
#import <wtf/MainThread.h>
@@ -271,6 +272,7 @@
{
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
WebCoreObjCFinalizeOnMainThread(self);
}
Modified: trunk/Source/WebKit/mac/ChangeLog (105551 => 105552)
--- trunk/Source/WebKit/mac/ChangeLog 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/ChangeLog 2012-01-21 00:03:13 UTC (rev 105552)
@@ -1,3 +1,46 @@
+2012-01-20 Sam Weinig <[email protected]>
+
+ Make WebCore RunLoop work for WebKit1
+ https://bugs.webkit.org/show_bug.cgi?id=76739
+
+ Reviewed by Anders Carlsson.
+
+ * Carbon/CarbonWindowAdapter.mm:
+ (+[CarbonWindowAdapter initialize]):
+ * History/WebBackForwardList.mm:
+ (+[WebBackForwardList initialize]):
+ * History/WebHistoryItem.mm:
+ (+[WebHistoryItem initialize]):
+ * Misc/WebElementDictionary.mm:
+ (+[WebElementDictionary initialize]):
+ * Misc/WebIconDatabase.mm:
+ (+[WebIconDatabase initialize]):
+ * Plugins/Hosted/WebHostedNetscapePluginView.mm:
+ (+[WebHostedNetscapePluginView initialize]):
+ * Plugins/WebBaseNetscapePluginView.mm:
+ * Plugins/WebBasePluginPackage.mm:
+ * Plugins/WebNetscapePluginView.mm:
+ (+[WebNetscapePluginView initialize]):
+ * WebCoreSupport/WebEditorClient.mm:
+ (+[WebUndoStep initialize]):
+ * WebCoreSupport/WebFrameLoaderClient.mm:
+ * WebView/WebArchive.mm:
+ (+[WebArchivePrivate initialize]):
+ * WebView/WebDataSource.mm:
+ (+[WebDataSourcePrivate initialize]):
+ * WebView/WebHTMLView.mm:
+ (+[WebHTMLViewPrivate initialize]):
+ (+[WebHTMLView initialize]):
+ * WebView/WebResource.mm:
+ (+[WebResourcePrivate initialize]):
+ * WebView/WebTextIterator.mm:
+ (+[WebTextIteratorPrivate initialize]):
+ * WebView/WebView.mm:
+ (+[WebView initialize]):
+ * WebView/WebViewData.mm:
+ (+[WebViewPrivate initialize]):
+ Initialized the main run loop in addition to other initialization.
+
2012-01-20 Simon Fraser <[email protected]>
https://bugs.webkit.org/show_bug.cgi?id=76444
Modified: trunk/Source/WebKit/mac/History/WebBackForwardList.mm (105551 => 105552)
--- trunk/Source/WebKit/mac/History/WebBackForwardList.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/History/WebBackForwardList.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -42,6 +42,7 @@
#import <WebCore/HistoryItem.h>
#import <WebCore/Page.h>
#import <WebCore/PageCache.h>
+#import <WebCore/RunLoop.h>
#import <WebCore/Settings.h>
#import <WebCore/ThreadCheck.h>
#import <WebCore/WebCoreObjCExtras.h>
@@ -104,6 +105,7 @@
{
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
WebCoreObjCFinalizeOnMainThread(self);
}
Modified: trunk/Source/WebKit/mac/History/WebHistoryItem.mm (105551 => 105552)
--- trunk/Source/WebKit/mac/History/WebHistoryItem.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/History/WebHistoryItem.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -48,6 +48,7 @@
#import <WebCore/KURL.h>
#import <WebCore/PageCache.h>
#import <WebCore/PlatformString.h>
+#import <WebCore/RunLoop.h>
#import <WebCore/ThreadCheck.h>
#import <WebCore/WebCoreObjCExtras.h>
#import <runtime/InitializeThreading.h>
@@ -97,6 +98,7 @@
{
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
WebCoreObjCFinalizeOnMainThread(self);
}
Modified: trunk/Source/WebKit/mac/Misc/WebElementDictionary.mm (105551 => 105552)
--- trunk/Source/WebKit/mac/Misc/WebElementDictionary.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/Misc/WebElementDictionary.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -39,6 +39,7 @@
#import <WebCore/Frame.h>
#import <WebCore/HitTestResult.h>
#import <WebCore/Image.h>
+#import <WebCore/RunLoop.h>
#import <WebCore/WebCoreObjCExtras.h>
#import <WebKit/DOMCore.h>
#import <WebKit/DOMExtensions.h>
@@ -66,6 +67,7 @@
{
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
WebCoreObjCFinalizeOnMainThread(self);
}
Modified: trunk/Source/WebKit/mac/Misc/WebIconDatabase.mm (105551 => 105552)
--- trunk/Source/WebKit/mac/Misc/WebIconDatabase.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/Misc/WebIconDatabase.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -40,6 +40,7 @@
#import <WebCore/IconDatabase.h>
#import <WebCore/Image.h>
#import <WebCore/IntSize.h>
+#import <WebCore/RunLoop.h>
#import <WebCore/SharedBuffer.h>
#import <WebCore/ThreadCheck.h>
#import <runtime/InitializeThreading.h>
@@ -94,6 +95,7 @@
{
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
}
+ (WebIconDatabase *)sharedIconDatabase
Modified: trunk/Source/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm (105551 => 105552)
--- trunk/Source/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -46,6 +46,7 @@
#import <WebCore/RenderEmbeddedObject.h>
#import <WebCore/ResourceError.h>
#import <WebCore/WebCoreObjCExtras.h>
+#import <WebCore/RunLoop.h>
#import <WebCore/runtime_root.h>
#import <runtime/InitializeThreading.h>
#import <wtf/Assertions.h>
@@ -65,6 +66,7 @@
{
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
WebCoreObjCFinalizeOnMainThread(self);
WKSendUserChangeNotifications();
}
Modified: trunk/Source/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm (105551 => 105552)
--- trunk/Source/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -55,6 +55,7 @@
#import <WebCore/ProtectionSpace.h>
#import <WebCore/RenderView.h>
#import <WebCore/RenderWidget.h>
+#import <WebCore/RunLoop.h>
#import <WebCore/SecurityOrigin.h>
#import <WebCore/WebCoreObjCExtras.h>
#import <WebKit/DOMPrivate.h>
@@ -76,6 +77,7 @@
{
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
WebCoreObjCFinalizeOnMainThread(self);
WKSendUserChangeNotifications();
}
Modified: trunk/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm (105551 => 105552)
--- trunk/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -29,6 +29,7 @@
#import <WebKit/WebBasePluginPackage.h>
#import <algorithm>
+#import <WebCore/RunLoop.h>
#import <WebCore/WebCoreObjCExtras.h>
#import <WebKit/WebKitNSStringExtras.h>
#import <WebKit/WebNSObjectExtras.h>
@@ -69,6 +70,7 @@
{
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
WebCoreObjCFinalizeOnMainThread(self);
}
Modified: trunk/Source/WebKit/mac/Plugins/WebNetscapePluginView.mm (105551 => 105552)
--- trunk/Source/WebKit/mac/Plugins/WebNetscapePluginView.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/Plugins/WebNetscapePluginView.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -67,6 +67,7 @@
#import <WebCore/Page.h>
#import <WebCore/PluginMainThreadScheduler.h>
#import <WebCore/ProxyServer.h>
+#import <WebCore/RunLoop.h>
#import <WebCore/ScriptController.h>
#import <WebCore/SecurityOrigin.h>
#import <WebCore/SoftLinking.h>
@@ -194,6 +195,7 @@
{
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
WebCoreObjCFinalizeOnMainThread(self);
WKSendUserChangeNotifications();
}
Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm (105551 => 105552)
--- trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -61,6 +61,7 @@
#import <WebCore/LegacyWebArchive.h>
#import <WebCore/PlatformKeyboardEvent.h>
#import <WebCore/PlatformString.h>
+#import <WebCore/RunLoop.h>
#import <WebCore/SpellChecker.h>
#import <WebCore/UndoStep.h>
#import <WebCore/UserTypingGestureIndicator.h>
@@ -108,6 +109,7 @@
{
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
WebCoreObjCFinalizeOnMainThread(self);
}
Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm (105551 => 105552)
--- trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -112,6 +112,7 @@
#import <WebCore/ResourceHandle.h>
#import <WebCore/ResourceLoader.h>
#import <WebCore/ResourceRequest.h>
+#import <WebCore/RunLoop.h>
#import <WebCore/ScriptController.h>
#import <WebCore/SharedBuffer.h>
#import <WebCore/WebCoreObjCExtras.h>
@@ -1982,6 +1983,7 @@
{
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
WebCoreObjCFinalizeOnMainThread(self);
}
Modified: trunk/Source/WebKit/mac/WebView/WebArchive.mm (105551 => 105552)
--- trunk/Source/WebKit/mac/WebView/WebArchive.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/WebView/WebArchive.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -36,6 +36,7 @@
#import <_javascript_Core/InitializeThreading.h>
#import <WebCore/ArchiveResource.h>
#import <WebCore/LegacyWebArchive.h>
+#import <WebCore/RunLoop.h>
#import <WebCore/ThreadCheck.h>
#import <WebCore/WebCoreObjCExtras.h>
#import <wtf/MainThread.h>
@@ -68,6 +69,7 @@
{
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
WebCoreObjCFinalizeOnMainThread(self);
}
Modified: trunk/Source/WebKit/mac/WebView/WebDataSource.mm (105551 => 105552)
--- trunk/Source/WebKit/mac/WebView/WebDataSource.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/WebView/WebDataSource.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -53,6 +53,7 @@
#import <WebCore/LegacyWebArchive.h>
#import <WebCore/MIMETypeRegistry.h>
#import <WebCore/ResourceRequest.h>
+#import <WebCore/RunLoop.h>
#import <WebCore/SharedBuffer.h>
#import <WebCore/WebCoreObjCExtras.h>
#import <WebCore/WebCoreURLResponse.h>
@@ -81,6 +82,7 @@
{
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
WebCoreObjCFinalizeOnMainThread(self);
}
Modified: trunk/Source/WebKit/mac/WebView/WebHTMLView.mm (105551 => 105552)
--- trunk/Source/WebKit/mac/WebView/WebHTMLView.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/WebView/WebHTMLView.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -108,6 +108,7 @@
#import <WebCore/Range.h>
#import <WebCore/RenderWidget.h>
#import <WebCore/RenderView.h>
+#import <WebCore/RunLoop.h>
#import <WebCore/RuntimeApplicationChecks.h>
#import <WebCore/SharedBuffer.h>
#import <WebCore/SimpleFontData.h>
@@ -550,6 +551,7 @@
{
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
WebCoreObjCFinalizeOnMainThread(self);
if (!oldSetCursorForMouseLocationIMP) {
@@ -2275,6 +2277,7 @@
returnTypes:[[self class] _insertablePasteboardTypes]];
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
WebCoreObjCFinalizeOnMainThread(self);
}
Modified: trunk/Source/WebKit/mac/WebView/WebResource.mm (105551 => 105552)
--- trunk/Source/WebKit/mac/WebView/WebResource.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/WebView/WebResource.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -38,6 +38,7 @@
#import <_javascript_Core/PassRefPtr.h>
#import <WebCore/ArchiveResource.h>
#import <WebCore/LegacyWebArchive.h>
+#import <WebCore/RunLoop.h>
#import <WebCore/RuntimeApplicationChecks.h>
#import <WebCore/TextEncoding.h>
#import <WebCore/ThreadCheck.h>
@@ -67,6 +68,7 @@
{
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
WebCoreObjCFinalizeOnMainThread(self);
}
Modified: trunk/Source/WebKit/mac/WebView/WebTextIterator.mm (105551 => 105552)
--- trunk/Source/WebKit/mac/WebView/WebTextIterator.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/WebView/WebTextIterator.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -29,6 +29,7 @@
#import "DOMRangeInternal.h"
#import "WebTypesInternal.h"
#import <_javascript_Core/Vector.h>
+#import <WebCore/RunLoop.h>
#import <WebCore/TextIterator.h>
#import <WebCore/WebCoreObjCExtras.h>
#import <runtime/InitializeThreading.h>
@@ -49,6 +50,7 @@
{
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
WebCoreObjCFinalizeOnMainThread(self);
}
Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (105551 => 105552)
--- trunk/Source/WebKit/mac/WebView/WebView.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -151,6 +151,7 @@
#import <WebCore/ResourceHandle.h>
#import <WebCore/ResourceLoadScheduler.h>
#import <WebCore/ResourceRequest.h>
+#import <WebCore/RunLoop.h>
#import <WebCore/RuntimeApplicationChecks.h>
#import <WebCore/SchemeRegistry.h>
#import <WebCore/ScriptController.h>
@@ -2952,6 +2953,7 @@
InitWebCoreSystemInterface();
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_applicationWillTerminate) name:NSApplicationWillTerminateNotification object:NSApp];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_preferencesChangedNotification:) name:WebPreferencesChangedInternalNotification object:nil];
Modified: trunk/Source/WebKit/mac/WebView/WebViewData.mm (105551 => 105552)
--- trunk/Source/WebKit/mac/WebView/WebViewData.mm 2012-01-20 23:47:02 UTC (rev 105551)
+++ trunk/Source/WebKit/mac/WebView/WebViewData.mm 2012-01-21 00:03:13 UTC (rev 105552)
@@ -33,6 +33,7 @@
#import "WebPreferenceKeysPrivate.h"
#import <WebCore/WebCoreObjCExtras.h>
#import <WebCore/HistoryItem.h>
+#import <WebCore/RunLoop.h>
#import <objc/objc-auto.h>
#import <runtime/InitializeThreading.h>
#import <wtf/MainThread.h>
@@ -65,6 +66,7 @@
{
JSC::initializeThreading();
WTF::initializeMainThreadToProcessMainThread();
+ WebCore::RunLoop::initializeMainRunLoop();
WebCoreObjCFinalizeOnMainThread(self);
}