Reviewed by Darin Adler.
authorap@webkit.org <ap@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Nov 2008 10:46:13 +0000 (10:46 +0000)
committerap@webkit.org <ap@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Nov 2008 10:46:13 +0000 (10:46 +0000)
commitfe32dc54a9bd9a76da5f934e3c8499bdb24c63ba
tree0ee3385c97f104efb9e367e68f85d5c86bdea016
parent57168331339f73847a85399d4777509e30008c85
    Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22030
        Make EventNames usable from multiple threads

        * platform/text/AtomicString.cpp:
        (WebCore::stringTable):
        (WebCore::AtomicString::add):
        (WebCore::AtomicString::remove):
        (WebCore::AtomicString::find):
        (WebCore::AtomicString::init):
        * platform/text/AtomicString.h:
        Atomic string table is now per-thread. Individual strings cannot be shared between threads,
        so global AtomicString constants cannot be used from threads other than the main one.

        * dom/EventNames.cpp:
        (WebCore::EventNames::EventNames):
        (WebCore::eventNames):
        (WebCore::EventNames::init):
        * dom/EventNames.h:
        Made EventNames a ThreadSpecific struct. Individual event names are now accessed as
        eventNames().fooEvent, not EventNames::fooEvent. This makes EventNames usable from all
        threads.

        * <Many files>: Access event names via eventNames() function.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38094 268f45cc-cd09-0410-ab3c-d52691b4dbfc
103 files changed:
WebCore/ChangeLog
WebCore/WebCore.base.exp
WebCore/bindings/js/JSDOMWindowBase.cpp
WebCore/bindings/js/JSEventListener.cpp
WebCore/bindings/js/ScriptController.cpp
WebCore/dom/BeforeTextInsertedEvent.cpp
WebCore/dom/BeforeUnloadEvent.cpp
WebCore/dom/CharacterData.cpp
WebCore/dom/ContainerNode.cpp
WebCore/dom/DedicatedWorker.cpp
WebCore/dom/Document.cpp
WebCore/dom/EventNames.cpp
WebCore/dom/EventNames.h
WebCore/dom/EventTargetNode.cpp
WebCore/dom/KeyboardEvent.cpp
WebCore/dom/MessageEvent.cpp
WebCore/dom/MessagePort.cpp
WebCore/dom/MouseEvent.cpp
WebCore/dom/OverflowEvent.cpp
WebCore/dom/TextEvent.cpp
WebCore/dom/WebKitAnimationEvent.cpp
WebCore/dom/WebKitTransitionEvent.cpp
WebCore/dom/WheelEvent.cpp
WebCore/dom/XMLTokenizerLibxml2.cpp
WebCore/dom/XMLTokenizerQt.cpp
WebCore/editing/DeleteButton.cpp
WebCore/editing/EditCommand.cpp
WebCore/editing/Editor.cpp
WebCore/editing/ReplaceSelectionCommand.cpp
WebCore/editing/SelectionController.cpp
WebCore/html/HTMLAnchorElement.cpp
WebCore/html/HTMLBodyElement.cpp
WebCore/html/HTMLButtonElement.cpp
WebCore/html/HTMLElement.cpp
WebCore/html/HTMLFormControlElement.cpp
WebCore/html/HTMLFormElement.cpp
WebCore/html/HTMLFrameElementBase.cpp
WebCore/html/HTMLFrameSetElement.cpp
WebCore/html/HTMLImageElement.cpp
WebCore/html/HTMLImageLoader.cpp
WebCore/html/HTMLInputElement.cpp
WebCore/html/HTMLLabelElement.cpp
WebCore/html/HTMLMediaElement.cpp
WebCore/html/HTMLObjectElement.cpp
WebCore/html/HTMLOptionElement.cpp
WebCore/html/HTMLScriptElement.cpp
WebCore/html/HTMLSelectElement.cpp
WebCore/html/HTMLTextAreaElement.cpp
WebCore/html/HTMLTokenizer.cpp
WebCore/loader/FrameLoader.cpp
WebCore/loader/ImageDocument.cpp
WebCore/loader/ImageLoader.cpp
WebCore/loader/MediaDocument.cpp
WebCore/loader/appcache/DOMApplicationCache.cpp
WebCore/page/AccessibilityObject.cpp
WebCore/page/AccessibilityRenderObject.cpp
WebCore/page/ContextMenuController.cpp
WebCore/page/DOMWindow.cpp
WebCore/page/EventHandler.cpp
WebCore/page/FocusController.cpp
WebCore/page/Frame.cpp
WebCore/page/Page.cpp
WebCore/page/animation/AnimationBase.cpp
WebCore/page/animation/ImplicitAnimation.cpp
WebCore/page/animation/KeyframeAnimation.cpp
WebCore/page/gtk/EventHandlerGtk.cpp
WebCore/page/mac/EventHandlerMac.mm
WebCore/page/mac/FrameMac.mm
WebCore/page/qt/EventHandlerQt.cpp
WebCore/platform/text/AtomicString.cpp
WebCore/platform/text/AtomicString.h
WebCore/plugins/PluginView.cpp
WebCore/plugins/gtk/PluginViewGtk.cpp
WebCore/plugins/qt/PluginViewQt.cpp
WebCore/plugins/win/PluginViewWin.cpp
WebCore/rendering/MediaControlElements.cpp
WebCore/rendering/RenderFrameSet.cpp
WebCore/rendering/RenderLayer.cpp
WebCore/rendering/RenderListBox.cpp
WebCore/rendering/RenderMedia.cpp
WebCore/rendering/RenderObject.cpp
WebCore/rendering/RenderSlider.cpp
WebCore/rendering/RenderTextControl.cpp
WebCore/rendering/RenderWidget.cpp
WebCore/rendering/TextControlInnerElements.cpp
WebCore/storage/LocalStorageArea.cpp
WebCore/storage/SessionStorageArea.cpp
WebCore/svg/SVGAElement.cpp
WebCore/svg/SVGDocument.cpp
WebCore/svg/SVGElement.cpp
WebCore/svg/SVGElementInstance.cpp
WebCore/svg/SVGImageLoader.cpp
WebCore/svg/SVGSVGElement.cpp
WebCore/svg/SVGScriptElement.cpp
WebCore/xml/XMLHttpRequest.cpp
WebCore/xml/XMLHttpRequestUpload.cpp
WebCore/xml/XPathResult.cpp
WebKit/mac/ChangeLog
WebKit/mac/Configurations/WebKit.xcconfig
WebKit/mac/WebView/WebHTMLView.mm
WebKit/mac/WebView/WebPDFView.mm
WebKit/win/ChangeLog
WebKit/win/WebView.cpp