WebCore/dom/EventNames.h
changeset 0 4f2f89ce4247
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WebCore/dom/EventNames.h	Fri Sep 17 09:02:29 2010 +0300
@@ -0,0 +1,187 @@
+/*
+ * Copyright (C) 2005, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2006 Jon Shier (jshier@iastate.edu)
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef EventNames_h
+#define EventNames_h
+
+#include "AtomicString.h"
+#include "ThreadGlobalData.h"
+
+namespace WebCore {
+
+#define DOM_EVENT_NAMES_FOR_EACH(macro) \
+    \
+    macro(abort) \
+    macro(beforecopy) \
+    macro(beforecut) \
+    macro(beforeload) \
+    macro(beforepaste) \
+    macro(beforeprocess) \
+    macro(beforeunload) \
+    macro(blur) \
+    macro(cached) \
+    macro(change) \
+    macro(checking) \
+    macro(click) \
+    macro(close) \
+    macro(compositionend) \
+    macro(compositionstart) \
+    macro(compositionupdate) \
+    macro(connect) \
+    macro(contextmenu) \
+    macro(copy) \
+    macro(cut) \
+    macro(dblclick) \
+    macro(deviceorientation) \
+    macro(display) \
+    macro(downloading) \
+    macro(drag) \
+    macro(dragend) \
+    macro(dragenter) \
+    macro(dragleave) \
+    macro(dragover) \
+    macro(dragstart) \
+    macro(drop) \
+    macro(error) \
+    macro(focus) \
+    macro(focusin) \
+    macro(focusout) \
+    macro(hashchange) \
+    macro(input) \
+    macro(invalid) \
+    macro(keydown) \
+    macro(keypress) \
+    macro(keyup) \
+    macro(load) \
+    macro(loadstart) \
+    macro(message) \
+    macro(mousedown) \
+    macro(mousemove) \
+    macro(mouseout) \
+    macro(mouseover) \
+    macro(mouseup) \
+    macro(mousewheel) \
+    macro(noupdate) \
+    macro(obsolete) \
+    macro(offline) \
+    macro(online) \
+    macro(open) \
+    macro(overflowchanged) \
+    macro(pagehide) \
+    macro(pageshow) \
+    macro(paste) \
+    macro(popstate) \
+    macro(readystatechange) \
+    macro(reset) \
+    macro(resize) \
+    macro(scroll) \
+    macro(search) \
+    macro(select) \
+    macro(selectstart) \
+    macro(storage) \
+    macro(submit) \
+    macro(textInput) \
+    macro(unload) \
+    macro(updateready) \
+    macro(zoom) \
+    \
+    macro(DOMActivate) \
+    macro(DOMFocusIn) \
+    macro(DOMFocusOut) \
+    macro(DOMAttrModified) \
+    macro(DOMCharacterDataModified) \
+    macro(DOMNodeInserted) \
+    macro(DOMNodeInsertedIntoDocument) \
+    macro(DOMNodeRemoved) \
+    macro(DOMNodeRemovedFromDocument) \
+    macro(DOMSubtreeModified) \
+    macro(DOMContentLoaded) \
+    \
+    macro(webkitBeforeTextInserted) \
+    macro(webkitEditableContentChanged) \
+    \
+    macro(canplay) \
+    macro(canplaythrough) \
+    macro(durationchange) \
+    macro(emptied) \
+    macro(ended) \
+    macro(loadeddata) \
+    macro(loadedmetadata) \
+    macro(pause) \
+    macro(play) \
+    macro(playing) \
+    macro(ratechange) \
+    macro(seeked) \
+    macro(seeking) \
+    macro(timeupdate) \
+    macro(volumechange) \
+    macro(waiting) \
+    \
+    macro(webkitbeginfullscreen) \
+    macro(webkitendfullscreen) \
+    \
+    macro(progress) \
+    macro(stalled) \
+    macro(suspend) \
+    \
+    macro(webkitAnimationEnd) \
+    macro(webkitAnimationStart) \
+    macro(webkitAnimationIteration) \
+    \
+    macro(webkitTransitionEnd) \
+    \
+    macro(orientationchange) \
+    \
+    macro(touchstart) \
+    macro(touchmove) \
+    macro(touchend) \
+    macro(touchcancel) \
+    \
+    macro(transformactionstart) \
+    macro(transformactionupdate) \
+    macro(transformactionend) \
+    \
+    macro(success) \
+    \
+    macro(loadend) \
+    \
+// end of DOM_EVENT_NAMES_FOR_EACH
+
+    class EventNames : public Noncopyable {
+        int dummy; // Needed to make initialization macro work.
+        // Private to prevent accidental call to EventNames() instead of eventNames()
+        EventNames();
+        friend class ThreadGlobalData;
+
+    public:
+        #define DOM_EVENT_NAMES_DECLARE(name) AtomicString name##Event;
+        DOM_EVENT_NAMES_FOR_EACH(DOM_EVENT_NAMES_DECLARE)
+        #undef DOM_EVENT_NAMES_DECLARE
+    };
+
+    inline EventNames& eventNames()
+    {
+        return threadGlobalData().eventNames();
+    }
+
+}
+
+#endif