-
thatcher authored
Reviewed by Darin. <rdar://problem/4900579> WebKit -finalize methods are not thread-safe; design change needed Call WebCoreObjCFinalizeOnMainThread from the initialize method of all the classes that have a finalizer that needs called on the main thread. * WebCore.exp: * WebCore.xcodeproj/project.pbxproj: * bindings/objc/WebScriptObject.mm: (+[WebScriptObject initialize]): * bridge/mac/WebCoreScriptDebugger.mm: (+[WebCoreScriptDebugger initialize]): * platform/mac/SharedBufferMac.mm: (+[SharedBufferData initialize]): * platform/mac/WebCoreObjCExtras.c: Added. (WebCoreObjCFinalizeOnMainThread): * platform/mac/WebCoreObjCExtras.h: Added. WebKit: Reviewed by Darin. <rdar://problem/4900579> WebKit -finalize methods are not thread-safe; design change needed Call WebCoreObjCFinalizeOnMainThread from the initialize method of all the classes that have a finalizer that needs called on the main thread. Assert in finalize that we are on the main thread. * Carbon/CarbonWindowAdapter.m: (+[CarbonWindowAdapter initialize]): (-[CarbonWindowAdapter finalize]): * History/WebBackForwardList.mm: (+[WebBackForwardList initialize]): (-[WebBackForwardList finalize]): * History/WebHistoryItem.mm: (+[WebHistoryItem initialize]): * Misc/WebElementDictionary.mm: (+[WebElementDictionary initialize]): (-[WebElementDictionary finalize]): * Plugins/WebBaseNetscapePluginStream.m: (+[WebBaseNetscapePluginStream initialize]): (-[WebBaseNetscapePluginStream finalize]): * Plugins/WebBaseNetscapePluginView.mm: (+[WebBaseNetscapePluginView initialize]): (-[WebBaseNetscapePluginView finalize]): * Plugins/WebBasePluginPackage.m: (+[WebBasePluginPackage initialize]): (-[WebBasePluginPackage finalize]): * Plugins/WebNetscapePluginStream.mm: (-[WebNetscapePluginStream finalize]): * WebCoreSupport/WebEditorClient.mm: (+[WebEditCommand initialize]): (-[WebEditCommand finalize]): * WebCoreSupport/WebFrameBridge.mm: (+[WebFrameBridge initialize]): (-[WebFrameBridge finalize]): * WebCoreSupport/WebFrameLoaderClient.mm: (+[WebFramePolicyListener initialize]): (-[WebFramePolicyListener finalize]): * WebView/WebHTMLView.mm: (+[WebHTMLView initialize]): (-[WebHTMLView finalize]): * WebView/WebView.mm: (+[WebViewPrivate initialize]): (-[WebViewPrivate finalize]): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
a1d52ddf