Title: [105552] trunk/Source
Revision
105552
Author
[email protected]
Date
2012-01-20 16:03:13 -0800 (Fri, 20 Jan 2012)

Log Message

Make WebCore RunLoop work for WebKit1
https://bugs.webkit.org/show_bug.cgi?id=76739

Reviewed by Anders Carlsson.

Source/WebCore:

* 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.

Source/WebKit/mac:

* 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.

Modified Paths

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);
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to