EventNameList.h 31 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102
  1. /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
  2. /* This Source Code Form is subject to the terms of the Mozilla Public
  3. * License, v. 2.0. If a copy of the MPL was not distributed with this
  4. * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  5. /*
  6. * This file contains the list of event names that are exposed via IDL
  7. * on various objects. It is designed to be used as inline input to
  8. * various consumers through the magic of C preprocessing.
  9. *
  10. * Each entry consists of 4 pieces of information:
  11. * 1) The name of the event
  12. * 2) The event message
  13. * 3) The event type (see the EventNameType enum in nsContentUtils.h)
  14. * 4) The event struct type for this event.
  15. * Items 2-4 might be empty strings for events for which they don't make sense.
  16. *
  17. * Event names that are exposed as content attributes on HTML elements
  18. * and as IDL attributes on Elements, Documents and Windows and have
  19. * no forwarding behavior should be enclosed in the EVENT macro.
  20. *
  21. * Event names that are exposed as content attributes on HTML elements
  22. * and as IDL attributes on Elements, Documents and Windows and are
  23. * forwarded from <body> and <frameset> to the Window should be
  24. * enclosed in the FORWARDED_EVENT macro. If this macro is not
  25. * defined, it will be defined to be equivalent to EVENT.
  26. *
  27. * Event names that are exposed as IDL attributes on Windows only
  28. * should be enclosed in the WINDOW_ONLY_EVENT macro. If this macro
  29. * is not defined, it will be defined to the empty string.
  30. *
  31. * Event names that are exposed as content and IDL attributes on
  32. * <body> and <frameset>, which forward them to the Window, and are
  33. * exposed as IDL attributes on the Window should be enclosed in the
  34. * WINDOW_EVENT macro. If this macro is not defined, it will be
  35. * defined to be equivalent to WINDOW_ONLY_EVENT.
  36. *
  37. * Touch-specific event names should be enclosed in TOUCH_EVENT. They
  38. * are otherwise equivalent to those enclosed in EVENT. If
  39. * TOUCH_EVENT is not defined, it will be defined to the empty string.
  40. *
  41. * Event names that are only exposed as IDL attributes on Documents
  42. * should be enclosed in the DOCUMENT_ONLY_EVENT macro. If this macro is
  43. * not defined, it will be defined to the empty string.
  44. *
  45. * Event names that are not exposed as IDL attributes at all should be
  46. * enclosed in NON_IDL_EVENT. If NON_IDL_EVENT is not defined, it
  47. * will be defined to the empty string.
  48. *
  49. * If you change which macros event names are enclosed in, please
  50. * update the tests for bug 689564 and bug 659350 as needed.
  51. */
  52. #ifdef MESSAGE_TO_EVENT
  53. #ifdef EVENT
  54. #error "Don't define EVENT"
  55. #endif /* EVENT */
  56. #ifdef WINDOW_ONLY_EVENT
  57. #error "Don't define WINDOW_ONLY_EVENT"
  58. #endif /* WINDOW_ONLY_EVENT */
  59. #ifdef TOUCH_EVENT
  60. #error "Don't define TOUCH_EVENT"
  61. #endif /* TOUCH_EVENT */
  62. #ifdef DOCUMENT_ONLY_EVENT
  63. #error "Don't define DOCUMENT_ONLY_EVENT"
  64. #endif /* DOCUMENT_ONLY_EVENT */
  65. #ifdef NON_IDL_EVENT
  66. #error "Don't define NON_IDL_EVENT"
  67. #endif /* NON_IDL_EVENT */
  68. #define EVENT MESSAGE_TO_EVENT
  69. #define WINDOW_ONLY_EVENT MESSAGE_TO_EVENT
  70. #define TOUCH_EVENT MESSAGE_TO_EVENT
  71. #define DOCUMENT_ONLY_EVENT MESSAGE_TO_EVENT
  72. #define NON_IDL_EVENT MESSAGE_TO_EVENT
  73. #endif /* MESSAGE_TO_EVENT */
  74. #ifdef DEFINED_FORWARDED_EVENT
  75. #error "Don't define DEFINED_FORWARDED_EVENT"
  76. #endif /* DEFINED_FORWARDED_EVENT */
  77. #ifndef FORWARDED_EVENT
  78. #define FORWARDED_EVENT EVENT
  79. #define DEFINED_FORWARDED_EVENT
  80. #endif /* FORWARDED_EVENT */
  81. #ifdef DEFINED_WINDOW_ONLY_EVENT
  82. #error "Don't define DEFINED_WINDOW_ONLY_EVENT"
  83. #endif /* DEFINED_WINDOW_ONLY_EVENT */
  84. #ifndef WINDOW_ONLY_EVENT
  85. #define WINDOW_ONLY_EVENT(_name, _message, _type, _struct)
  86. #define DEFINED_WINDOW_ONLY_EVENT
  87. #endif /* WINDOW_ONLY_EVENT */
  88. #ifdef DEFINED_WINDOW_EVENT
  89. #error "Don't define DEFINED_WINDOW_EVENT"
  90. #endif /* DEFINED_WINDOW_EVENT */
  91. #ifndef WINDOW_EVENT
  92. #define WINDOW_EVENT WINDOW_ONLY_EVENT
  93. #define DEFINED_WINDOW_EVENT
  94. #endif /* WINDOW_EVENT */
  95. #ifdef DEFINED_TOUCH_EVENT
  96. #error "Don't define DEFINED_TOUCH_EVENT"
  97. #endif /* DEFINED_TOUCH_EVENT */
  98. #ifndef TOUCH_EVENT
  99. #define TOUCH_EVENT(_name, _message, _type, _struct)
  100. #define DEFINED_TOUCH_EVENT
  101. #endif /* TOUCH_EVENT */
  102. #ifdef DEFINED_DOCUMENT_ONLY_EVENT
  103. #error "Don't define DEFINED_DOCUMENT_ONLY_EVENT"
  104. #endif /* DEFINED_DOCUMENT_ONLY_EVENT */
  105. #ifndef DOCUMENT_ONLY_EVENT
  106. #define DOCUMENT_ONLY_EVENT(_name, _message, _type, _struct)
  107. #define DEFINED_DOCUMENT_ONLY_EVENT
  108. #endif /* DOCUMENT_ONLY_EVENT */
  109. #ifdef DEFINED_NON_IDL_EVENT
  110. #error "Don't define DEFINED_NON_IDL_EVENT"
  111. #endif /* DEFINED_NON_IDL_EVENT */
  112. #ifndef NON_IDL_EVENT
  113. #define NON_IDL_EVENT(_name, _message, _type, _struct)
  114. #define DEFINED_NON_IDL_EVENT
  115. #endif /* NON_IDL_EVENT */
  116. #ifdef DEFINED_ERROR_EVENT
  117. #error "Don't define DEFINED_ERROR_EVENT"
  118. #endif /* DEFINED_ERROR_EVENT */
  119. #ifndef ERROR_EVENT
  120. #define ERROR_EVENT FORWARDED_EVENT
  121. #define DEFINED_ERROR_EVENT
  122. #endif /* ERROR_EVENT */
  123. #ifdef DEFINED_BEFOREUNLOAD_EVENT
  124. #error "Don't define DEFINED_BEFOREUNLOAD_EVENT"
  125. #endif /* DEFINED_BEFOREUNLOAD_EVENT */
  126. #ifndef BEFOREUNLOAD_EVENT
  127. #define BEFOREUNLOAD_EVENT WINDOW_EVENT
  128. #define DEFINED_BEFOREUNLOAD_EVENT
  129. #endif /* BEFOREUNLOAD_EVENT */
  130. EVENT(abort,
  131. eImageAbort,
  132. EventNameType_All,
  133. eBasicEventClass)
  134. EVENT(canplay,
  135. eCanPlay,
  136. EventNameType_HTML,
  137. eBasicEventClass)
  138. EVENT(canplaythrough,
  139. eCanPlayThrough,
  140. EventNameType_HTML,
  141. eBasicEventClass)
  142. EVENT(change,
  143. eFormChange,
  144. EventNameType_HTMLXUL,
  145. eBasicEventClass)
  146. EVENT(auxclick,
  147. eMouseAuxClick,
  148. EventNameType_All,
  149. eMouseEventClass)
  150. EVENT(click,
  151. eMouseClick,
  152. EventNameType_All,
  153. eMouseEventClass)
  154. EVENT(close,
  155. eClose,
  156. EventNameType_HTMLXUL,
  157. eBasicEventClass)
  158. EVENT(contextmenu,
  159. eContextMenu,
  160. EventNameType_HTMLXUL,
  161. eMouseEventClass)
  162. NON_IDL_EVENT(mouselongtap,
  163. eMouseLongTap,
  164. EventNameType_HTMLXUL,
  165. eMouseEventClass)
  166. // Not supported yet
  167. // EVENT(cuechange)
  168. EVENT(dblclick,
  169. eMouseDoubleClick,
  170. EventNameType_HTMLXUL,
  171. eMouseEventClass)
  172. EVENT(drag,
  173. eDrag,
  174. EventNameType_HTMLXUL,
  175. eDragEventClass)
  176. EVENT(dragend,
  177. eDragEnd,
  178. EventNameType_HTMLXUL,
  179. eDragEventClass)
  180. EVENT(dragenter,
  181. eDragEnter,
  182. EventNameType_HTMLXUL,
  183. eDragEventClass)
  184. EVENT(dragexit,
  185. eDragExit,
  186. EventNameType_HTMLXUL,
  187. eDragEventClass)
  188. EVENT(dragleave,
  189. eDragLeave,
  190. EventNameType_HTMLXUL,
  191. eDragEventClass)
  192. EVENT(dragover,
  193. eDragOver,
  194. EventNameType_HTMLXUL,
  195. eDragEventClass)
  196. EVENT(dragstart,
  197. eDragStart,
  198. EventNameType_HTMLXUL,
  199. eDragEventClass)
  200. EVENT(drop,
  201. eDrop,
  202. EventNameType_HTMLXUL,
  203. eDragEventClass)
  204. EVENT(durationchange,
  205. eDurationChange,
  206. EventNameType_HTML,
  207. eBasicEventClass)
  208. EVENT(emptied,
  209. eEmptied,
  210. EventNameType_HTML,
  211. eBasicEventClass)
  212. EVENT(ended,
  213. eEnded,
  214. EventNameType_HTML,
  215. eBasicEventClass)
  216. EVENT(fullscreenchange,
  217. eFullscreenChange,
  218. EventNameType_HTML,
  219. eBasicEventClass)
  220. EVENT(fullscreenerror,
  221. eFullscreenError,
  222. EventNameType_HTML,
  223. eBasicEventClass)
  224. EVENT(input,
  225. eEditorInput,
  226. EventNameType_HTMLXUL,
  227. eEditorInputEventClass)
  228. EVENT(invalid,
  229. eFormInvalid,
  230. EventNameType_HTMLXUL,
  231. eBasicEventClass)
  232. EVENT(keydown,
  233. eKeyDown,
  234. EventNameType_HTMLXUL,
  235. eKeyboardEventClass)
  236. EVENT(keypress,
  237. eKeyPress,
  238. EventNameType_HTMLXUL,
  239. eKeyboardEventClass)
  240. EVENT(keyup,
  241. eKeyUp,
  242. EventNameType_HTMLXUL,
  243. eKeyboardEventClass)
  244. EVENT(mozkeydownonplugin,
  245. eKeyDownOnPlugin,
  246. EventNameType_None,
  247. eKeyboardEventClass)
  248. EVENT(mozkeyuponplugin,
  249. eKeyUpOnPlugin,
  250. EventNameType_None,
  251. eKeyboardEventClass)
  252. NON_IDL_EVENT(mozbrowserbeforekeydown,
  253. eBeforeKeyDown,
  254. EventNameType_None,
  255. eBeforeAfterKeyboardEventClass)
  256. NON_IDL_EVENT(mozbrowserafterkeydown,
  257. eAfterKeyDown,
  258. EventNameType_None,
  259. eBeforeAfterKeyboardEventClass)
  260. NON_IDL_EVENT(mozbrowserbeforekeyup,
  261. eBeforeKeyUp,
  262. EventNameType_None,
  263. eBeforeAfterKeyboardEventClass)
  264. NON_IDL_EVENT(mozbrowserafterkeyup,
  265. eAfterKeyUp,
  266. EventNameType_None,
  267. eBeforeAfterKeyboardEventClass)
  268. NON_IDL_EVENT(mozaccesskeynotfound,
  269. eAccessKeyNotFound,
  270. EventNameType_None,
  271. eKeyboardEventClass)
  272. EVENT(loadeddata,
  273. eLoadedData,
  274. EventNameType_HTML,
  275. eBasicEventClass)
  276. EVENT(loadedmetadata,
  277. eLoadedMetaData,
  278. EventNameType_HTML,
  279. eBasicEventClass)
  280. EVENT(loadend,
  281. eLoadEnd,
  282. EventNameType_HTML,
  283. eBasicEventClass)
  284. EVENT(loadstart,
  285. eLoadStart,
  286. EventNameType_HTML,
  287. eBasicEventClass)
  288. EVENT(mousedown,
  289. eMouseDown,
  290. EventNameType_All,
  291. eMouseEventClass)
  292. EVENT(mouseenter,
  293. eMouseEnter,
  294. EventNameType_All,
  295. eMouseEventClass)
  296. EVENT(mouseleave,
  297. eMouseLeave,
  298. EventNameType_All,
  299. eMouseEventClass)
  300. EVENT(mousemove,
  301. eMouseMove,
  302. EventNameType_All,
  303. eMouseEventClass)
  304. EVENT(mouseout,
  305. eMouseOut,
  306. EventNameType_All,
  307. eMouseEventClass)
  308. EVENT(mouseover,
  309. eMouseOver,
  310. EventNameType_All,
  311. eMouseEventClass)
  312. EVENT(mouseup,
  313. eMouseUp,
  314. EventNameType_All,
  315. eMouseEventClass)
  316. EVENT(mozfullscreenchange,
  317. eMozFullscreenChange,
  318. EventNameType_HTML,
  319. eBasicEventClass)
  320. EVENT(mozfullscreenerror,
  321. eMozFullscreenError,
  322. EventNameType_HTML,
  323. eBasicEventClass)
  324. EVENT(mozpointerlockchange,
  325. eMozPointerLockChange,
  326. EventNameType_HTML,
  327. eBasicEventClass)
  328. EVENT(mozpointerlockerror,
  329. eMozPointerLockError,
  330. EventNameType_HTML,
  331. eBasicEventClass)
  332. EVENT(pointerlockchange,
  333. ePointerLockChange,
  334. EventNameType_HTML,
  335. eBasicEventClass)
  336. EVENT(pointerlockerror,
  337. ePointerLockError,
  338. EventNameType_HTML,
  339. eBasicEventClass)
  340. EVENT(pointerdown,
  341. ePointerDown,
  342. EventNameType_All,
  343. ePointerEventClass)
  344. EVENT(pointermove,
  345. ePointerMove,
  346. EventNameType_All,
  347. ePointerEventClass)
  348. EVENT(pointerup,
  349. ePointerUp,
  350. EventNameType_All,
  351. ePointerEventClass)
  352. EVENT(pointercancel,
  353. ePointerCancel,
  354. EventNameType_All,
  355. ePointerEventClass)
  356. EVENT(pointerover,
  357. ePointerOver,
  358. EventNameType_All,
  359. ePointerEventClass)
  360. EVENT(pointerout,
  361. ePointerOut,
  362. EventNameType_All,
  363. ePointerEventClass)
  364. EVENT(pointerenter,
  365. ePointerEnter,
  366. EventNameType_All,
  367. ePointerEventClass)
  368. EVENT(pointerleave,
  369. ePointerLeave,
  370. EventNameType_All,
  371. ePointerEventClass)
  372. EVENT(gotpointercapture,
  373. ePointerGotCapture,
  374. EventNameType_All,
  375. ePointerEventClass)
  376. EVENT(lostpointercapture,
  377. ePointerLostCapture,
  378. EventNameType_All,
  379. ePointerEventClass)
  380. EVENT(selectstart,
  381. eSelectStart,
  382. EventNameType_HTMLXUL,
  383. eBasicEventClass)
  384. // Not supported yet; probably never because "wheel" is a better idea.
  385. // EVENT(mousewheel)
  386. EVENT(pause,
  387. ePause,
  388. EventNameType_HTML,
  389. eBasicEventClass)
  390. EVENT(play,
  391. ePlay,
  392. EventNameType_HTML,
  393. eBasicEventClass)
  394. EVENT(playing,
  395. ePlaying,
  396. EventNameType_HTML,
  397. eBasicEventClass)
  398. EVENT(progress,
  399. eProgress,
  400. EventNameType_HTML,
  401. eBasicEventClass)
  402. EVENT(ratechange,
  403. eRateChange,
  404. EventNameType_HTML,
  405. eBasicEventClass)
  406. EVENT(reset,
  407. eFormReset,
  408. EventNameType_HTMLXUL,
  409. eBasicEventClass)
  410. EVENT(seeked,
  411. eSeeked,
  412. EventNameType_HTML,
  413. eBasicEventClass)
  414. EVENT(seeking,
  415. eSeeking,
  416. EventNameType_HTML,
  417. eBasicEventClass)
  418. EVENT(select,
  419. eFormSelect,
  420. EventNameType_HTMLXUL,
  421. eBasicEventClass)
  422. EVENT(show,
  423. eShow,
  424. EventNameType_HTML,
  425. eBasicEventClass)
  426. EVENT(stalled,
  427. eStalled,
  428. EventNameType_HTML,
  429. eBasicEventClass)
  430. EVENT(submit,
  431. eFormSubmit,
  432. EventNameType_HTMLXUL,
  433. eBasicEventClass)
  434. EVENT(suspend,
  435. eSuspend,
  436. EventNameType_HTML,
  437. eBasicEventClass)
  438. EVENT(timeupdate,
  439. eTimeUpdate,
  440. EventNameType_HTML,
  441. eBasicEventClass)
  442. EVENT(toggle,
  443. eToggle,
  444. EventNameType_HTML,
  445. eBasicEventClass)
  446. EVENT(volumechange,
  447. eVolumeChange,
  448. EventNameType_HTML,
  449. eBasicEventClass)
  450. EVENT(waiting,
  451. eWaiting,
  452. EventNameType_HTML,
  453. eBasicEventClass)
  454. EVENT(wheel,
  455. eWheel,
  456. EventNameType_All,
  457. eWheelEventClass)
  458. EVENT(copy,
  459. eCopy,
  460. EventNameType_HTMLXUL,
  461. eClipboardEventClass)
  462. EVENT(cut,
  463. eCut,
  464. EventNameType_HTMLXUL,
  465. eClipboardEventClass)
  466. EVENT(paste,
  467. ePaste,
  468. EventNameType_HTMLXUL,
  469. eClipboardEventClass)
  470. // Gecko-specific extensions that apply to elements
  471. EVENT(beforescriptexecute,
  472. eBeforeScriptExecute,
  473. EventNameType_HTMLXUL,
  474. eBasicEventClass)
  475. EVENT(afterscriptexecute,
  476. eAfterScriptExecute,
  477. EventNameType_HTMLXUL,
  478. eBasicEventClass)
  479. FORWARDED_EVENT(blur,
  480. eBlur,
  481. EventNameType_HTMLXUL,
  482. eFocusEventClass)
  483. ERROR_EVENT(error,
  484. eLoadError,
  485. EventNameType_All,
  486. eBasicEventClass)
  487. FORWARDED_EVENT(focus,
  488. eFocus,
  489. EventNameType_HTMLXUL,
  490. eFocusEventClass)
  491. FORWARDED_EVENT(focusin,
  492. eFocusIn,
  493. EventNameType_HTMLXUL,
  494. eFocusEventClass)
  495. FORWARDED_EVENT(focusout,
  496. eFocusOut,
  497. EventNameType_HTMLXUL,
  498. eFocusEventClass)
  499. FORWARDED_EVENT(load,
  500. eLoad,
  501. EventNameType_All,
  502. eBasicEventClass)
  503. FORWARDED_EVENT(resize,
  504. eResize,
  505. EventNameType_All,
  506. eBasicEventClass)
  507. FORWARDED_EVENT(scroll,
  508. eScroll,
  509. (EventNameType_HTMLXUL | EventNameType_SVGSVG),
  510. eBasicEventClass)
  511. WINDOW_EVENT(afterprint,
  512. eAfterPrint,
  513. EventNameType_XUL | EventNameType_HTMLBodyOrFramesetOnly,
  514. eBasicEventClass)
  515. WINDOW_EVENT(beforeprint,
  516. eBeforePrint,
  517. EventNameType_XUL | EventNameType_HTMLBodyOrFramesetOnly,
  518. eBasicEventClass)
  519. BEFOREUNLOAD_EVENT(beforeunload,
  520. eBeforeUnload,
  521. EventNameType_XUL | EventNameType_HTMLBodyOrFramesetOnly,
  522. eBasicEventClass)
  523. WINDOW_EVENT(hashchange,
  524. eHashChange,
  525. EventNameType_XUL | EventNameType_HTMLBodyOrFramesetOnly,
  526. eBasicEventClass)
  527. WINDOW_EVENT(languagechange,
  528. eLanguageChange,
  529. EventNameType_HTMLBodyOrFramesetOnly,
  530. eBasicEventClass)
  531. // XXXbz Should the onmessage attribute on <body> really not work? If so, do we
  532. // need a different macro to flag things like that (IDL, but not content
  533. // attributes on body/frameset), or is just using EventNameType_None enough?
  534. WINDOW_EVENT(message,
  535. eMessage,
  536. EventNameType_None,
  537. eBasicEventClass)
  538. WINDOW_EVENT(offline,
  539. eOffline,
  540. EventNameType_XUL | EventNameType_HTMLBodyOrFramesetOnly,
  541. eBasicEventClass)
  542. WINDOW_EVENT(online,
  543. eOnline,
  544. EventNameType_XUL | EventNameType_HTMLBodyOrFramesetOnly,
  545. eBasicEventClass)
  546. WINDOW_EVENT(pagehide,
  547. ePageHide,
  548. EventNameType_HTMLBodyOrFramesetOnly,
  549. eBasicEventClass)
  550. WINDOW_EVENT(pageshow,
  551. ePageShow,
  552. EventNameType_HTMLBodyOrFramesetOnly,
  553. eBasicEventClass)
  554. WINDOW_EVENT(popstate,
  555. ePopState,
  556. EventNameType_XUL | EventNameType_HTMLBodyOrFramesetOnly,
  557. eBasicEventClass)
  558. // Not supported yet
  559. // WINDOW_EVENT(redo)
  560. WINDOW_EVENT(storage,
  561. eStorage,
  562. EventNameType_HTMLBodyOrFramesetOnly,
  563. eBasicEventClass)
  564. // Not supported yet
  565. // WINDOW_EVENT(undo)
  566. WINDOW_EVENT(unload,
  567. eUnload,
  568. (EventNameType_XUL | EventNameType_SVGSVG |
  569. EventNameType_HTMLBodyOrFramesetOnly),
  570. eBasicEventClass)
  571. WINDOW_ONLY_EVENT(devicemotion,
  572. eDeviceMotion,
  573. EventNameType_None,
  574. eBasicEventClass)
  575. WINDOW_ONLY_EVENT(deviceorientation,
  576. eDeviceOrientation,
  577. EventNameType_None,
  578. eBasicEventClass)
  579. WINDOW_ONLY_EVENT(absolutedeviceorientation,
  580. eAbsoluteDeviceOrientation,
  581. EventNameType_None,
  582. eBasicEventClass)
  583. WINDOW_ONLY_EVENT(deviceproximity,
  584. eDeviceProximity,
  585. EventNameType_None,
  586. eBasicEventClass)
  587. WINDOW_ONLY_EVENT(userproximity,
  588. eUserProximity,
  589. EventNameType_None,
  590. eBasicEventClass)
  591. WINDOW_ONLY_EVENT(devicelight,
  592. eDeviceLight,
  593. EventNameType_None,
  594. eBasicEventClass)
  595. WINDOW_ONLY_EVENT(vrdisplayconnect,
  596. eVRDisplayConnect,
  597. EventNameType_None,
  598. eBasicEventClass)
  599. WINDOW_ONLY_EVENT(vrdisplaydisconnect,
  600. eVRDisplayDisconnect,
  601. EventNameType_None,
  602. eBasicEventClass)
  603. WINDOW_ONLY_EVENT(vrdisplaypresentchange,
  604. eVRDisplayPresentChange,
  605. EventNameType_None,
  606. eBasicEventClass)
  607. // Install events as per W3C Manifest spec
  608. WINDOW_ONLY_EVENT(appinstalled,
  609. eAppInstalled,
  610. EventNameType_None,
  611. eBasicEventClass)
  612. TOUCH_EVENT(touchstart,
  613. eTouchStart,
  614. EventNameType_All,
  615. eTouchEventClass)
  616. TOUCH_EVENT(touchend,
  617. eTouchEnd,
  618. EventNameType_All,
  619. eTouchEventClass)
  620. TOUCH_EVENT(touchmove,
  621. eTouchMove,
  622. EventNameType_All,
  623. eTouchEventClass )
  624. TOUCH_EVENT(touchcancel,
  625. eTouchCancel,
  626. EventNameType_All,
  627. eTouchEventClass)
  628. DOCUMENT_ONLY_EVENT(readystatechange,
  629. eReadyStateChange,
  630. EventNameType_HTMLXUL,
  631. eBasicEventClass)
  632. DOCUMENT_ONLY_EVENT(selectionchange,
  633. eSelectionChange,
  634. EventNameType_HTMLXUL,
  635. eBasicEventClass)
  636. DOCUMENT_ONLY_EVENT(visibilitychange,
  637. eVisibilityChange,
  638. EventNameType_HTMLXUL,
  639. eBasicEventClass)
  640. NON_IDL_EVENT(MozMouseHittest,
  641. eMouseHitTest,
  642. EventNameType_None,
  643. eMouseEventClass)
  644. NON_IDL_EVENT(DOMAttrModified,
  645. eLegacyAttrModified,
  646. EventNameType_HTMLXUL,
  647. eMutationEventClass)
  648. NON_IDL_EVENT(DOMCharacterDataModified,
  649. eLegacyCharacterDataModified,
  650. EventNameType_HTMLXUL,
  651. eMutationEventClass)
  652. NON_IDL_EVENT(DOMNodeInserted,
  653. eLegacyNodeInserted,
  654. EventNameType_HTMLXUL,
  655. eMutationEventClass)
  656. NON_IDL_EVENT(DOMNodeRemoved,
  657. eLegacyNodeRemoved,
  658. EventNameType_HTMLXUL,
  659. eMutationEventClass)
  660. NON_IDL_EVENT(DOMNodeInsertedIntoDocument,
  661. eLegacyNodeInsertedIntoDocument,
  662. EventNameType_HTMLXUL,
  663. eMutationEventClass)
  664. NON_IDL_EVENT(DOMNodeRemovedFromDocument,
  665. eLegacyNodeRemovedFromDocument,
  666. EventNameType_HTMLXUL,
  667. eMutationEventClass)
  668. NON_IDL_EVENT(DOMSubtreeModified,
  669. eLegacySubtreeModified,
  670. EventNameType_HTMLXUL,
  671. eMutationEventClass)
  672. NON_IDL_EVENT(DOMActivate,
  673. eLegacyDOMActivate,
  674. EventNameType_HTMLXUL,
  675. eUIEventClass)
  676. NON_IDL_EVENT(DOMFocusIn,
  677. eLegacyDOMFocusIn,
  678. EventNameType_HTMLXUL,
  679. eUIEventClass)
  680. NON_IDL_EVENT(DOMFocusOut,
  681. eLegacyDOMFocusOut,
  682. EventNameType_HTMLXUL,
  683. eUIEventClass)
  684. NON_IDL_EVENT(DOMMouseScroll,
  685. eLegacyMouseLineOrPageScroll,
  686. EventNameType_HTMLXUL,
  687. eMouseScrollEventClass)
  688. NON_IDL_EVENT(MozMousePixelScroll,
  689. eLegacyMousePixelScroll,
  690. EventNameType_HTMLXUL,
  691. eMouseScrollEventClass)
  692. NON_IDL_EVENT(open,
  693. eOpen,
  694. EventNameType_None,
  695. eBasicEventClass)
  696. NON_IDL_EVENT(dataavailable,
  697. eMediaRecorderDataAvailable,
  698. EventNameType_None,
  699. eBasicEventClass)
  700. NON_IDL_EVENT(stop,
  701. eMediaRecorderStop,
  702. EventNameType_None,
  703. eBasicEventClass)
  704. NON_IDL_EVENT(warning,
  705. eMediaRecorderWarning,
  706. EventNameType_None,
  707. eBasicEventClass)
  708. NON_IDL_EVENT(speakerforcedchange,
  709. eSpeakerForcedChange,
  710. EventNameType_None,
  711. eBasicEventClass)
  712. // Events that only have on* attributes on XUL elements
  713. // "text" event is legacy event for modifying composition string in EditorBase.
  714. // This shouldn't be used by web/xul apps. "compositionupdate" should be
  715. // used instead.
  716. NON_IDL_EVENT(text,
  717. eCompositionChange,
  718. EventNameType_XUL,
  719. eCompositionEventClass)
  720. NON_IDL_EVENT(compositionstart,
  721. eCompositionStart,
  722. EventNameType_XUL,
  723. eCompositionEventClass)
  724. NON_IDL_EVENT(compositionupdate,
  725. eCompositionUpdate,
  726. EventNameType_XUL,
  727. eCompositionEventClass)
  728. NON_IDL_EVENT(compositionend,
  729. eCompositionEnd,
  730. EventNameType_XUL,
  731. eCompositionEventClass)
  732. NON_IDL_EVENT(command,
  733. eXULCommand,
  734. EventNameType_XUL,
  735. eInputEventClass)
  736. NON_IDL_EVENT(popupshowing,
  737. eXULPopupShowing,
  738. EventNameType_XUL,
  739. eBasicEventClass)
  740. NON_IDL_EVENT(popupshown,
  741. eXULPopupShown,
  742. EventNameType_XUL,
  743. eBasicEventClass)
  744. NON_IDL_EVENT(popuppositioned,
  745. eXULPopupPositioned,
  746. EventNameType_XUL,
  747. eBasicEventClass)
  748. NON_IDL_EVENT(popuphiding,
  749. eXULPopupHiding,
  750. EventNameType_XUL,
  751. eBasicEventClass)
  752. NON_IDL_EVENT(popuphidden,
  753. eXULPopupHidden,
  754. EventNameType_XUL,
  755. eBasicEventClass)
  756. NON_IDL_EVENT(broadcast,
  757. eXULBroadcast,
  758. EventNameType_XUL,
  759. eBasicEventClass)
  760. NON_IDL_EVENT(commandupdate,
  761. eXULCommandUpdate,
  762. EventNameType_XUL,
  763. eBasicEventClass)
  764. NON_IDL_EVENT(overflow,
  765. eScrollPortOverflow,
  766. EventNameType_XUL,
  767. eBasicEventClass)
  768. NON_IDL_EVENT(underflow,
  769. eScrollPortUnderflow,
  770. EventNameType_XUL,
  771. eBasicEventClass)
  772. // Various SVG events
  773. NON_IDL_EVENT(SVGLoad,
  774. eSVGLoad,
  775. EventNameType_None,
  776. eBasicEventClass)
  777. NON_IDL_EVENT(SVGUnload,
  778. eSVGUnload,
  779. EventNameType_None,
  780. eBasicEventClass)
  781. NON_IDL_EVENT(SVGResize,
  782. eSVGResize,
  783. EventNameType_None,
  784. eBasicEventClass)
  785. NON_IDL_EVENT(SVGScroll,
  786. eSVGScroll,
  787. EventNameType_None,
  788. eBasicEventClass)
  789. NON_IDL_EVENT(SVGZoom,
  790. eSVGZoom,
  791. EventNameType_None,
  792. eSVGZoomEventClass)
  793. // Only map the ID to the real event name when MESSAGE_TO_EVENT is defined.
  794. #ifndef MESSAGE_TO_EVENT
  795. // This is a bit hackish, but SVG's event names are weird.
  796. NON_IDL_EVENT(zoom,
  797. eSVGZoom,
  798. EventNameType_SVGSVG,
  799. eBasicEventClass)
  800. #endif
  801. // Only map the ID to the real event name when MESSAGE_TO_EVENT is defined.
  802. #ifndef MESSAGE_TO_EVENT
  803. NON_IDL_EVENT(begin,
  804. eSMILBeginEvent,
  805. EventNameType_SMIL,
  806. eBasicEventClass)
  807. #endif
  808. NON_IDL_EVENT(beginEvent,
  809. eSMILBeginEvent,
  810. EventNameType_None,
  811. eSMILTimeEventClass)
  812. // Only map the ID to the real event name when MESSAGE_TO_EVENT is defined.
  813. #ifndef MESSAGE_TO_EVENT
  814. NON_IDL_EVENT(end,
  815. eSMILEndEvent,
  816. EventNameType_SMIL,
  817. eBasicEventClass)
  818. #endif
  819. NON_IDL_EVENT(endEvent,
  820. eSMILEndEvent,
  821. EventNameType_None,
  822. eSMILTimeEventClass)
  823. // Only map the ID to the real event name when MESSAGE_TO_EVENT is defined.
  824. #ifndef MESSAGE_TO_EVENT
  825. NON_IDL_EVENT(repeat,
  826. eSMILRepeatEvent,
  827. EventNameType_SMIL,
  828. eBasicEventClass)
  829. #endif
  830. NON_IDL_EVENT(repeatEvent,
  831. eSMILRepeatEvent,
  832. EventNameType_None,
  833. eSMILTimeEventClass)
  834. NON_IDL_EVENT(MozAfterPaint,
  835. eAfterPaint,
  836. EventNameType_None,
  837. eBasicEventClass)
  838. NON_IDL_EVENT(MozScrolledAreaChanged,
  839. eScrolledAreaChanged,
  840. EventNameType_None,
  841. eScrollAreaEventClass)
  842. #ifdef MOZ_GAMEPAD
  843. NON_IDL_EVENT(gamepadbuttondown,
  844. eGamepadButtonDown,
  845. EventNameType_None,
  846. eBasicEventClass)
  847. NON_IDL_EVENT(gamepadbuttonup,
  848. eGamepadButtonUp,
  849. EventNameType_None,
  850. eBasicEventClass)
  851. NON_IDL_EVENT(gamepadaxismove,
  852. eGamepadAxisMove,
  853. EventNameType_None,
  854. eBasicEventClass)
  855. NON_IDL_EVENT(gamepadconnected,
  856. eGamepadConnected,
  857. EventNameType_None,
  858. eBasicEventClass)
  859. NON_IDL_EVENT(gamepaddisconnected,
  860. eGamepadDisconnected,
  861. EventNameType_None,
  862. eBasicEventClass)
  863. #endif
  864. // Simple gesture events
  865. NON_IDL_EVENT(MozSwipeGestureMayStart,
  866. eSwipeGestureMayStart,
  867. EventNameType_None,
  868. eSimpleGestureEventClass)
  869. NON_IDL_EVENT(MozSwipeGestureStart,
  870. eSwipeGestureStart,
  871. EventNameType_None,
  872. eSimpleGestureEventClass)
  873. NON_IDL_EVENT(MozSwipeGestureUpdate,
  874. eSwipeGestureUpdate,
  875. EventNameType_None,
  876. eSimpleGestureEventClass)
  877. NON_IDL_EVENT(MozSwipeGestureEnd,
  878. eSwipeGestureEnd,
  879. EventNameType_None,
  880. eSimpleGestureEventClass)
  881. NON_IDL_EVENT(MozSwipeGesture,
  882. eSwipeGesture,
  883. EventNameType_None,
  884. eSimpleGestureEventClass)
  885. NON_IDL_EVENT(MozMagnifyGestureStart,
  886. eMagnifyGestureStart,
  887. EventNameType_None,
  888. eSimpleGestureEventClass)
  889. NON_IDL_EVENT(MozMagnifyGestureUpdate,
  890. eMagnifyGestureUpdate,
  891. EventNameType_None,
  892. eSimpleGestureEventClass)
  893. NON_IDL_EVENT(MozMagnifyGesture,
  894. eMagnifyGesture,
  895. EventNameType_None,
  896. eSimpleGestureEventClass)
  897. NON_IDL_EVENT(MozRotateGestureStart,
  898. eRotateGestureStart,
  899. EventNameType_None,
  900. eSimpleGestureEventClass)
  901. NON_IDL_EVENT(MozRotateGestureUpdate,
  902. eRotateGestureUpdate,
  903. EventNameType_None,
  904. eSimpleGestureEventClass)
  905. NON_IDL_EVENT(MozRotateGesture,
  906. eRotateGesture,
  907. EventNameType_None,
  908. eSimpleGestureEventClass)
  909. NON_IDL_EVENT(MozTapGesture,
  910. eTapGesture,
  911. EventNameType_None,
  912. eSimpleGestureEventClass)
  913. NON_IDL_EVENT(MozPressTapGesture,
  914. ePressTapGesture,
  915. EventNameType_None,
  916. eSimpleGestureEventClass)
  917. NON_IDL_EVENT(MozEdgeUIStarted,
  918. eEdgeUIStarted,
  919. EventNameType_None,
  920. eSimpleGestureEventClass)
  921. NON_IDL_EVENT(MozEdgeUICanceled,
  922. eEdgeUICanceled,
  923. EventNameType_None,
  924. eSimpleGestureEventClass)
  925. NON_IDL_EVENT(MozEdgeUICompleted,
  926. eEdgeUICompleted,
  927. EventNameType_None,
  928. eSimpleGestureEventClass)
  929. // CSS Transition & Animation events:
  930. EVENT(transitionstart,
  931. eTransitionStart,
  932. EventNameType_All,
  933. eTransitionEventClass)
  934. EVENT(transitionrun,
  935. eTransitionRun,
  936. EventNameType_All,
  937. eTransitionEventClass)
  938. EVENT(transitionend,
  939. eTransitionEnd,
  940. EventNameType_All,
  941. eTransitionEventClass)
  942. EVENT(transitioncancel,
  943. eTransitionCancel,
  944. EventNameType_All,
  945. eTransitionEventClass)
  946. EVENT(animationstart,
  947. eAnimationStart,
  948. EventNameType_All,
  949. eAnimationEventClass)
  950. EVENT(animationend,
  951. eAnimationEnd,
  952. EventNameType_All,
  953. eAnimationEventClass)
  954. EVENT(animationiteration,
  955. eAnimationIteration,
  956. EventNameType_All,
  957. eAnimationEventClass)
  958. EVENT(animationcancel,
  959. eAnimationCancel,
  960. EventNameType_All,
  961. eAnimationEventClass)
  962. // Webkit-prefixed versions of Transition & Animation events, for web compat:
  963. EVENT(webkitAnimationEnd,
  964. eWebkitAnimationEnd,
  965. EventNameType_All,
  966. eAnimationEventClass)
  967. EVENT(webkitAnimationIteration,
  968. eWebkitAnimationIteration,
  969. EventNameType_All,
  970. eAnimationEventClass)
  971. EVENT(webkitAnimationStart,
  972. eWebkitAnimationStart,
  973. EventNameType_All,
  974. eAnimationEventClass)
  975. EVENT(webkitTransitionEnd,
  976. eWebkitTransitionEnd,
  977. EventNameType_All,
  978. eTransitionEventClass)
  979. #ifndef MESSAGE_TO_EVENT
  980. EVENT(webkitanimationend,
  981. eWebkitAnimationEnd,
  982. EventNameType_All,
  983. eAnimationEventClass)
  984. EVENT(webkitanimationiteration,
  985. eWebkitAnimationIteration,
  986. EventNameType_All,
  987. eAnimationEventClass)
  988. EVENT(webkitanimationstart,
  989. eWebkitAnimationStart,
  990. EventNameType_All,
  991. eAnimationEventClass)
  992. EVENT(webkittransitionend,
  993. eWebkitTransitionEnd,
  994. EventNameType_All,
  995. eTransitionEventClass)
  996. #endif
  997. NON_IDL_EVENT(audioprocess,
  998. eAudioProcess,
  999. EventNameType_None,
  1000. eBasicEventClass)
  1001. NON_IDL_EVENT(complete,
  1002. eAudioComplete,
  1003. EventNameType_None,
  1004. eBasicEventClass)
  1005. #ifdef DEFINED_FORWARDED_EVENT
  1006. #undef DEFINED_FORWARDED_EVENT
  1007. #undef FORWARDED_EVENT
  1008. #endif /* DEFINED_FORWARDED_EVENT */
  1009. #ifdef DEFINED_WINDOW_EVENT
  1010. #undef DEFINED_WINDOW_EVENT
  1011. #undef WINDOW_EVENT
  1012. #endif /* DEFINED_WINDOW_EVENT */
  1013. #ifdef DEFINED_WINDOW_ONLY_EVENT
  1014. #undef DEFINED_WINDOW_ONLY_EVENT
  1015. #undef WINDOW_ONLY_EVENT
  1016. #endif /* DEFINED_WINDOW_ONLY_EVENT */
  1017. #ifdef DEFINED_TOUCH_EVENT
  1018. #undef DEFINED_TOUCH_EVENT
  1019. #undef TOUCH_EVENT
  1020. #endif /* DEFINED_TOUCH_EVENT */
  1021. #ifdef DEFINED_DOCUMENT_ONLY_EVENT
  1022. #undef DEFINED_DOCUMENT_ONLY_EVENT
  1023. #undef DOCUMENT_ONLY_EVENT
  1024. #endif /* DEFINED_DOCUMENT_ONLY_EVENT */
  1025. #ifdef DEFINED_NON_IDL_EVENT
  1026. #undef DEFINED_NON_IDL_EVENT
  1027. #undef NON_IDL_EVENT
  1028. #endif /* DEFINED_NON_IDL_EVENT */
  1029. #ifdef DEFINED_ERROR_EVENT
  1030. #undef DEFINED_ERROR_EVENT
  1031. #undef ERROR_EVENT
  1032. #endif /* DEFINED_ERROR_EVENT */
  1033. #ifdef DEFINED_BEFOREUNLOAD_EVENT
  1034. #undef DEFINED_BEFOREUNLOAD_EVENT
  1035. #undef BEFOREUNLOAD_EVENT
  1036. #endif /* BEFOREUNLOAD_EVENT */
  1037. #ifdef MESSAGE_TO_EVENT
  1038. #undef EVENT
  1039. #undef WINDOW_ONLY_EVENT
  1040. #undef TOUCH_EVENT
  1041. #undef DOCUMENT_ONLY_EVENT
  1042. #undef NON_IDL_EVENT
  1043. #endif /* MESSAGE_TO_EVENT */