18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms, with or without 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification, are permitted provided that the following conditions 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are met: 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1. Redistributions of source code must retain the above copyright 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer. 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer in the 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation and/or other materials provided with the distribution. 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * its contributors may be used to endorse or promote products derived 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * from this software without specific prior written permission. 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "config.h" 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "JSEvent.h" 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "Clipboard.h" 33643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#include "CompositionEvent.h" 34dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#include "CustomEvent.h" 35dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch#include "DeviceMotionEvent.h" 36e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block#include "DeviceOrientationEvent.h" 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "Event.h" 38cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block#include "JSBeforeLoadEvent.h" 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "JSClipboard.h" 40dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#include "JSCustomEvent.h" 41643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#include "JSCompositionEvent.h" 42dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch#include "JSDeviceMotionEvent.h" 43e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block#include "JSDeviceOrientationEvent.h" 440bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "JSErrorEvent.h" 4568513a70bcd92384395513322f1b801e7bf9c729Steve Block#include "JSHashChangeEvent.h" 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "JSKeyboardEvent.h" 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "JSMessageEvent.h" 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "JSMouseEvent.h" 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "JSMutationEvent.h" 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "JSOverflowEvent.h" 51231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#include "JSPageTransitionEvent.h" 52643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#include "JSPopStateEvent.h" 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "JSProgressEvent.h" 544576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang#include "JSSpeechInputEvent.h" 558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "JSTextEvent.h" 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "JSUIEvent.h" 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "JSWebKitAnimationEvent.h" 588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "JSWebKitTransitionEvent.h" 598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "JSWheelEvent.h" 608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "JSXMLHttpRequestProgressEvent.h" 61cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block#include "BeforeLoadEvent.h" 620bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "ErrorEvent.h" 6368513a70bcd92384395513322f1b801e7bf9c729Steve Block#include "HashChangeEvent.h" 648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "KeyboardEvent.h" 658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "MessageEvent.h" 668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "MouseEvent.h" 678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "MutationEvent.h" 688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "OverflowEvent.h" 69231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#include "PageTransitionEvent.h" 70643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#include "PopStateEvent.h" 718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "ProgressEvent.h" 724576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang#include "SpeechInputEvent.h" 738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "TextEvent.h" 748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "UIEvent.h" 758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "WebKitAnimationEvent.h" 768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "WebKitTransitionEvent.h" 778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "WheelEvent.h" 788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "XMLHttpRequestProgressEvent.h" 798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <runtime/JSLock.h> 808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if ENABLE(DOM_STORAGE) 828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "JSStorageEvent.h" 838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "StorageEvent.h" 848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if ENABLE(SVG) 878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "JSSVGZoomEvent.h" 888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "SVGZoomEvent.h" 898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 91f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch#if ENABLE(TOUCH_EVENTS) 928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "JSTouchEvent.h" 938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "TouchEvent.h" 948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 965af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke#if ENABLE(INDEXED_DATABASE) 9781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "IDBVersionChangeEvent.h" 9881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "JSIDBVersionChangeEvent.h" 995af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke#endif 1005af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke 1016b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner#if ENABLE(WEB_AUDIO) 1026b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner#include "AudioProcessingEvent.h" 1036b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner#include "JSAudioProcessingEvent.h" 1042daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#include "JSOfflineAudioCompletionEvent.h" 1052daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#include "OfflineAudioCompletionEvent.h" 1066b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner#endif 1076b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner 1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectusing namespace JSC; 1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace WebCore { 1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1125f1ab04193ad0130ca8204aadaceae083aca9881Feng QianJSValue JSEvent::clipboardData(ExecState* exec) const 1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 1140bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch return impl()->isClipboardEvent() ? toJS(exec, globalObject(), impl()->clipboardData()) : jsUndefined(); 1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochJSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, Event* event) 1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 1190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch JSLock lock(SilenceAssertionsOnly); 1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (!event) 1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return jsNull(); 1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1242daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch JSDOMWrapper* wrapper = getCachedWrapper(currentWorld(exec), event); 1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (wrapper) 1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return wrapper; 1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (event->isUIEvent()) { 1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (event->isKeyboardEvent()) 1300bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, KeyboardEvent, event); 1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project else if (event->isTextEvent()) 1320bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, TextEvent, event); 1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project else if (event->isMouseEvent()) 1340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, MouseEvent, event); 1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project else if (event->isWheelEvent()) 1360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, WheelEvent, event); 1378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if ENABLE(SVG) 1388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project else if (event->isSVGZoomEvent()) 1390bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, SVGZoomEvent, event); 1408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 141aad6f24e036b3740071bb995b955b18b572067b2Steve Block else if (event->isCompositionEvent()) 142aad6f24e036b3740071bb995b955b18b572067b2Steve Block wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CompositionEvent, event); 143f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch#if ENABLE(TOUCH_EVENTS) 1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project else if (event->isTouchEvent()) 14572f4ed34e756eaa90b94b74b7a6f43ec33310822Andrei Popescu wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, TouchEvent, event); 1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project else 1480bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, UIEvent, event); 1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } else if (event->isMutationEvent()) 1500bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, MutationEvent, event); 1518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project else if (event->isOverflowEvent()) 1520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, OverflowEvent, event); 1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project else if (event->isMessageEvent()) 1540bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, MessageEvent, event); 155231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block else if (event->isPageTransitionEvent()) 156231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, PageTransitionEvent, event); 1578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project else if (event->isProgressEvent()) { 1588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (event->isXMLHttpRequestProgressEvent()) 1590bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, XMLHttpRequestProgressEvent, event); 1608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project else 1610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, ProgressEvent, event); 162cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block } else if (event->isBeforeLoadEvent()) 163cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, BeforeLoadEvent, event); 1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if ENABLE(DOM_STORAGE) 1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project else if (event->isStorageEvent()) 1660bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, StorageEvent, event); 1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1686c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen#if ENABLE(INDEXED_DATABASE) 16981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch else if (event->isIDBVersionChangeEvent()) 17081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, IDBVersionChangeEvent, event); 1716c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen#endif 1728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project else if (event->isWebKitAnimationEvent()) 1730bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, WebKitAnimationEvent, event); 1748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project else if (event->isWebKitTransitionEvent()) 1750bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, WebKitTransitionEvent, event); 1760bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#if ENABLE(WORKERS) 1770bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch else if (event->isErrorEvent()) 1780bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, ErrorEvent, event); 1790bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#endif 18068513a70bcd92384395513322f1b801e7bf9c729Steve Block else if (event->isHashChangeEvent()) 18168513a70bcd92384395513322f1b801e7bf9c729Steve Block wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, HashChangeEvent, event); 182643ca7872b450ea4efacab6188849e5aac2ba161Steve Block else if (event->isPopStateEvent()) 183643ca7872b450ea4efacab6188849e5aac2ba161Steve Block wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, PopStateEvent, event); 184dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block else if (event->isCustomEvent()) 185dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CustomEvent, event); 186e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block#if ENABLE(DEVICE_ORIENTATION) 187dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch else if (event->isDeviceMotionEvent()) 188dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, DeviceMotionEvent, event); 189e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block else if (event->isDeviceOrientationEvent()) 190e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, DeviceOrientationEvent, event); 191e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block#endif 1926b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner#if ENABLE(WEB_AUDIO) 1936b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner else if (event->isAudioProcessingEvent()) 1946b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, AudioProcessingEvent, event); 1952daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch else if (event->isOfflineAudioCompletionEvent()) 1962daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, OfflineAudioCompletionEvent, event); 1976b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner#endif 1984576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang#if ENABLE(INPUT_SPEECH) 1994576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang else if (event->isSpeechInputEvent()) 2004576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, SpeechInputEvent, event); 2014576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang#endif 2028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project else 2030bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, Event, event); 2048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return wrapper; 2068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 2078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} // namespace WebCore 209