From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- dom/events/test/bug1017086_inner.html | 41 + dom/events/test/bug1096146_embedded.html | 16 + dom/events/test/bug226361_iframe.xhtml | 47 + dom/events/test/bug299673.js | 105 + dom/events/test/bug322588-popup.html | 1 + dom/events/test/bug415498-doc1.html | 15 + dom/events/test/bug415498-doc2.html | 15 + dom/events/test/bug418986-3.js | 69 + dom/events/test/bug426082.html | 165 + dom/events/test/bug591249_iframe.xul | 33 + dom/events/test/bug602962.xul | 8 + dom/events/test/bug656379-1.html | 185 ++ dom/events/test/bug989198_embedded.html | 20 + dom/events/test/bug989198_helper.js | 192 ++ dom/events/test/chrome.ini | 28 + dom/events/test/empty.js | 0 dom/events/test/error_event_worker.js | 15 + dom/events/test/file_bug679494.html | 8 + dom/events/test/marionette/head.js | 142 + dom/events/test/marionette/manifest.ini | 4 + .../test/marionette/test_sensor_orientation.js | 53 + dom/events/test/mochitest.ini | 186 ++ ...93174_implicit_pointer_capture_for_touch_1.html | 64 + ...93174_implicit_pointer_capture_for_touch_2.html | 65 + dom/events/test/pointerevents/mochitest.ini | 152 + .../pointerevents/mochitest_support_external.js | 123 + .../pointerevents/mochitest_support_internal.js | 31 + .../pointerevent_attributes_mouse-manual.html | 113 + .../pointerevent_capture_mouse-manual.html | 135 + ...nterevent_capture_suppressing_mouse-manual.html | 186 ++ ...ge-touch-action-onpointerdown_touch-manual.html | 138 + .../pointerevents/pointerevent_constructor.html | 101 + ...nterevent_element_haspointercapture-manual.html | 123 + ...ntercapture_release_pending_capture-manual.html | 76 + ...ercapture_before_first_pointerevent-manual.html | 100 + ...ointercapture_for_disconnected_node-manual.html | 81 + ...erevent_lostpointercapture_is_first-manual.html | 118 + ...le_primary_pointers_boundary_events-manual.html | 148 + .../pointerevent_pointerId_scope-manual.html | 85 + .../pointerevent_pointercancel_touch-manual.html | 80 + .../pointerevent_pointerdown-manual.html | 60 + .../pointerevent_pointerenter-manual.html | 53 + ...revent_pointerenter_does_not_bubble-manual.html | 91 + .../pointerevent_pointerenter_nohover-manual.html | 77 + ...nterleave_after_pointercancel_touch-manual.html | 67 + ...ointerleave_after_pointerup_nohover-manual.html | 68 + ...revent_pointerleave_descendant_over-manual.html | 64 + ...interevent_pointerleave_descendants-manual.html | 55 + ...revent_pointerleave_does_not_bubble-manual.html | 80 + .../pointerevent_pointerleave_mouse-manual.html | 56 + .../pointerevent_pointerleave_pen-manual.html | 59 + .../pointerevent_pointerleave_touch-manual.html | 54 + .../pointerevent_pointermove-manual.html | 45 + ...revent_pointermove-on-chorded-mouse-button.html | 77 + ...rmove_isprimary_same_as_pointerdown-manual.html | 73 + ...ointerevent_pointermove_pointertype-manual.html | 67 + .../pointerevent_pointerout-manual.html | 47 + ...ointerout_after_pointercancel_touch-manual.html | 68 + ..._pointerout_after_pointerup_nohover-manual.html | 68 + .../pointerevent_pointerout_pen-manual.html | 58 + ...interevent_pointerout_received_once-manual.html | 59 + .../pointerevent_pointerover-manual.html | 53 + .../pointerevent_pointertype_mouse-manual.html | 66 + .../pointerevent_pointertype_pen-manual.html | 64 + .../pointerevent_pointertype_touch-manual.html | 65 + .../pointerevent_pointerup-manual.html | 45 + ...terup_isprimary_same_as_pointerdown-manual.html | 66 + .../pointerevent_pointerup_pointertype-manual.html | 67 + ...ercapture_events_to_original_target-manual.html | 119 + ...asepointercapture_invalid_pointerid-manual.html | 79 + ...ointercapture_onpointercancel_touch-manual.html | 74 + ...asepointercapture_onpointerup_mouse-manual.html | 82 + ...capture_release_right_after_capture-manual.html | 64 + ...vent_setpointercapture_disconnected-manual.html | 58 + ...ointercapture_inactive_button_mouse-manual.html | 61 + ...setpointercapture_invalid_pointerid-manual.html | 68 + ...re_override_pending_capture_element-manual.html | 66 + ...ent_setpointercapture_relatedtarget-manual.html | 103 + ...ointercapture_to_same_element_twice-manual.html | 65 + .../test/pointerevents/pointerevent_styles.css | 93 + .../test/pointerevents/pointerevent_support.js | 185 ++ ...interevent_suppress_compat_events_on_click.html | 104 + ...event_suppress_compat_events_on_drag_mouse.html | 117 + ...erevent_touch-action-auto-css_touch-manual.html | 129 + ...vent_touch-action-button-test_touch-manual.html | 109 + .../pointerevent_touch-action-illegal.html | 67 + ...inherit_child-auto-child-none_touch-manual.html | 117 + ...uch-action-inherit_child-none_touch-manual.html | 112 + ...herit_child-pan-x-child-pan-x_touch-manual.html | 112 + ...herit_child-pan-x-child-pan-y_touch-manual.html | 117 + ...n-inherit_highest-parent-none_touch-manual.html | 133 + ...ch-action-inherit_parent-none_touch-manual.html | 112 + .../pointerevent_touch-action-keyboard-manual.html | 124 + .../pointerevent_touch-action-mouse-manual.html | 130 + ...erevent_touch-action-none-css_touch-manual.html | 111 + ...revent_touch-action-pan-x-css_touch-manual.html | 106 + ...ouch-action-pan-x-pan-y-pan-y_touch-manual.html | 111 + ...vent_touch-action-pan-x-pan-y_touch-manual.html | 126 + ...revent_touch-action-pan-y-css_touch-manual.html | 106 + ...revent_touch-action-span-test_touch-manual.html | 113 + ...erevent_touch-action-svg-test_touch-manual.html | 122 + ...event_touch-action-table-test_touch-manual.html | 141 + .../pointerevent_touch-action-verification.html | 101 + dom/events/test/pointerevents/readme.md | 5 + .../pointerevent_pointerId_scope-iframe.html | 37 + dom/events/test/pointerevents/test_bug1285128.html | 48 + ...93174_implicit_pointer_capture_for_touch_1.html | 30 + ...93174_implicit_pointer_capture_for_touch_2.html | 30 + dom/events/test/pointerevents/test_empty_file.html | 7 + .../test_pointerevent_attributes_mouse-manual.html | 33 + .../test_pointerevent_capture_mouse-manual.html | 32 + ...nterevent_capture_suppressing_mouse-manual.html | 33 + ...ge-touch-action-onpointerdown_touch-manual.html | 39 + .../test_pointerevent_constructor.html | 26 + ...nterevent_element_haspointercapture-manual.html | 32 + ...ntercapture_release_pending_capture-manual.html | 30 + ...ercapture_before_first_pointerevent-manual.html | 27 + ...ointercapture_for_disconnected_node-manual.html | 31 + ...erevent_lostpointercapture_is_first-manual.html | 28 + ...le_primary_pointers_boundary_events-manual.html | 31 + .../test_pointerevent_pointerId_scope-manual.html | 27 + ...st_pointerevent_pointercancel_touch-manual.html | 27 + .../test_pointerevent_pointerdown-manual.html | 28 + .../test_pointerevent_pointerenter-manual.html | 26 + ...revent_pointerenter_does_not_bubble-manual.html | 27 + ...t_pointerevent_pointerenter_nohover-manual.html | 28 + ...nterleave_after_pointercancel_touch-manual.html | 27 + ...ointerleave_after_pointerup_nohover-manual.html | 27 + ...revent_pointerleave_descendant_over-manual.html | 28 + ...interevent_pointerleave_descendants-manual.html | 27 + ...revent_pointerleave_does_not_bubble-manual.html | 27 + ...est_pointerevent_pointerleave_mouse-manual.html | 27 + .../test_pointerevent_pointerleave_pen-manual.html | 28 + ...est_pointerevent_pointerleave_touch-manual.html | 27 + .../test_pointerevent_pointermove-manual.html | 26 + ...revent_pointermove-on-chorded-mouse-button.html | 37 + ...rmove_isprimary_same_as_pointerdown-manual.html | 28 + ...ointerevent_pointermove_pointertype-manual.html | 27 + .../test_pointerevent_pointerout-manual.html | 27 + ...ointerout_after_pointercancel_touch-manual.html | 27 + ..._pointerout_after_pointerup_nohover-manual.html | 27 + .../test_pointerevent_pointerout_pen-manual.html | 28 + ...interevent_pointerout_received_once-manual.html | 27 + .../test_pointerevent_pointerover-manual.html | 26 + ...test_pointerevent_pointertype_mouse-manual.html | 27 + .../test_pointerevent_pointertype_pen-manual.html | 27 + ...test_pointerevent_pointertype_touch-manual.html | 27 + .../test_pointerevent_pointerup-manual.html | 27 + ...terup_isprimary_same_as_pointerdown-manual.html | 27 + ..._pointerevent_pointerup_pointertype-manual.html | 27 + ...ercapture_events_to_original_target-manual.html | 28 + ...asepointercapture_invalid_pointerid-manual.html | 27 + ...ointercapture_onpointercancel_touch-manual.html | 27 + ...asepointercapture_onpointerup_mouse-manual.html | 27 + ...capture_release_right_after_capture-manual.html | 30 + ...vent_setpointercapture_disconnected-manual.html | 27 + ...ointercapture_inactive_button_mouse-manual.html | 28 + ...setpointercapture_invalid_pointerid-manual.html | 26 + ...re_override_pending_capture_element-manual.html | 31 + ...ent_setpointercapture_relatedtarget-manual.html | 29 + ...ointercapture_to_same_element_twice-manual.html | 31 + ...interevent_suppress_compat_events_on_click.html | 31 + ...event_suppress_compat_events_on_drag_mouse.html | 33 + .../test/pointerevents/test_touch_action.html | 99 + .../test/pointerevents/touch_action_helpers.js | 206 ++ dom/events/test/test_DataTransferItemList.html | 232 ++ dom/events/test/test_accel_virtual_modifier.html | 90 + dom/events/test/test_addEventListenerExtraArg.html | 31 + dom/events/test/test_all_synthetic_events.html | 515 ++++ dom/events/test/test_bug1003432.html | 45 + dom/events/test/test_bug1003432.js | 23 + dom/events/test/test_bug1013412.html | 110 + dom/events/test/test_bug1017086_disable.html | 41 + dom/events/test/test_bug1017086_enable.html | 43 + dom/events/test/test_bug1037990.html | 61 + dom/events/test/test_bug1079236.html | 60 + dom/events/test/test_bug1096146.html | 187 ++ dom/events/test/test_bug1128787-1.html | 54 + dom/events/test/test_bug1128787-2.html | 55 + dom/events/test/test_bug1128787-3.html | 54 + dom/events/test/test_bug1145910.html | 48 + dom/events/test/test_bug1150308.html | 41 + dom/events/test/test_bug1248459.html | 58 + dom/events/test/test_bug1264380.html | 54 + dom/events/test/test_bug1298970.html | 33 + dom/events/test/test_bug226361.xhtml | 82 + dom/events/test/test_bug238987.html | 282 ++ dom/events/test/test_bug288392.html | 97 + dom/events/test/test_bug299673-1.html | 61 + dom/events/test/test_bug299673-2.html | 60 + dom/events/test/test_bug322588.html | 62 + dom/events/test/test_bug328885.html | 134 + dom/events/test/test_bug336682.js | 94 + dom/events/test/test_bug336682_1.html | 68 + dom/events/test/test_bug336682_2.xul | 71 + dom/events/test/test_bug367781.html | 53 + dom/events/test/test_bug368835.html | 101 + dom/events/test/test_bug379120.html | 58 + dom/events/test/test_bug391568.xhtml | 77 + dom/events/test/test_bug402089.html | 67 + dom/events/test/test_bug405632.html | 34 + dom/events/test/test_bug409604.html | 382 +++ dom/events/test/test_bug412567.html | 47 + dom/events/test/test_bug415498.xul | 106 + dom/events/test/test_bug418986-3.html | 25 + dom/events/test/test_bug418986-3.xul | 27 + dom/events/test/test_bug422132.html | 124 + dom/events/test/test_bug426082.html | 30 + dom/events/test/test_bug427537.html | 61 + dom/events/test/test_bug428988.html | 44 + dom/events/test/test_bug432698.html | 223 ++ dom/events/test/test_bug443985.html | 76 + dom/events/test/test_bug447736.html | 47 + dom/events/test/test_bug448602.html | 220 ++ dom/events/test/test_bug450876.html | 41 + dom/events/test/test_bug456273.html | 41 + dom/events/test/test_bug457672.html | 55 + dom/events/test/test_bug489671.html | 55 + dom/events/test/test_bug493251.html | 194 ++ dom/events/test/test_bug502818.html | 54 + dom/events/test/test_bug508479.html | 103 + dom/events/test/test_bug517851.html | 112 + dom/events/test/test_bug524674.xul | 147 + dom/events/test/test_bug534833.html | 157 + dom/events/test/test_bug545268.html | 141 + dom/events/test/test_bug547996-1.html | 87 + dom/events/test/test_bug547996-2.xhtml | 125 + dom/events/test/test_bug556493.html | 74 + dom/events/test/test_bug563329.html | 82 + dom/events/test/test_bug574663.html | 170 + dom/events/test/test_bug586961.xul | 46 + dom/events/test/test_bug591249.xul | 75 + dom/events/test/test_bug591815.html | 68 + dom/events/test/test_bug593959.html | 60 + dom/events/test/test_bug602962.xul | 88 + dom/events/test/test_bug603008.html | 556 ++++ dom/events/test/test_bug605242.html | 58 + dom/events/test/test_bug607464.html | 87 + dom/events/test/test_bug613634.html | 90 + dom/events/test/test_bug615597.html | 39 + dom/events/test/test_bug617528.xul | 95 + dom/events/test/test_bug624127.html | 35 + dom/events/test/test_bug635465.html | 90 + dom/events/test/test_bug641477.html | 37 + dom/events/test/test_bug648573.html | 109 + dom/events/test/test_bug650493.html | 215 ++ dom/events/test/test_bug656379-1.html | 30 + dom/events/test/test_bug656379-2.html | 83 + dom/events/test/test_bug656954.html | 42 + dom/events/test/test_bug659071.html | 39 + dom/events/test/test_bug659350.html | 111 + dom/events/test/test_bug662678.html | 153 + dom/events/test/test_bug667612.html | 39 + dom/events/test/test_bug667919-1.html | 41 + dom/events/test/test_bug679494.xul | 36 + dom/events/test/test_bug684208.html | 80 + dom/events/test/test_bug687787.html | 617 ++++ dom/events/test/test_bug689564.html | 65 + dom/events/test/test_bug698929.html | 47 + dom/events/test/test_bug704423.html | 40 + dom/events/test/test_bug741666.html | 176 ++ dom/events/test/test_bug742376.html | 74 + dom/events/test/test_bug812744.html | 38 + dom/events/test/test_bug822898.html | 350 +++ dom/events/test/test_bug855741.html | 90 + dom/events/test/test_bug864040.html | 87 + dom/events/test/test_bug924087.html | 45 + dom/events/test/test_bug930374-chrome.html | 58 + dom/events/test/test_bug930374-content.html | 72 + dom/events/test/test_bug944011.html | 52 + dom/events/test/test_bug944847.html | 42 + dom/events/test/test_bug946632.html | 161 + dom/events/test/test_bug967796.html | 235 ++ dom/events/test/test_bug985988.html | 76 + dom/events/test/test_bug998809.html | 35 + dom/events/test/test_clickevent_on_input.html | 111 + dom/events/test/test_continuous_wheel_events.html | 3248 ++++++++++++++++++++ .../test_dblclick_explicit_original_target.html | 33 + dom/events/test/test_dom_activate_event.html | 89 + .../test/test_dom_before_after_keyboard_event.html | 136 + ...est_dom_before_after_keyboard_event_remote.html | 195 ++ dom/events/test/test_dom_keyboard_event.html | 306 ++ dom/events/test/test_dom_mouse_event.html | 143 + dom/events/test/test_dom_storage_event.html | 62 + dom/events/test/test_dom_wheel_event.html | 811 +++++ dom/events/test/test_draggableprop.html | 89 + dom/events/test/test_dragstart.html | 585 ++++ dom/events/test/test_error_events.html | 72 + dom/events/test/test_eventTimeStamp.html | 121 + dom/events/test/test_eventctors.html | 953 ++++++ dom/events/test/test_eventctors.xul | 49 + dom/events/test/test_eventhandler_scoping.html | 17 + dom/events/test/test_focus_disabled.html | 125 + dom/events/test/test_legacy_event.html | 304 ++ dom/events/test/test_messageEvent.html | 79 + dom/events/test/test_messageEvent_init.html | 25 + .../test/test_moz_mouse_pixel_scroll_event.html | 1363 ++++++++ dom/events/test/test_offsetxy.html | 98 + dom/events/test/test_onerror_handler_args.html | 36 + dom/events/test/test_passive_listeners.html | 118 + dom/events/test/test_paste_image.html | 196 ++ dom/events/test/test_wheel_default_action.html | 39 + dom/events/test/window_bug493251.html | 13 + dom/events/test/window_bug617528.xul | 9 + dom/events/test/window_bug659071.html | 69 + dom/events/test/window_wheel_default_action.html | 1848 +++++++++++ 306 files changed, 33068 insertions(+) create mode 100644 dom/events/test/bug1017086_inner.html create mode 100644 dom/events/test/bug1096146_embedded.html create mode 100644 dom/events/test/bug226361_iframe.xhtml create mode 100644 dom/events/test/bug299673.js create mode 100644 dom/events/test/bug322588-popup.html create mode 100644 dom/events/test/bug415498-doc1.html create mode 100644 dom/events/test/bug415498-doc2.html create mode 100644 dom/events/test/bug418986-3.js create mode 100644 dom/events/test/bug426082.html create mode 100644 dom/events/test/bug591249_iframe.xul create mode 100644 dom/events/test/bug602962.xul create mode 100644 dom/events/test/bug656379-1.html create mode 100644 dom/events/test/bug989198_embedded.html create mode 100644 dom/events/test/bug989198_helper.js create mode 100644 dom/events/test/chrome.ini create mode 100644 dom/events/test/empty.js create mode 100644 dom/events/test/error_event_worker.js create mode 100644 dom/events/test/file_bug679494.html create mode 100644 dom/events/test/marionette/head.js create mode 100644 dom/events/test/marionette/manifest.ini create mode 100644 dom/events/test/marionette/test_sensor_orientation.js create mode 100644 dom/events/test/mochitest.ini create mode 100644 dom/events/test/pointerevents/bug1293174_implicit_pointer_capture_for_touch_1.html create mode 100644 dom/events/test/pointerevents/bug1293174_implicit_pointer_capture_for_touch_2.html create mode 100644 dom/events/test/pointerevents/mochitest.ini create mode 100644 dom/events/test/pointerevents/mochitest_support_external.js create mode 100644 dom/events/test/pointerevents/mochitest_support_internal.js create mode 100644 dom/events/test/pointerevents/pointerevent_attributes_mouse-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_capture_mouse-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_capture_suppressing_mouse-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_change-touch-action-onpointerdown_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_constructor.html create mode 100644 dom/events/test/pointerevents/pointerevent_element_haspointercapture-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_element_haspointercapture_release_pending_capture-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_gotpointercapture_before_first_pointerevent-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_lostpointercapture_for_disconnected_node-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_lostpointercapture_is_first-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_multiple_primary_pointers_boundary_events-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerId_scope-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointercancel_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerdown-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerenter-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerenter_does_not_bubble-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerenter_nohover-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerleave_after_pointercancel_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerleave_after_pointerup_nohover-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerleave_descendant_over-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerleave_descendants-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerleave_does_not_bubble-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerleave_mouse-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerleave_pen-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerleave_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointermove-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointermove-on-chorded-mouse-button.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointermove_isprimary_same_as_pointerdown-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointermove_pointertype-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerout-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerout_after_pointercancel_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerout_after_pointerup_nohover-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerout_pen-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerout_received_once-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerover-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointertype_mouse-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointertype_pen-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointertype_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerup-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerup_isprimary_same_as_pointerdown-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_pointerup_pointertype-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_releasepointercapture_events_to_original_target-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_releasepointercapture_invalid_pointerid-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_releasepointercapture_onpointerup_mouse-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_releasepointercapture_release_right_after_capture-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_setpointercapture_disconnected-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_setpointercapture_inactive_button_mouse-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_setpointercapture_invalid_pointerid-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_setpointercapture_override_pending_capture_element-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_setpointercapture_relatedtarget-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_setpointercapture_to_same_element_twice-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_styles.css create mode 100644 dom/events/test/pointerevents/pointerevent_support.js create mode 100644 dom/events/test/pointerevents/pointerevent_suppress_compat_events_on_click.html create mode 100644 dom/events/test/pointerevents/pointerevent_suppress_compat_events_on_drag_mouse.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-auto-css_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-button-test_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-illegal.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-inherit_child-auto-child-none_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-inherit_child-none_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-x_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-y_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-inherit_parent-none_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-keyboard-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-mouse-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-none-css_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-pan-x-css_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-pan-x-pan-y-pan-y_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-pan-y-css_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-span-test_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-svg-test_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-table-test_touch-manual.html create mode 100644 dom/events/test/pointerevents/pointerevent_touch-action-verification.html create mode 100644 dom/events/test/pointerevents/readme.md create mode 100644 dom/events/test/pointerevents/resources/pointerevent_pointerId_scope-iframe.html create mode 100644 dom/events/test/pointerevents/test_bug1285128.html create mode 100644 dom/events/test/pointerevents/test_bug1293174_implicit_pointer_capture_for_touch_1.html create mode 100644 dom/events/test/pointerevents/test_bug1293174_implicit_pointer_capture_for_touch_2.html create mode 100644 dom/events/test/pointerevents/test_empty_file.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_attributes_mouse-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_capture_mouse-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_capture_suppressing_mouse-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_change-touch-action-onpointerdown_touch-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_constructor.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_element_haspointercapture-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_element_haspointercapture_release_pending_capture-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_gotpointercapture_before_first_pointerevent-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_lostpointercapture_for_disconnected_node-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_lostpointercapture_is_first-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_multiple_primary_pointers_boundary_events-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerId_scope-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointercancel_touch-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerdown-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerenter-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerenter_does_not_bubble-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerenter_nohover-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerleave_after_pointercancel_touch-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerleave_after_pointerup_nohover-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerleave_descendant_over-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerleave_descendants-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerleave_does_not_bubble-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerleave_mouse-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerleave_pen-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerleave_touch-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointermove-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointermove-on-chorded-mouse-button.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointermove_isprimary_same_as_pointerdown-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointermove_pointertype-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerout-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerout_after_pointercancel_touch-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerout_after_pointerup_nohover-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerout_pen-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerout_received_once-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerover-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointertype_mouse-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointertype_pen-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointertype_touch-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerup-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerup_isprimary_same_as_pointerdown-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_pointerup_pointertype-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_releasepointercapture_events_to_original_target-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_releasepointercapture_invalid_pointerid-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_releasepointercapture_onpointercancel_touch-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_releasepointercapture_onpointerup_mouse-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_releasepointercapture_release_right_after_capture-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_setpointercapture_disconnected-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_setpointercapture_inactive_button_mouse-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_setpointercapture_invalid_pointerid-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_setpointercapture_override_pending_capture_element-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_setpointercapture_relatedtarget-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_setpointercapture_to_same_element_twice-manual.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_suppress_compat_events_on_click.html create mode 100644 dom/events/test/pointerevents/test_pointerevent_suppress_compat_events_on_drag_mouse.html create mode 100644 dom/events/test/pointerevents/test_touch_action.html create mode 100644 dom/events/test/pointerevents/touch_action_helpers.js create mode 100644 dom/events/test/test_DataTransferItemList.html create mode 100644 dom/events/test/test_accel_virtual_modifier.html create mode 100644 dom/events/test/test_addEventListenerExtraArg.html create mode 100644 dom/events/test/test_all_synthetic_events.html create mode 100644 dom/events/test/test_bug1003432.html create mode 100644 dom/events/test/test_bug1003432.js create mode 100644 dom/events/test/test_bug1013412.html create mode 100644 dom/events/test/test_bug1017086_disable.html create mode 100644 dom/events/test/test_bug1017086_enable.html create mode 100644 dom/events/test/test_bug1037990.html create mode 100644 dom/events/test/test_bug1079236.html create mode 100644 dom/events/test/test_bug1096146.html create mode 100644 dom/events/test/test_bug1128787-1.html create mode 100644 dom/events/test/test_bug1128787-2.html create mode 100644 dom/events/test/test_bug1128787-3.html create mode 100644 dom/events/test/test_bug1145910.html create mode 100644 dom/events/test/test_bug1150308.html create mode 100644 dom/events/test/test_bug1248459.html create mode 100644 dom/events/test/test_bug1264380.html create mode 100644 dom/events/test/test_bug1298970.html create mode 100644 dom/events/test/test_bug226361.xhtml create mode 100644 dom/events/test/test_bug238987.html create mode 100644 dom/events/test/test_bug288392.html create mode 100644 dom/events/test/test_bug299673-1.html create mode 100644 dom/events/test/test_bug299673-2.html create mode 100644 dom/events/test/test_bug322588.html create mode 100644 dom/events/test/test_bug328885.html create mode 100644 dom/events/test/test_bug336682.js create mode 100644 dom/events/test/test_bug336682_1.html create mode 100644 dom/events/test/test_bug336682_2.xul create mode 100644 dom/events/test/test_bug367781.html create mode 100644 dom/events/test/test_bug368835.html create mode 100644 dom/events/test/test_bug379120.html create mode 100644 dom/events/test/test_bug391568.xhtml create mode 100644 dom/events/test/test_bug402089.html create mode 100644 dom/events/test/test_bug405632.html create mode 100644 dom/events/test/test_bug409604.html create mode 100644 dom/events/test/test_bug412567.html create mode 100644 dom/events/test/test_bug415498.xul create mode 100644 dom/events/test/test_bug418986-3.html create mode 100644 dom/events/test/test_bug418986-3.xul create mode 100644 dom/events/test/test_bug422132.html create mode 100644 dom/events/test/test_bug426082.html create mode 100644 dom/events/test/test_bug427537.html create mode 100644 dom/events/test/test_bug428988.html create mode 100644 dom/events/test/test_bug432698.html create mode 100644 dom/events/test/test_bug443985.html create mode 100644 dom/events/test/test_bug447736.html create mode 100644 dom/events/test/test_bug448602.html create mode 100644 dom/events/test/test_bug450876.html create mode 100644 dom/events/test/test_bug456273.html create mode 100644 dom/events/test/test_bug457672.html create mode 100644 dom/events/test/test_bug489671.html create mode 100644 dom/events/test/test_bug493251.html create mode 100644 dom/events/test/test_bug502818.html create mode 100644 dom/events/test/test_bug508479.html create mode 100644 dom/events/test/test_bug517851.html create mode 100644 dom/events/test/test_bug524674.xul create mode 100644 dom/events/test/test_bug534833.html create mode 100644 dom/events/test/test_bug545268.html create mode 100644 dom/events/test/test_bug547996-1.html create mode 100644 dom/events/test/test_bug547996-2.xhtml create mode 100644 dom/events/test/test_bug556493.html create mode 100644 dom/events/test/test_bug563329.html create mode 100644 dom/events/test/test_bug574663.html create mode 100644 dom/events/test/test_bug586961.xul create mode 100644 dom/events/test/test_bug591249.xul create mode 100644 dom/events/test/test_bug591815.html create mode 100644 dom/events/test/test_bug593959.html create mode 100644 dom/events/test/test_bug602962.xul create mode 100644 dom/events/test/test_bug603008.html create mode 100644 dom/events/test/test_bug605242.html create mode 100644 dom/events/test/test_bug607464.html create mode 100644 dom/events/test/test_bug613634.html create mode 100644 dom/events/test/test_bug615597.html create mode 100644 dom/events/test/test_bug617528.xul create mode 100644 dom/events/test/test_bug624127.html create mode 100644 dom/events/test/test_bug635465.html create mode 100644 dom/events/test/test_bug641477.html create mode 100644 dom/events/test/test_bug648573.html create mode 100644 dom/events/test/test_bug650493.html create mode 100644 dom/events/test/test_bug656379-1.html create mode 100644 dom/events/test/test_bug656379-2.html create mode 100644 dom/events/test/test_bug656954.html create mode 100644 dom/events/test/test_bug659071.html create mode 100644 dom/events/test/test_bug659350.html create mode 100644 dom/events/test/test_bug662678.html create mode 100644 dom/events/test/test_bug667612.html create mode 100644 dom/events/test/test_bug667919-1.html create mode 100644 dom/events/test/test_bug679494.xul create mode 100644 dom/events/test/test_bug684208.html create mode 100644 dom/events/test/test_bug687787.html create mode 100644 dom/events/test/test_bug689564.html create mode 100644 dom/events/test/test_bug698929.html create mode 100644 dom/events/test/test_bug704423.html create mode 100644 dom/events/test/test_bug741666.html create mode 100644 dom/events/test/test_bug742376.html create mode 100644 dom/events/test/test_bug812744.html create mode 100644 dom/events/test/test_bug822898.html create mode 100644 dom/events/test/test_bug855741.html create mode 100644 dom/events/test/test_bug864040.html create mode 100644 dom/events/test/test_bug924087.html create mode 100644 dom/events/test/test_bug930374-chrome.html create mode 100644 dom/events/test/test_bug930374-content.html create mode 100644 dom/events/test/test_bug944011.html create mode 100644 dom/events/test/test_bug944847.html create mode 100644 dom/events/test/test_bug946632.html create mode 100644 dom/events/test/test_bug967796.html create mode 100644 dom/events/test/test_bug985988.html create mode 100644 dom/events/test/test_bug998809.html create mode 100644 dom/events/test/test_clickevent_on_input.html create mode 100644 dom/events/test/test_continuous_wheel_events.html create mode 100644 dom/events/test/test_dblclick_explicit_original_target.html create mode 100644 dom/events/test/test_dom_activate_event.html create mode 100644 dom/events/test/test_dom_before_after_keyboard_event.html create mode 100644 dom/events/test/test_dom_before_after_keyboard_event_remote.html create mode 100644 dom/events/test/test_dom_keyboard_event.html create mode 100644 dom/events/test/test_dom_mouse_event.html create mode 100644 dom/events/test/test_dom_storage_event.html create mode 100644 dom/events/test/test_dom_wheel_event.html create mode 100644 dom/events/test/test_draggableprop.html create mode 100644 dom/events/test/test_dragstart.html create mode 100644 dom/events/test/test_error_events.html create mode 100644 dom/events/test/test_eventTimeStamp.html create mode 100644 dom/events/test/test_eventctors.html create mode 100644 dom/events/test/test_eventctors.xul create mode 100644 dom/events/test/test_eventhandler_scoping.html create mode 100644 dom/events/test/test_focus_disabled.html create mode 100644 dom/events/test/test_legacy_event.html create mode 100644 dom/events/test/test_messageEvent.html create mode 100644 dom/events/test/test_messageEvent_init.html create mode 100644 dom/events/test/test_moz_mouse_pixel_scroll_event.html create mode 100644 dom/events/test/test_offsetxy.html create mode 100644 dom/events/test/test_onerror_handler_args.html create mode 100644 dom/events/test/test_passive_listeners.html create mode 100644 dom/events/test/test_paste_image.html create mode 100644 dom/events/test/test_wheel_default_action.html create mode 100644 dom/events/test/window_bug493251.html create mode 100644 dom/events/test/window_bug617528.xul create mode 100644 dom/events/test/window_bug659071.html create mode 100644 dom/events/test/window_wheel_default_action.html (limited to 'dom/events/test') diff --git a/dom/events/test/bug1017086_inner.html b/dom/events/test/bug1017086_inner.html new file mode 100644 index 000000000..7ef0f6d86 --- /dev/null +++ b/dom/events/test/bug1017086_inner.html @@ -0,0 +1,41 @@ + + + + + + Test for Bug 1017086 + + + + + + + Mozilla Bug 1017086 +

+ +
+  
+ + diff --git a/dom/events/test/bug1096146_embedded.html b/dom/events/test/bug1096146_embedded.html new file mode 100644 index 000000000..b1c1dd406 --- /dev/null +++ b/dom/events/test/bug1096146_embedded.html @@ -0,0 +1,16 @@ + + + + Embedded iframe + + + + +

+

Top

+ +
+  
+

Bottom

+ + diff --git a/dom/events/test/bug226361_iframe.xhtml b/dom/events/test/bug226361_iframe.xhtml new file mode 100644 index 000000000..df38a8bcb --- /dev/null +++ b/dom/events/test/bug226361_iframe.xhtml @@ -0,0 +1,47 @@ + + + + Test for Bug 226361 + + +

+ +This is the 1st + +link but the 3rd tabindex
+ +
+ + This is the 2nd + +link but the 4th tabindex
+ +
+ + This is the 3rd + +link but the 1st tabindex
+ +
+ + This is the 4th + +link but the 5th tabindex
+ +
+ + This is the 5th + +link but the 2nd tabindex + +

+ +
+
+
+ + diff --git a/dom/events/test/bug299673.js b/dom/events/test/bug299673.js new file mode 100644 index 000000000..f426ffda3 --- /dev/null +++ b/dom/events/test/bug299673.js @@ -0,0 +1,105 @@ +var popup; + +function OpenWindow() +{ +log({},">>> OpenWindow"); + popup = window.open("","Test"); + + var output = ""; + + output+=""; + output+="
" + output+=""; + output+="
" + output+=""; + output+=""; + + popup.document.open(); + popup.document.write(output); + popup.document.close(); + + popup.document.onclick=function (event) { log(event,"popup-doc") }; + popup.document.onfocus=function (event) { log(event,"popup-doc") }; + popup.document.onblur=function (event) { log(event,"popup-doc") }; + popup.document.onchange=function (event) { log(event,"popup-doc") }; + + var e = popup.document.getElementById('popupText1'); + popup.focus(); + e.focus(); + is(popup.document.activeElement, e, "input element in popup should be focused"); +log({},"<<< OpenWindow"); +} + +var result; + +function log(event,message) { + if (event&&event.eventPhase==3) return; + e = event.currentTarget||event.target||event.srcElement; + var id = e?(e.id?e.id:e.name?e.name:e.value?e.value:''):''; + if (id) id = '(' + id + ')'; + result += + (e?(e.tagName?e.tagName:''):' ')+id+': '+ + (event.type?event.type:'')+' '+ + (message?message:'') + '\n'; +} + +document.onclick=function (event) { log(event,"top-doc") }; +document.onfocus=function (event) { log(event,"top-doc") }; +document.onblur=function (event) { log(event,"top-doc") }; +document.onchange=function (event) { log(event,"top-doc") }; + +function doTest1_rest2(expectedEventLog,focusAfterCloseId) { + try { + is(document.activeElement, document.getElementById(focusAfterCloseId), "wrong element is focused after popup was closed"); + is(result, expectedEventLog, "unexpected events"); + SimpleTest.finish(); + } catch(e) { + if (popup) + popup.close(); + throw e; + } +} +function doTest1_rest1(expectedEventLog,focusAfterCloseId) { + try { + synthesizeKey("V", {}, popup); + synthesizeKey("A", {}, popup); + synthesizeKey("L", {}, popup); + is(popup.document.getElementById('popupText1').value, "VAL", "input element in popup did not accept input"); + + var p = popup; + popup = null; + p.close(); + + SimpleTest.waitForFocus(function () { doTest1_rest2(expectedEventLog,focusAfterCloseId); }, window); + } catch(e) { + if (popup) + popup.close(); + throw e; + } +} + +function doTest1(expectedEventLog,focusAfterCloseId) { + try { + var select1 = document.getElementById('Select1'); + select1.focus(); + is(document.activeElement, select1, "select element should be focused"); + synthesizeKey("VK_DOWN",{}); + synthesizeKey("VK_TAB", {}); + SimpleTest.waitForFocus(function () { doTest1_rest1(expectedEventLog,focusAfterCloseId); }, popup); + + } catch(e) { + if (popup) + popup.close(); + throw e; + } +} + +function setPrefAndDoTest(expectedEventLog,focusAfterCloseId,prefValue) { + var select1 = document.getElementById('Select1'); + select1.blur(); + result = ""; + log({},"Test with browser.link.open_newwindow = "+prefValue); + SpecialPowers.pushPrefEnv({"set": [['browser.link.open_newwindow', prefValue]]}, function() { + doTest1(expectedEventLog,focusAfterCloseId); + }); +} diff --git a/dom/events/test/bug322588-popup.html b/dom/events/test/bug322588-popup.html new file mode 100644 index 000000000..767eb9db9 --- /dev/null +++ b/dom/events/test/bug322588-popup.html @@ -0,0 +1 @@ +a id=target diff --git a/dom/events/test/bug415498-doc1.html b/dom/events/test/bug415498-doc1.html new file mode 100644 index 000000000..91c04832a --- /dev/null +++ b/dom/events/test/bug415498-doc1.html @@ -0,0 +1,15 @@ + + + + + + + Testcase for bug 415498. This page should show an exception in Error Console on load + diff --git a/dom/events/test/bug415498-doc2.html b/dom/events/test/bug415498-doc2.html new file mode 100644 index 000000000..e556a4e4c --- /dev/null +++ b/dom/events/test/bug415498-doc2.html @@ -0,0 +1,15 @@ + + + + + + + Testcase for bug 415498. This page should show an exception in Error Console on load + diff --git a/dom/events/test/bug418986-3.js b/dom/events/test/bug418986-3.js new file mode 100644 index 000000000..6bd2a6e69 --- /dev/null +++ b/dom/events/test/bug418986-3.js @@ -0,0 +1,69 @@ +SimpleTest.waitForExplicitFinish(); + +// The main testing function. +var test = function (isContent) { + // Each definition is [eventType, prefSetting] + // Where we are setting the "privacy.resistFingerprinting" pref. + let eventDefs = [["mousedown", true], + ["mouseup", true], + ["mousedown", false], + ["mouseup", false]]; + + let testCounter = 0; + + // Declare ahead of time. + let setup; + + // This function is called when the event handler fires. + let handleEvent = function (event, prefVal) { + let resisting = prefVal && isContent; + if (resisting) { + is(event.screenX, event.clientX, "event.screenX and event.clientX should be the same"); + is(event.screenY, event.clientY, "event.screenY and event.clientY should be the same"); + } else { + // We can't be sure about X coordinates not being equal, but we can test Y. + isnot(event.screenY, event.clientY, "event.screenY !== event.clientY"); + } + ++testCounter; + if (testCounter < eventDefs.length) { + nextTest(); + } else { + SimpleTest.finish(); + } + }; + + // In this function, we set up the nth div and event handler, + // and then synthesize a mouse event in the div, to test + // whether the resulting events resist fingerprinting by + // suppressing absolute screen coordinates. + nextTest = function () { + let [eventType, prefVal] = eventDefs[testCounter]; + SpecialPowers.pushPrefEnv({set:[["privacy.resistFingerprinting", prefVal]]}, + function () { + // The following code creates a new div for each event in eventDefs, + // attaches a listener to listen for the event, and then generates + // a fake event at the center of the div. + let div = document.createElement("div"); + div.style.width = "10px"; + div.style.height = "10px"; + div.style.backgroundColor = "red"; + // Name the div after the event we're listening for. + div.id = eventType; + document.getElementById("body").appendChild(div); + // Seems we can't add an event listener in chrome unless we run + // it in a later task. + window.setTimeout(function() { + div.addEventListener(eventType, event => handleEvent(event, prefVal), false); + // For some reason, the following synthesizeMouseAtCenter call only seems to run if we + // wrap it in a window.setTimeout(..., 0). + window.setTimeout(function () { + synthesizeMouseAtCenter(div, {type : eventType}); + }, 0); + }, 0); + }); + }; + + // Now run by starting with the 0th event. + nextTest(); + +}; diff --git a/dom/events/test/bug426082.html b/dom/events/test/bug426082.html new file mode 100644 index 000000000..8eaaa7391 --- /dev/null +++ b/dom/events/test/bug426082.html @@ -0,0 +1,165 @@ + + + + + Test for Bug 426082 + + + + + + + +Mozilla Bug 426082 +

+ +

+

+

Something under the label

+
+
+
+ + diff --git a/dom/events/test/bug591249_iframe.xul b/dom/events/test/bug591249_iframe.xul new file mode 100644 index 000000000..7c7d7642b --- /dev/null +++ b/dom/events/test/bug591249_iframe.xul @@ -0,0 +1,33 @@ + + + + + + + #drop-target { + width: 50px; + height: 50px; + border: 4px dotted black; + } + #drop-target { + background-color: red; + } + #drop-target:-moz-drag-over { + background-color: yellow; + } + + + + Iframe for Bug 591249 + + + + + diff --git a/dom/events/test/bug602962.xul b/dom/events/test/bug602962.xul new file mode 100644 index 000000000..0d54b7ad5 --- /dev/null +++ b/dom/events/test/bug602962.xul @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dom/events/test/bug656379-1.html b/dom/events/test/bug656379-1.html new file mode 100644 index 000000000..d7a04e3bf --- /dev/null +++ b/dom/events/test/bug656379-1.html @@ -0,0 +1,185 @@ + + + + + Test for Bug 656379 + + + + + + + +Mozilla Bug 656379 +

+ +
+
+
+

+

+

Something under the label

+ + + diff --git a/dom/events/test/bug989198_embedded.html b/dom/events/test/bug989198_embedded.html new file mode 100644 index 000000000..cee7683cf --- /dev/null +++ b/dom/events/test/bug989198_embedded.html @@ -0,0 +1,20 @@ + + + + Embedded iframe + + + + +

+ + +
+  
+
+
diff --git a/dom/events/test/bug989198_helper.js b/dom/events/test/bug989198_helper.js
new file mode 100644
index 000000000..2d74831e9
--- /dev/null
+++ b/dom/events/test/bug989198_helper.js
@@ -0,0 +1,192 @@
+/*
+ * Helper functions for testing BeforeAfterKeyboardEvent.
+ */
+
+const kUnknownEvent       = 0x000;
+const kKeyDownEvent       = 0x001;
+const kKeyUpEvent         = 0x002;
+const kBeforeEvent        = 0x010;
+const kAfterEvent         = 0x020;
+const kParent             = 0x100;
+const kChild              = 0x200;
+
+var gCurrentTest;
+
+function frameScript()
+{
+  function handler(e) {
+    var results = sendSyncMessage("forwardevent", { type: e.type });
+    if (results[0]) {
+      e.preventDefault();
+    }
+  }
+  addEventListener('keydown', handler);
+  addEventListener('keyup', handler);
+  addEventListener('mozbrowserbeforekeydown', handler);
+  addEventListener('mozbrowserbeforekeyup', handler);
+  addEventListener('mozbrowserafterkeydown', handler);
+  addEventListener('mozbrowserafterkeyup', handler);
+}
+
+function prepareTest(useRemote)
+{
+  if (useRemote) {
+    setupHandlers(window, embedderHandler);
+  } else {
+    setupHandlers(window, embedderHandlerWithCheck);
+  }
+
+  var iframe = document.createElement("iframe");
+  iframe.id = "embedded";
+  iframe.src = "bug989198_embedded.html";
+  iframe.setAttribute("remote", useRemote ? "true" : "false");
+  SpecialPowers.wrap(iframe).mozbrowser = true;
+
+  iframe.addEventListener("mozbrowserloadend", function onloadend() {
+    iframe.removeEventListener("mozbrowserloadend", onloadend);
+    iframe.focus();
+    var mm = SpecialPowers.getBrowserFrameMessageManager(iframe);
+    mm.addMessageListener("forwardevent", function(msg) {
+      return embeddedHandler(msg.json);
+    });
+    mm.loadFrameScript("data:,(" + frameScript.toString() + ")();", false);
+    runTests();
+    return;
+  });
+
+  document.body.appendChild(iframe);
+}
+
+function setupHandlers(element, handler)
+{
+  element.addEventListener('keydown', handler);
+  element.addEventListener('keyup', handler);
+  element.addEventListener('mozbrowserbeforekeydown', handler);
+  element.addEventListener('mozbrowserbeforekeyup', handler);
+  element.addEventListener('mozbrowserafterkeydown', handler);
+  element.addEventListener('mozbrowserafterkeyup', handler);
+}
+
+function teardownHandlers(element, handler)
+{
+  element.removeEventListener('keydown', handler);
+  element.removeEventListener('keyup', handler);
+  element.removeEventListener('mozbrowserbeforekeydown', handler);
+  element.removeEventListener('mozbrowserbeforekeyup', handler);
+  element.removeEventListener('mozbrowserafterkeydown', handler);
+  element.removeEventListener('mozbrowserafterkeyup', handler);
+}
+
+function convertNameToCode(name)
+{
+  switch (name) {
+    case "mozbrowserbeforekeydown":
+      return kBeforeEvent | kKeyDownEvent;
+    case "mozbrowserafterkeydown":
+      return kAfterEvent | kKeyDownEvent;
+    case "mozbrowserbeforekeyup":
+      return kBeforeEvent | kKeyUpEvent;
+    case "mozbrowserafterkeyup":
+      return kAfterEvent | kKeyUpEvent;
+    case "keydown":
+      return kKeyDownEvent;
+    case "keyup":
+      return kKeyUpEvent;
+    default:
+      return kUnknownEvent;
+  }
+}
+
+function classifyEvents(test)
+{
+  // Categorize resultEvents into KEYDOWN group and KEYUP group.
+  for (var i = 0; i < gCurrentTest.resultEvents.length ; i++) {
+    var code = test.resultEvents[i];
+    if ((code & 0xF) == 0x1) { // KEYDOWN
+      test.classifiedEvents[0].push(code);
+    } else if ((code & 0xF) == 0x2) { // KEYUP
+      test.classifiedEvents[1].push(code);
+    } else {
+      ok(false, "Invalid code for events");
+    }
+  }
+}
+
+function verifyResults(test)
+{
+  for (var i = 0; i < gCurrentTest.expectedEvents.length; i++) {
+    is(test.classifiedEvents[i].length,
+       test.expectedEvents[i].length,
+       test.description + ": Wrong number of events");
+
+    for (var j = 0; j < gCurrentTest.classifiedEvents[i].length; j++) {
+      var item = test.classifiedEvents[i][j];
+      is(item, test.expectedEvents[i][j],
+         test.description + ": Wrong order of events");
+     }
+  }
+}
+
+function embeddedHandler(e)
+{
+  return handler(e, kChild);
+}
+
+function embedderHandler(e, callback)
+{
+  handler(e, kParent, callback);
+}
+
+function handler(e, highBit, callback)
+{
+  var code = convertNameToCode(e.type);
+  var newCode = highBit | code;
+  gCurrentTest.resultEvents.push(newCode);
+
+  if (callback) {
+    callback(code);
+  }
+
+  if (highBit == kChild) {
+    // return and let frameScript to handle
+    return newCode == gCurrentTest.doPreventDefaultAt;
+  }
+
+  if (newCode == gCurrentTest.doPreventDefaultAt) {
+    e.preventDefault();
+  }
+}
+
+function embedderHandlerWithCheck(e)
+{
+  // Verify value of attribute embeddedCancelled
+  embedderHandler(e, function checkEmbeddedCancelled(code){
+  switch (code) {
+    case kBeforeEvent | kKeyDownEvent:
+    case kBeforeEvent | kKeyUpEvent:
+      is(e.embeddedCancelled, null,
+         gCurrentTest.description + ": embeddedCancelled should be null");
+      break;
+    case kAfterEvent | kKeyDownEvent:
+      if ((gCurrentTest.doPreventDefaultAt & 0xFF) == kKeyDownEvent) {
+        is(e.embeddedCancelled, true,
+           gCurrentTest.description + ": embeddedCancelled should be true");
+      } else {
+        is(e.embeddedCancelled, false,
+           gCurrentTest.description + ": embeddedCancelled should be false");
+      }
+      break;
+    case kAfterEvent | kKeyUpEvent:
+      if ((gCurrentTest.doPreventDefaultAt & 0xFF) == kKeyUpEvent) {
+        is(e.embeddedCancelled, true,
+           gCurrentTest.description + ": embeddedCancelled should be true");
+      } else {
+        is(e.embeddedCancelled, false,
+           gCurrentTest.description + ": embeddedCancelled should be false");
+      }
+      break;
+    default:
+      break;
+    }
+  });
+}
diff --git a/dom/events/test/chrome.ini b/dom/events/test/chrome.ini
new file mode 100644
index 000000000..111100a75
--- /dev/null
+++ b/dom/events/test/chrome.ini
@@ -0,0 +1,28 @@
+[DEFAULT]
+skip-if = os == 'android'
+support-files =
+  bug415498-doc1.html
+  bug415498-doc2.html
+  bug418986-3.js
+  bug591249_iframe.xul
+  bug602962.xul
+  file_bug679494.html
+  window_bug617528.xul
+  test_bug336682.js
+
+[test_bug336682_2.xul]
+[test_bug368835.html]
+[test_bug415498.xul]
+[test_bug418986-3.xul]
+[test_bug524674.xul]
+[test_bug586961.xul]
+[test_bug591249.xul]
+[test_bug602962.xul]
+[test_bug617528.xul]
+[test_bug679494.xul]
+[test_bug930374-chrome.html]
+[test_bug1128787-1.html]
+[test_bug1128787-2.html]
+[test_bug1128787-3.html]
+[test_eventctors.xul]
+[test_DataTransferItemList.html]
diff --git a/dom/events/test/empty.js b/dom/events/test/empty.js
new file mode 100644
index 000000000..e69de29bb
diff --git a/dom/events/test/error_event_worker.js b/dom/events/test/error_event_worker.js
new file mode 100644
index 000000000..9f6e0e4bd
--- /dev/null
+++ b/dom/events/test/error_event_worker.js
@@ -0,0 +1,15 @@
+ addEventListener("error", function(e) {
+     var obj = {};
+     for (var prop of ["message", "filename", "lineno"]) {
+       obj[prop] = e[prop]
+     }
+     obj.type = "event";
+     postMessage(obj);
+});
+onerror = function(message, filename, lineno) {
+  var obj = { message: message, filename: filename, lineno: lineno,
+	      type: "callback" }
+  postMessage(obj);
+  return false;
+}
+throw new Error("workerhello");
diff --git a/dom/events/test/file_bug679494.html b/dom/events/test/file_bug679494.html
new file mode 100644
index 000000000..a2e47916c
--- /dev/null
+++ b/dom/events/test/file_bug679494.html
@@ -0,0 +1,8 @@
+
+
+  Test for Bug 679494
+
+
+  There and back again.
+
+
diff --git a/dom/events/test/marionette/head.js b/dom/events/test/marionette/head.js
new file mode 100644
index 000000000..c2357f898
--- /dev/null
+++ b/dom/events/test/marionette/head.js
@@ -0,0 +1,142 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+const {Cc: Cc, Ci: Ci, Cr: Cr, Cu: Cu} = SpecialPowers;
+
+var Promise = Cu.import("resource://gre/modules/Promise.jsm").Promise;
+
+var _pendingEmulatorCmdCount = 0;
+
+/**
+ * Send emulator command with safe guard.
+ *
+ * We should only call |finish()| after all emulator command transactions
+ * end, so here comes with the pending counter.  Resolve when the emulator
+ * gives positive response, and reject otherwise.
+ *
+ * Fulfill params:
+ *   result -- an array of emulator response lines.
+ * Reject params:
+ *   result -- an array of emulator response lines.
+ *
+ * @return A deferred promise.
+ */
+function runEmulatorCmdSafe(aCommand) {
+  let deferred = Promise.defer();
+
+  ++_pendingEmulatorCmdCount;
+  runEmulatorCmd(aCommand, function(aResult) {
+    --_pendingEmulatorCmdCount;
+
+    ok(true, "Emulator response: " + JSON.stringify(aResult));
+    if (Array.isArray(aResult) &&
+        aResult[aResult.length - 1] === "OK") {
+      deferred.resolve(aResult);
+    } else {
+      deferred.reject(aResult);
+    }
+  });
+
+  return deferred.promise;
+}
+
+/**
+ * Get emulator sensor values of a named sensor.
+ *
+ * Fulfill params:
+ *   result -- an array of emulator sensor values.
+ * Reject params: (none)
+ *
+ * @param aSensorName
+ *        A string name of the sensor.  Availables are: "acceleration"
+ *        "magnetic-field", "orientation", "temperature", "proximity".
+ *
+ * @return A deferred promise.
+ */
+function getEmulatorSensorValues(aSensorName) {
+  return runEmulatorCmdSafe("sensor get " + aSensorName)
+    .then(function(aResult) {
+      // aResult = ["orientation = 0:0:0", "OK"]
+      return aResult[0].split(" ")[2].split(":").map(function(aElement) {
+        return parseInt(aElement, 10);
+      });
+    });
+}
+
+/**
+ * Convenient alias function for getting orientation sensor values.
+ */
+function getEmulatorOrientationValues() {
+  return getEmulatorSensorValues("orientation");
+}
+
+/**
+ * Set emulator orientation sensor values.
+ *
+ * Fulfill params: (none)
+ * Reject params: (none)
+ *
+ * @param aAzimuth
+ * @param aPitch
+ * @param aRoll
+ *
+ * @return A deferred promise.
+ */
+function setEmulatorOrientationValues(aAzimuth, aPitch, aRoll) {
+  let cmd = "sensor set orientation " + aAzimuth + ":" + aPitch + ":" + aRoll;
+  return runEmulatorCmdSafe(cmd);
+}
+
+/**
+ * Wait for a named window event.
+ *
+ * Resolve if that named event occurs.  Never reject.
+ *
+ * Forfill params: the DOMEvent passed.
+ *
+ * @param aEventName
+ *        A string event name.
+ *
+ * @return A deferred promise.
+ */
+function waitForWindowEvent(aEventName) {
+  let deferred = Promise.defer();
+
+  window.addEventListener(aEventName, function onevent(aEvent) {
+    window.removeEventListener(aEventName, onevent);
+
+    ok(true, "Window event '" + aEventName + "' got.");
+    deferred.resolve(aEvent);
+  });
+
+  return deferred.promise;
+}
+
+/**
+ * Wait for pending emulator transactions and call |finish()|.
+ */
+function cleanUp() {
+  // Use ok here so that we have at least one test run.
+  ok(true, ":: CLEANING UP ::");
+
+  waitFor(finish, function() {
+    return _pendingEmulatorCmdCount === 0;
+  });
+}
+
+/**
+ * Basic test routine helper.
+ *
+ * This helper does nothing but clean-ups.
+ *
+ * @param aTestCaseMain
+ *        A function that takes no parameter.
+ */
+function startTestBase(aTestCaseMain) {
+  Promise.resolve()
+    .then(aTestCaseMain)
+    .then(cleanUp, function() {
+      ok(false, 'promise rejects during test.');
+      cleanUp();
+    });
+}
diff --git a/dom/events/test/marionette/manifest.ini b/dom/events/test/marionette/manifest.ini
new file mode 100644
index 000000000..b0ec98d99
--- /dev/null
+++ b/dom/events/test/marionette/manifest.ini
@@ -0,0 +1,4 @@
+[DEFAULT]
+run-if = buildapp == 'b2g'
+
+[test_sensor_orientation.js]
diff --git a/dom/events/test/marionette/test_sensor_orientation.js b/dom/events/test/marionette/test_sensor_orientation.js
new file mode 100644
index 000000000..70df0ccd3
--- /dev/null
+++ b/dom/events/test/marionette/test_sensor_orientation.js
@@ -0,0 +1,53 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+MARIONETTE_TIMEOUT = 120000;
+MARIONETTE_HEAD_JS = 'head.js';
+
+function doTest(aAzimuth, aPitch, aRoll) {
+  log("Testing [azimuth, pitch, roll] = " + Array.slice(arguments));
+
+  return setEmulatorOrientationValues(aAzimuth, aPitch, aRoll)
+    .then(() => waitForWindowEvent("deviceorientation"))
+    .then(function(aEvent) {
+      is(aEvent.alpha, aAzimuth, "azimuth");
+      is(aEvent.beta,  aPitch, "pitch");
+      is(aEvent.gamma, aRoll, "roll");
+    });
+}
+
+function testAllPermutations() {
+  const angles = [-180, -90, 0, 90, 180];
+  let promise = Promise.resolve();
+  for (let i = 0; i < angles.length; i++) {
+    for (let j = 0; j < angles.length; j++) {
+      for (let k = 0; k < angles.length; k++) {
+        promise =
+          promise.then(doTest.bind(null, angles[i], angles[j], angles[k]));
+      }
+    }
+  }
+  return promise;
+}
+
+startTestBase(function() {
+  let origValues;
+
+  return Promise.resolve()
+
+    // Retrieve original status.
+    .then(() => getEmulatorOrientationValues())
+    .then(function(aValues) {
+      origValues = aValues;
+      is(typeof origValues, "object", "typeof origValues");
+      is(origValues.length, 3, "origValues.length");
+    })
+
+    // Test original status
+    .then(() => doTest.apply(null, origValues))
+
+    .then(testAllPermutations)
+
+    // Restore original status.
+    .then(() => setEmulatorOrientationValues.apply(null, origValues));
+});
diff --git a/dom/events/test/mochitest.ini b/dom/events/test/mochitest.ini
new file mode 100644
index 000000000..e100e60a1
--- /dev/null
+++ b/dom/events/test/mochitest.ini
@@ -0,0 +1,186 @@
+[DEFAULT]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+support-files =
+  bug226361_iframe.xhtml
+  bug299673.js
+  bug322588-popup.html
+  bug426082.html
+  bug656379-1.html
+  bug418986-3.js
+  error_event_worker.js
+  empty.js
+  window_bug493251.html
+  window_bug659071.html
+  window_wheel_default_action.html
+  !/gfx/layers/apz/test/mochitest/apz_test_utils.js
+
+[test_accel_virtual_modifier.html]
+[test_addEventListenerExtraArg.html]
+[test_all_synthetic_events.html]
+[test_bug226361.xhtml]
+[test_bug238987.html]
+[test_bug288392.html]
+[test_bug299673-1.html]
+[test_bug1037990.html]
+[test_bug299673-2.html]
+[test_bug322588.html]
+[test_bug328885.html]
+[test_bug336682_1.html]
+support-files = test_bug336682.js
+[test_bug367781.html]
+[test_bug368835.html]
+[test_bug379120.html]
+[test_bug391568.xhtml]
+[test_bug402089.html]
+[test_bug405632.html]
+[test_bug409604.html]
+skip-if = toolkit == 'android' #TIMED_OUT
+[test_bug412567.html]
+[test_bug418986-3.html]
+[test_bug422132.html]
+[test_bug426082.html]
+[test_bug427537.html]
+[test_bug428988.html]
+[test_bug432698.html]
+[test_bug443985.html]
+[test_bug447736.html]
+[test_bug448602.html]
+[test_bug450876.html]
+[test_bug456273.html]
+[test_bug457672.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug489671.html]
+[test_bug493251.html]
+[test_bug502818.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug508479.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM # drag event fails
+[test_bug517851.html]
+[test_bug534833.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug545268.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug547996-1.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug547996-2.xhtml]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug556493.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug563329.html]
+skip-if = true # Disabled due to timeouts.
+[test_bug574663.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug591815.html]
+[test_bug593959.html]
+[test_bug603008.html]
+skip-if = toolkit == 'android'
+[test_bug605242.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug607464.html]
+skip-if = toolkit == 'android' || (e10s && os == 'win') || (e10s && os == "mac") #CRASH_DUMP, RANDOM, bug 1252273
+[test_bug613634.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug615597.html]
+[test_bug624127.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug635465.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug641477.html]
+[test_bug648573.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug650493.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug656379-1.html]
+skip-if = toolkit == 'android'
+[test_bug656379-2.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug656954.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug659071.html]
+[test_bug659350.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug662678.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug667612.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug667919-1.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug684208.html]
+[test_bug689564.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug698929.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_bug704423.html]
+[test_bug741666.html]
+[test_bug742376.html]
+[test_bug812744.html]
+[test_bug822898.html]
+[test_bug855741.html]
+[test_bug864040.html]
+[test_bug924087.html]
+[test_bug930374-content.html]
+[test_bug944011.html]
+[test_bug944847.html]
+[test_bug946632.html]
+skip-if = (e10s && os == "mac") # bug 1252273
+[test_bug967796.html]
+skip-if = e10s # bug 1251659
+[test_bug985988.html]
+[test_bug998809.html]
+[test_bug1003432.html]
+support-files = test_bug1003432.js
+[test_bug1013412.html]
+[test_bug1017086_disable.html]
+support-files = bug1017086_inner.html
+[test_bug1017086_enable.html]
+support-files = bug1017086_inner.html
+[test_bug1079236.html]
+[test_bug1096146.html]
+support-files =
+  bug1096146_embedded.html
+[test_bug1145910.html]
+[test_bug1150308.html]
+[test_bug1248459.html]
+[test_bug1264380.html]
+run-if = (e10s && os != "win") # Bug 1270043, crash at windows platforms; Bug1264380 comment 20, nsDragService::InvokeDragSessionImpl behaves differently among platform implementations in non-e10s mode which prevents us to check the validity of nsIDragService::getCurrentSession() consistently via synthesize mouse clicks in non-e10s mode.
+[test_clickevent_on_input.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_continuous_wheel_events.html]
+[test_dblclick_explicit_original_target.html]
+[test_dom_activate_event.html]
+[test_dom_before_after_keyboard_event.html]
+support-files =
+  bug989198_embedded.html
+  bug989198_helper.js
+[test_dom_before_after_keyboard_event_remote.html]
+support-files =
+  bug989198_embedded.html
+  bug989198_helper.js
+skip-if = e10s
+[test_dom_keyboard_event.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_dom_mouse_event.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_dom_storage_event.html]
+[test_dom_wheel_event.html]
+[test_draggableprop.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_dragstart.html]
+[test_error_events.html]
+skip-if = toolkit == 'android' #TIMED_OUT
+[test_eventctors.html]
+skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM
+[test_eventhandler_scoping.html]
+[test_eventTimeStamp.html]
+[test_focus_disabled.html]
+[test_legacy_event.html]
+[test_messageEvent.html]
+[test_messageEvent_init.html]
+[test_moz_mouse_pixel_scroll_event.html]
+[test_offsetxy.html]
+[test_onerror_handler_args.html]
+[test_passive_listeners.html]
+[test_paste_image.html]
+[test_wheel_default_action.html]
+[test_bug687787.html]
+[test_bug1298970.html]
diff --git a/dom/events/test/pointerevents/bug1293174_implicit_pointer_capture_for_touch_1.html b/dom/events/test/pointerevents/bug1293174_implicit_pointer_capture_for_touch_1.html
new file mode 100644
index 000000000..cd5c2b36e
--- /dev/null
+++ b/dom/events/test/pointerevents/bug1293174_implicit_pointer_capture_for_touch_1.html
@@ -0,0 +1,64 @@
+
+
+    
+        Pointer Events properties tests
+        
+        
+        
+        
+        
+        
+        
+        
+    
+    
+        

Pointer Events tests

+
+
+
+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + diff --git a/dom/events/test/pointerevents/bug1293174_implicit_pointer_capture_for_touch_2.html b/dom/events/test/pointerevents/bug1293174_implicit_pointer_capture_for_touch_2.html new file mode 100644 index 000000000..e84faacf6 --- /dev/null +++ b/dom/events/test/pointerevents/bug1293174_implicit_pointer_capture_for_touch_2.html @@ -0,0 +1,65 @@ + + + + Pointer Events properties tests + + + + + + + + + + +

Pointer Events tests

+
+
+
+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + diff --git a/dom/events/test/pointerevents/mochitest.ini b/dom/events/test/pointerevents/mochitest.ini new file mode 100644 index 000000000..58eae12fe --- /dev/null +++ b/dom/events/test/pointerevents/mochitest.ini @@ -0,0 +1,152 @@ +[DEFAULT] +skip-if = os == 'android' # Bug 1312791 +support-files = + mochitest_support_external.js + mochitest_support_internal.js + pointerevent_styles.css + pointerevent_support.js + +[test_pointerevent_attributes_mouse-manual.html] + support-files = pointerevent_attributes_mouse-manual.html +[test_pointerevent_capture_mouse-manual.html] + support-files = pointerevent_capture_mouse-manual.html +[test_pointerevent_capture_suppressing_mouse-manual.html] + support-files = pointerevent_capture_suppressing_mouse-manual.html +[test_pointerevent_change-touch-action-onpointerdown_touch-manual.html] + support-files = pointerevent_change-touch-action-onpointerdown_touch-manual.html + disabled = disabled +[test_pointerevent_constructor.html] + support-files = pointerevent_constructor.html +[test_pointerevent_element_haspointercapture-manual.html] + support-files = pointerevent_element_haspointercapture-manual.html +[test_pointerevent_element_haspointercapture_release_pending_capture-manual.html] + support-files = pointerevent_element_haspointercapture_release_pending_capture-manual.html +[test_pointerevent_gotpointercapture_before_first_pointerevent-manual.html] + support-files = pointerevent_gotpointercapture_before_first_pointerevent-manual.html +[test_pointerevent_lostpointercapture_for_disconnected_node-manual.html] + support-files = pointerevent_lostpointercapture_for_disconnected_node-manual.html +[test_pointerevent_lostpointercapture_is_first-manual.html] + support-files = pointerevent_lostpointercapture_is_first-manual.html +[test_pointerevent_multiple_primary_pointers_boundary_events-manual.html] + support-files = pointerevent_multiple_primary_pointers_boundary_events-manual.html + disabled = should be investigated +[test_pointerevent_pointercancel_touch-manual.html] + support-files = pointerevent_pointercancel_touch-manual.html +[test_pointerevent_pointerdown-manual.html] + support-files = pointerevent_pointerdown-manual.html +[test_pointerevent_pointerenter_does_not_bubble-manual.html] + support-files = pointerevent_pointerenter_does_not_bubble-manual.html +[test_pointerevent_pointerenter_nohover-manual.html] + support-files = pointerevent_pointerenter_nohover-manual.html +[test_pointerevent_pointerId_scope-manual.html] + support-files = + test_pointerevent_pointerId_scope-manual.html + ./resources/pointerevent_pointerId_scope-iframe.html + disabled = should be investigated +[test_pointerevent_pointerenter-manual.html] + support-files = pointerevent_pointerenter-manual.html +[test_pointerevent_pointerleave_after_pointercancel_touch-manual.html] + support-files = pointerevent_pointerleave_after_pointercancel_touch-manual.html +[test_pointerevent_pointerleave_after_pointerup_nohover-manual.html] + support-files = pointerevent_pointerleave_after_pointerup_nohover-manual.html +[test_pointerevent_pointerleave_descendant_over-manual.html] + support-files = pointerevent_pointerleave_descendant_over-manual.html +[test_pointerevent_pointerleave_descendants-manual.html] + support-files = pointerevent_pointerleave_descendants-manual.html +[test_pointerevent_pointerleave_does_not_bubble-manual.html] + support-files = pointerevent_pointerleave_does_not_bubble-manual.html +[test_pointerevent_pointerleave_mouse-manual.html] + support-files = pointerevent_pointerleave_mouse-manual.html +[test_pointerevent_pointerleave_pen-manual.html] + support-files = pointerevent_pointerleave_pen-manual.html +[test_pointerevent_pointerleave_touch-manual.html] + support-files = pointerevent_pointerleave_touch-manual.html +[test_pointerevent_pointermove-manual.html] + support-files = pointerevent_pointermove-manual.html +[test_pointerevent_pointermove_isprimary_same_as_pointerdown-manual.html] + support-files = pointerevent_pointermove_isprimary_same_as_pointerdown-manual.html +[test_pointerevent_pointermove-on-chorded-mouse-button.html] + support-files = pointerevent_pointermove-on-chorded-mouse-button.html +[test_pointerevent_pointermove_pointertype-manual.html] + support-files = pointerevent_pointermove_pointertype-manual.html +[test_pointerevent_pointerout-manual.html] + support-files = pointerevent_pointerout-manual.html +[test_pointerevent_pointerout_after_pointercancel_touch-manual.html] + support-files = pointerevent_pointerout_after_pointercancel_touch-manual.html +[test_pointerevent_pointerout_after_pointerup_nohover-manual.html] + support-files = pointerevent_pointerout_after_pointerup_nohover-manual.html +[test_pointerevent_pointerout_pen-manual.html] + support-files = pointerevent_pointerout_pen-manual.html +[test_pointerevent_pointerout_received_once-manual.html] + support-files = pointerevent_pointerout_received_once-manual.html +[test_pointerevent_pointerover-manual.html] + support-files = pointerevent_pointerover-manual.html +[test_pointerevent_pointertype_mouse-manual.html] + support-files = pointerevent_pointertype_mouse-manual.html +[test_pointerevent_pointertype_pen-manual.html] + support-files = pointerevent_pointertype_pen-manual.html +[test_pointerevent_pointertype_touch-manual.html] + support-files = pointerevent_pointertype_touch-manual.html +[test_pointerevent_pointerup-manual.html] + support-files = pointerevent_pointerup-manual.html +[test_pointerevent_pointerup_isprimary_same_as_pointerdown-manual.html] + support-files = pointerevent_pointerup_isprimary_same_as_pointerdown-manual.html +[test_pointerevent_pointerup_pointertype-manual.html] + support-files = pointerevent_pointerup_pointertype-manual.html +[test_pointerevent_releasepointercapture_events_to_original_target-manual.html] + support-files = pointerevent_releasepointercapture_events_to_original_target-manual.html +[test_pointerevent_releasepointercapture_invalid_pointerid-manual.html] + support-files = pointerevent_releasepointercapture_invalid_pointerid-manual.html +[test_pointerevent_releasepointercapture_onpointercancel_touch-manual.html] + support-files = pointerevent_releasepointercapture_onpointercancel_touch-manual.html +[test_pointerevent_releasepointercapture_onpointerup_mouse-manual.html] + support-files = pointerevent_releasepointercapture_onpointerup_mouse-manual.html +[test_pointerevent_releasepointercapture_release_right_after_capture-manual.html] + support-files = pointerevent_releasepointercapture_release_right_after_capture-manual.html +[test_pointerevent_setpointercapture_disconnected-manual.html] + support-files = pointerevent_setpointercapture_disconnected-manual.html +[test_pointerevent_setpointercapture_inactive_button_mouse-manual.html] + support-files = pointerevent_setpointercapture_inactive_button_mouse-manual.html + disabled = should be investigated +[test_pointerevent_setpointercapture_invalid_pointerid-manual.html] + support-files = pointerevent_setpointercapture_invalid_pointerid-manual.html +[test_pointerevent_setpointercapture_override_pending_capture_element-manual.html] + support-files = pointerevent_setpointercapture_override_pending_capture_element-manual.html +[test_pointerevent_setpointercapture_relatedtarget-manual.html] + support-files = pointerevent_setpointercapture_relatedtarget-manual.html +[test_pointerevent_setpointercapture_to_same_element_twice-manual.html] + support-files = pointerevent_setpointercapture_to_same_element_twice-manual.html +[test_pointerevent_suppress_compat_events_on_click.html] + support-files = pointerevent_suppress_compat_events_on_click.html + disabled = should be investigated +[test_pointerevent_suppress_compat_events_on_drag_mouse.html] + support-files = pointerevent_suppress_compat_events_on_drag_mouse.html + disabled = should be investigated +[test_touch_action.html] + support-files = + ../../../../gfx/layers/apz/test/mochitest/apz_test_utils.js + ../../../../gfx/layers/apz/test/mochitest/apz_test_native_event_utils.js + touch_action_helpers.js + pointerevent_touch-action-auto-css_touch-manual.html + pointerevent_touch-action-button-test_touch-manual.html + pointerevent_touch-action-inherit_child-auto-child-none_touch-manual.html + pointerevent_touch-action-inherit_child-none_touch-manual.html + pointerevent_touch-action-inherit_child-pan-x-child-pan-x_touch-manual.html + pointerevent_touch-action-inherit_child-pan-x-child-pan-y_touch-manual.html + pointerevent_touch-action-inherit_highest-parent-none_touch-manual.html + pointerevent_touch-action-inherit_parent-none_touch-manual.html + pointerevent_touch-action-none-css_touch-manual.html + pointerevent_touch-action-pan-x-css_touch-manual.html + pointerevent_touch-action-pan-x-pan-y-pan-y_touch-manual.html + pointerevent_touch-action-pan-x-pan-y_touch-manual.html + pointerevent_touch-action-pan-y-css_touch-manual.html + pointerevent_touch-action-span-test_touch-manual.html + pointerevent_touch-action-svg-test_touch-manual.html + pointerevent_touch-action-table-test_touch-manual.html +[test_bug1285128.html] +[test_bug1293174_implicit_pointer_capture_for_touch_1.html] + support-files = bug1293174_implicit_pointer_capture_for_touch_1.html +[test_bug1293174_implicit_pointer_capture_for_touch_2.html] + support-files = bug1293174_implicit_pointer_capture_for_touch_2.html +[test_empty_file.html] + disabled = disabled # Bug 1150091 - Issue with support-files diff --git a/dom/events/test/pointerevents/mochitest_support_external.js b/dom/events/test/pointerevents/mochitest_support_external.js new file mode 100644 index 000000000..01c340728 --- /dev/null +++ b/dom/events/test/pointerevents/mochitest_support_external.js @@ -0,0 +1,123 @@ +// This file supports translating W3C tests +// to tests on auto MochiTest system with minimum changes. +// Author: Maksim Lebedev + +// Function allows to prepare our tests after load document +addEventListener("load", function(event) { + console.log("OnLoad external document"); + prepareTest(); +}, false); + +// Function allows to initialize prerequisites before testing +function prepareTest() { + SimpleTest.waitForExplicitFinish(); + SimpleTest.requestCompleteLog(); + turnOnPointerEvents(startTest); +} + +function setImplicitPointerCapture(capture, callback) { + console.log("SET dom.w3c_pointer_events.implicit_capture as " + capture); + SpecialPowers.pushPrefEnv({ + "set": [ + ["dom.w3c_pointer_events.implicit_capture", capture] + ] + }, callback); +} + +function turnOnPointerEvents(callback) { + console.log("SET dom.w3c_pointer_events.enabled as TRUE"); + console.log("SET layout.css.touch_action.enabled as TRUE"); + SpecialPowers.pushPrefEnv({ + "set": [ + ["dom.w3c_pointer_events.enabled", true], + ["layout.css.touch_action.enabled", true] + ] + }, callback); +} + +// Helper function to send MouseEvent with different parameters +function sendMouseEvent(int_win, elemId, mouseEventType, params) { + var elem = int_win.document.getElementById(elemId); + if(!!elem) { + var rect = elem.getBoundingClientRect(); + var eventObj = {type: mouseEventType}; + if(params && "button" in params) + eventObj.button = params.button; + if(params && "inputSource" in params) + eventObj.inputSource = params.inputSource; + if(params && "buttons" in params) + eventObj.buttons = params.buttons; + + // Default to the center of the target element but we can still send to a + // position outside of the target element. + var offsetX = params && "offsetX" in params ? params.offsetX : rect.width / 2; + var offsetY = params && "offsetY" in params ? params.offsetY : rect.height / 2; + + console.log(elemId, eventObj); + synthesizeMouse(elem, offsetX, offsetY, eventObj, int_win); + + } else { + is(!!elem, true, "Document should have element with id: " + elemId); + } +} + +// Helper function to send TouchEvent with different parameters +function sendTouchEvent(int_win, elemId, touchEventType, params) { + var elem = int_win.document.getElementById(elemId); + if(!!elem) { + var rect = elem.getBoundingClientRect(); + var eventObj = {type: touchEventType}; + + // Default to the center of the target element but we can still send to a + // position outside of the target element. + var offsetX = params && "offsetX" in params ? params.offsetX : rect.width / 2; + var offsetY = params && "offsetY" in params ? params.offsetY : rect.height / 2; + + console.log(elemId, eventObj); + synthesizeTouch(elem, offsetX, offsetY, eventObj, int_win); + } else { + is(!!elem, true, "Document should have element with id: " + elemId); + } +} + +// Helper function to run Point Event test in a new tab. +function runTestInNewWindow(aFile) { + var w = window.open('', "_blank"); + w.is = function(a, b, msg) { return is(a, b, aFile + " | " + msg); }; + w.ok = function(cond, name, diag) { return ok(cond, aFile + " | " + name, diag); }; + w.location = location.href.substring(0, location.href.lastIndexOf('/') + 1) + aFile; + + w.testContext = { + result_callback: (aTestObj) => { + if(aTestObj["status"] != aTestObj["PASS"]) { + console.log(aTestObj["status"] + " = " + aTestObj["PASS"] + ". " + aTestObj["name"]); + } + is(aTestObj["status"], aTestObj["PASS"], aTestObj["name"]); + }, + + completion_callback: () => { + if (!!w.testContext.executionPromise) { + // We need to wait tests done and execute finished then we can close the window + w.testContext.executionPromise.then(() => { + w.close(); + SimpleTest.finish(); + }); + } else { + // execute may synchronous trigger tests done. In that case executionPromise + // is not yet assigned + w.close(); + SimpleTest.finish(); + } + }, + + execute: (aWindow) => { + turnOnPointerEvents(() => { + w.testContext.executionPromise = new Promise((aResolve, aReject) => { + executeTest(aWindow); + aResolve(); + }); + }); + } + }; + return w; +} diff --git a/dom/events/test/pointerevents/mochitest_support_internal.js b/dom/events/test/pointerevents/mochitest_support_internal.js new file mode 100644 index 000000000..f8161362c --- /dev/null +++ b/dom/events/test/pointerevents/mochitest_support_internal.js @@ -0,0 +1,31 @@ +// This file supports translating W3C tests +// to tests on auto MochiTest system with minimum changes. +// Author: Maksim Lebedev + +// Function allows to prepare our tests after load document +addEventListener("load", function(event) { + console.log("OnLoad internal document"); + addListeners(document.getElementById("target0")); + addListeners(document.getElementById("target1")); + preExecute(); +}, false); + +// Function allows to initialize prerequisites before testing +// and adds some callbacks to support mochitest system. +function preExecute() { + add_result_callback(testContext.result_callback); + add_completion_callback(testContext.completion_callback); + testContext.execute(window); +} + +function addListeners(elem) { + if(!elem) + return; + var All_Events = ["pointerdown","pointerup","pointercancel","pointermove","pointerover","pointerout", + "pointerenter","pointerleave","gotpointercapture","lostpointercapture"]; + All_Events.forEach(function(name) { + elem.addEventListener(name, function(event) { + console.log('('+event.type+')-('+event.pointerType+')'); + }, false); + }); +} diff --git a/dom/events/test/pointerevents/pointerevent_attributes_mouse-manual.html b/dom/events/test/pointerevents/pointerevent_attributes_mouse-manual.html new file mode 100644 index 000000000..a54e79911 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_attributes_mouse-manual.html @@ -0,0 +1,113 @@ + + + + Pointer Events properties tests + + + + + + + + + + +

Pointer Events pointerdown tests

+ + Test passes if the proper behavior of the events is observed. +
+
+
+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + + diff --git a/dom/events/test/pointerevents/pointerevent_capture_mouse-manual.html b/dom/events/test/pointerevents/pointerevent_capture_mouse-manual.html new file mode 100644 index 000000000..63e8af777 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_capture_mouse-manual.html @@ -0,0 +1,135 @@ + + + + Set/Release capture + + + + + + + + + + +
+
+
+
+ + +

Pointer Events Capture Test

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_capture_suppressing_mouse-manual.html b/dom/events/test/pointerevents/pointerevent_capture_suppressing_mouse-manual.html new file mode 100644 index 000000000..6b891b846 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_capture_suppressing_mouse-manual.html @@ -0,0 +1,186 @@ + + + + Set/Release capture + + + + + + + + + + +
+
+
+
+ + +

Pointer Events Capture Test

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_change-touch-action-onpointerdown_touch-manual.html b/dom/events/test/pointerevents/pointerevent_change-touch-action-onpointerdown_touch-manual.html new file mode 100644 index 000000000..b5f522f8b --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_change-touch-action-onpointerdown_touch-manual.html @@ -0,0 +1,138 @@ + + + + Change touch-action on pointerdown + + + + + + + + + +

Pointer Events touch-action attribute support

+ +
+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+
+ +

touch-action: auto to none

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_constructor.html b/dom/events/test/pointerevents/pointerevent_constructor.html new file mode 100644 index 000000000..9ef04cccb --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_constructor.html @@ -0,0 +1,101 @@ + + + + PointerEvent: Constructor test + + + + + + + + + +

PointerEvent: Dispatch custom event

+

Test Description: This test checks if PointerEvent constructor works properly using synthetic pointerover and pointerout events. For valid results, this test must be run without generating real (trusted) pointerover or pointerout events on the black rectangle below.

+
+ +
+

The following pointer types were detected: .

+
+
+ + diff --git a/dom/events/test/pointerevents/pointerevent_element_haspointercapture-manual.html b/dom/events/test/pointerevents/pointerevent_element_haspointercapture-manual.html new file mode 100644 index 000000000..1826467fe --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_element_haspointercapture-manual.html @@ -0,0 +1,123 @@ + + + + Element.hasPointerCapture test + + + + + + + + + +

Element.hasPointerCapture test

+ +
+
+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_element_haspointercapture_release_pending_capture-manual.html b/dom/events/test/pointerevents/pointerevent_element_haspointercapture_release_pending_capture-manual.html new file mode 100644 index 000000000..a0f25c131 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_element_haspointercapture_release_pending_capture-manual.html @@ -0,0 +1,76 @@ + + + + Element.hasPointerCapture test after the pending pointer capture element releases pointer capture + + + + + + + + + +

Element.hasPointerCapture test after the pending pointer capture element releases pointer capture

+ +

+

+
+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_gotpointercapture_before_first_pointerevent-manual.html b/dom/events/test/pointerevents/pointerevent_gotpointercapture_before_first_pointerevent-manual.html new file mode 100644 index 000000000..0589ff2b3 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_gotpointercapture_before_first_pointerevent-manual.html @@ -0,0 +1,100 @@ + + + + Pointer Event: gotpiontercapture is fired first and asynchronously. + + + + + + + + + + + + + +

Pointer Event: Dispatch gotpointercapture event

+ +
+ Use the mouse, touch or pen to tap/click this box. +
+
Do not hover over or touch this element.
+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_lostpointercapture_for_disconnected_node-manual.html b/dom/events/test/pointerevents/pointerevent_lostpointercapture_for_disconnected_node-manual.html new file mode 100644 index 000000000..d103804dc --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_lostpointercapture_for_disconnected_node-manual.html @@ -0,0 +1,81 @@ + + + + Lostpointercapture fires on document when target is removed + + + + + + + + + +
+
+
+ + +

Pointer Events Capture Test

+
+

The following pointer types were detected: .

+
+
+ + diff --git a/dom/events/test/pointerevents/pointerevent_lostpointercapture_is_first-manual.html b/dom/events/test/pointerevents/pointerevent_lostpointercapture_is_first-manual.html new file mode 100644 index 000000000..16a000cbe --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_lostpointercapture_is_first-manual.html @@ -0,0 +1,118 @@ + + + + Lostpointercapture triggers first and asynchronously + + + + + + + + + +

Pointer Events capture test - lostpointercapture order

+ +
+
+ + +

Pointer Events Capture Test

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_multiple_primary_pointers_boundary_events-manual.html b/dom/events/test/pointerevents/pointerevent_multiple_primary_pointers_boundary_events-manual.html new file mode 100644 index 000000000..296d9d49f --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_multiple_primary_pointers_boundary_events-manual.html @@ -0,0 +1,148 @@ + + + + Pointer Event: Boundary compatibility events for multiple primary pointers + + + + + + + + + + + + +

Pointer Event: Boundary compatibility events for multiple primary pointers

+ +
+ Done +
+
+ Target0 +
+
+ Target1 +
+
+

The following pointer types were detected: .

+

The following events were logged: .

+
+
+ + diff --git a/dom/events/test/pointerevents/pointerevent_pointerId_scope-manual.html b/dom/events/test/pointerevents/pointerevent_pointerId_scope-manual.html new file mode 100644 index 000000000..98bbb879d --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerId_scope-manual.html @@ -0,0 +1,85 @@ + + + + + Pointer Events pointerdown tests + + + + + + + + + + +

Pointer Events pointerdown tests

+ Complete the following actions: + +
+
+ +
+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + diff --git a/dom/events/test/pointerevents/pointerevent_pointercancel_touch-manual.html b/dom/events/test/pointerevents/pointerevent_pointercancel_touch-manual.html new file mode 100644 index 000000000..00f4495dc --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointercancel_touch-manual.html @@ -0,0 +1,80 @@ + + + + PointerCancel - touch + + + + + + + + + +

pointercancel test

+ +
+ +

Pointer Events pointercancel Tests

+
+

The following pointer types were detected: .

+
+
+ + diff --git a/dom/events/test/pointerevents/pointerevent_pointerdown-manual.html b/dom/events/test/pointerevents/pointerevent_pointerdown-manual.html new file mode 100644 index 000000000..eb80e68a3 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerdown-manual.html @@ -0,0 +1,60 @@ + + + + + Pointer Events pointerdown tests + + + + + + + + + + +

Pointer Events pointerdown tests

+
+ Start with your pointing device outside of this box, then click here. +
+
+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointerenter-manual.html b/dom/events/test/pointerevents/pointerevent_pointerenter-manual.html new file mode 100644 index 000000000..d03741769 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerenter-manual.html @@ -0,0 +1,53 @@ + + + + Pointer Event: Dispatch pointerenter. + + + + + + + + + + + + + +

Pointer Event: Dispatch pointerenter

+

+ Test Description: + When a pointing device is moved into the hit test boundaries of an element or one of its descendants, the pointerenter event must be dispatched. +

+
+ Use the mouse or pen to move over this box. +
+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointerenter_does_not_bubble-manual.html b/dom/events/test/pointerevents/pointerevent_pointerenter_does_not_bubble-manual.html new file mode 100644 index 000000000..38289201e --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerenter_does_not_bubble-manual.html @@ -0,0 +1,91 @@ + + + + Pointer Event: The pointerenter event does not bubble + + + + + + + + + + + + + + +

Pointer Event: pointerenter does not bubble

+ +
+
+
+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointerenter_nohover-manual.html b/dom/events/test/pointerevents/pointerevent_pointerenter_nohover-manual.html new file mode 100644 index 000000000..9b8d38ca5 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerenter_nohover-manual.html @@ -0,0 +1,77 @@ + + + + Pointer Event: Dispatch pointerenter. (nohover) + + + + + + + + + + + + + +

Pointer Event: Dispatch pointerenter (nohover)

+ +
+ Tap here. +
+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+
+
+ + diff --git a/dom/events/test/pointerevents/pointerevent_pointerleave_after_pointercancel_touch-manual.html b/dom/events/test/pointerevents/pointerevent_pointerleave_after_pointercancel_touch-manual.html new file mode 100644 index 000000000..b04698d3d --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerleave_after_pointercancel_touch-manual.html @@ -0,0 +1,67 @@ + + + + pointerleave after pointercancel + + + + + + + + + +

pointerleave after pointercancel

+

Test Description: This test checks if pointerleave event triggers after pointercancel. Start touch on the black rectangle and move your touch to scroll in any direction.

+

Note: this test is for touch devices only

+
+ +

Pointer Events pointerleave tests

+
+

The following pointer types were detected: .

+
+
+ + diff --git a/dom/events/test/pointerevents/pointerevent_pointerleave_after_pointerup_nohover-manual.html b/dom/events/test/pointerevents/pointerevent_pointerleave_after_pointerup_nohover-manual.html new file mode 100644 index 000000000..b0c74f23b --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerleave_after_pointerup_nohover-manual.html @@ -0,0 +1,68 @@ + + + + pointerleave after pointerup + + + + + + + + + +

pointerleave after pointerup

+

Test Description: This test checks if pointerleave event triggers for devices that don't support hover. Tap the black rectangle.

+

Note: this test is only for devices that do not support hover.

+
+ +

Pointer Events pointerleave tests

+
+

The following pointer types were detected: .

+
+
+ + diff --git a/dom/events/test/pointerevents/pointerevent_pointerleave_descendant_over-manual.html b/dom/events/test/pointerevents/pointerevent_pointerleave_descendant_over-manual.html new file mode 100644 index 000000000..61bf12224 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerleave_descendant_over-manual.html @@ -0,0 +1,64 @@ + + + + pointerleave + descendant + + + + + + + + +

pointerleave

+ +
+
+
+ +

Pointer Events pointerleave tests

+
+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointerleave_descendants-manual.html b/dom/events/test/pointerevents/pointerevent_pointerleave_descendants-manual.html new file mode 100644 index 000000000..40542f2a2 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerleave_descendants-manual.html @@ -0,0 +1,55 @@ + + + + Pointerleave + descendant + + + + + + + + +

pointerleave

+ +
+
+
+ +

Pointer Events pointerleave tests

+
+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointerleave_does_not_bubble-manual.html b/dom/events/test/pointerevents/pointerevent_pointerleave_does_not_bubble-manual.html new file mode 100644 index 000000000..662a714a9 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerleave_does_not_bubble-manual.html @@ -0,0 +1,80 @@ + + + + Pointer Event: The pointerleave event does not bubble + + + + + + + + + + + + + + +

Pointer Event: pointerleave does not bubble

+ +
+
+
+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointerleave_mouse-manual.html b/dom/events/test/pointerevents/pointerevent_pointerleave_mouse-manual.html new file mode 100644 index 000000000..042f7a8cd --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerleave_mouse-manual.html @@ -0,0 +1,56 @@ + + + + Pointer Event: Dispatch pointerleave (mouse). + + + + + + + + + + + + + +

Pointer Event: Dispatch pointerleave (mouse)

+ +
+ Use a mouse to move over then out of this element +
+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointerleave_pen-manual.html b/dom/events/test/pointerevents/pointerevent_pointerleave_pen-manual.html new file mode 100644 index 000000000..b5ff230e8 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerleave_pen-manual.html @@ -0,0 +1,59 @@ + + + + Pointer Event: Dispatch pointerleave (pen). + + + + + + + + + + + + + +

Pointer Event: Dispatch pointerleave (pen)

+

+ Test Description: + When a pointing device that supports hover (pen stylus) leaves the range of the digitizer while over an element, the pointerleave event must be dispatched. +

+
+
+ Use a pen to hover over then lift up away from this element. +
+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointerleave_touch-manual.html b/dom/events/test/pointerevents/pointerevent_pointerleave_touch-manual.html new file mode 100644 index 000000000..1dc35c709 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerleave_touch-manual.html @@ -0,0 +1,54 @@ + + + + Pointer Event: Dispatch pointerleave (touch). + + + + + + + + + + + + + +

Pointer Event: Dispatch pointerleave (touch)

+

+ Test Description: + When a pointing device that does not support hover (such as a finger) leaves the hit test boundaries as a result of a pointerup event, the pointerleave event must be dispatched. +

+
+
+ Use touch to tap on this box. +
+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointermove-manual.html b/dom/events/test/pointerevents/pointerevent_pointermove-manual.html new file mode 100644 index 000000000..2d55cfead --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointermove-manual.html @@ -0,0 +1,45 @@ + + + + Pointermove + + + + + + + + + + +

PointerMove

+

Test Description: This test checks if pointermove event triggers. Move your mouse over the black rectangle or slide it if you are using touchscreen.

+
+ +

Pointer Events pointermove Tests

+
+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointermove-on-chorded-mouse-button.html b/dom/events/test/pointerevents/pointerevent_pointermove-on-chorded-mouse-button.html new file mode 100644 index 000000000..7db3dcddd --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointermove-on-chorded-mouse-button.html @@ -0,0 +1,77 @@ + + + + Pointermove on button state changes + + + + + + + + + + +

PointerMove

+

Test Description: This test checks if pointermove event are triggered by button state changes +
    +
  1. Put your mouse over the black rectangle
  2. +
  3. Press a button and hold it
  4. +
  5. Press a second button
  6. +
  7. Release the second button
  8. +
  9. Release the first button to complete the test
  10. +
+

+
+ +

Pointer Events pointermove on button state changes Tests

+
+

The following pointer types were detected: .

+

Refresh the page to run the tests again.

+
+
+ + diff --git a/dom/events/test/pointerevents/pointerevent_pointermove_isprimary_same_as_pointerdown-manual.html b/dom/events/test/pointerevents/pointerevent_pointermove_isprimary_same_as_pointerdown-manual.html new file mode 100644 index 000000000..04c4c93ed --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointermove_isprimary_same_as_pointerdown-manual.html @@ -0,0 +1,73 @@ + + + + Pointer Event: pointermove has same isPrimary as last pointerdown with the same pointerId + + + + + + + + + + + + + + +
+
+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointermove_pointertype-manual.html b/dom/events/test/pointerevents/pointerevent_pointermove_pointertype-manual.html new file mode 100644 index 000000000..5db76ac1e --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointermove_pointertype-manual.html @@ -0,0 +1,67 @@ + + + + pointerType conservation + + + + + + + + + +
+ +

Pointer Events pointerType conservation tests

+
+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointerout-manual.html b/dom/events/test/pointerevents/pointerevent_pointerout-manual.html new file mode 100644 index 000000000..eb8a820ea --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerout-manual.html @@ -0,0 +1,47 @@ + + + + pointerout + + + + + + + + + +

pointerout

+

Test Description: This test checks if pointerout event triggers. Put your mouse over the black rectangle and then move it out of the rectangle boundaries. If you are using touchscreen tap the black rectangle.

+
+ +

Pointer Events pointerout tests

+
+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointerout_after_pointercancel_touch-manual.html b/dom/events/test/pointerevents/pointerevent_pointerout_after_pointercancel_touch-manual.html new file mode 100644 index 000000000..63cdcb057 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerout_after_pointercancel_touch-manual.html @@ -0,0 +1,68 @@ + + + + pointerout + + + + + + + + + +

pointerout

+

Test Description: This test checks if pointerout event triggers after pointercancel. Start touch on the black rectangle and move your touch to scroll in any direction.

+

Note: this test is for touch devices only

+
+ +

Pointer Events pointerout tests

+
+

The following pointer types were detected: .

+
+
+ + diff --git a/dom/events/test/pointerevents/pointerevent_pointerout_after_pointerup_nohover-manual.html b/dom/events/test/pointerevents/pointerevent_pointerout_after_pointerup_nohover-manual.html new file mode 100644 index 000000000..025023d33 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerout_after_pointerup_nohover-manual.html @@ -0,0 +1,68 @@ + + + + pointerout + + + + + + + + + +

pointerout

+

Test Description: This test checks if pointerout event triggers for devices that don't support hover. Tap the black rectangle.

+

Note: this test is only for devices that do not support hover.

+
+ +

Pointer Events pointerout tests

+
+

The following pointer types were detected: .

+
+
+ + diff --git a/dom/events/test/pointerevents/pointerevent_pointerout_pen-manual.html b/dom/events/test/pointerevents/pointerevent_pointerout_pen-manual.html new file mode 100644 index 000000000..ba58b5503 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerout_pen-manual.html @@ -0,0 +1,58 @@ + + + + pointerout + + + + + + + + + +

pointerout

+

Test Description: This test checks if pointerout event triggers for pen. Place your pen over the black rectangle and then pull the pen out of the digitizer's detectable range.

+

Note: this test is for devices that support hover - for pen only

+
+ +

Pointer Events pointerout tests

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointerout_received_once-manual.html b/dom/events/test/pointerevents/pointerevent_pointerout_received_once-manual.html new file mode 100644 index 000000000..44191fd47 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerout_received_once-manual.html @@ -0,0 +1,59 @@ + + + + pointerout received just once + + + + + + + + +

pointerout received just once

+

+ Test Description: This test checks if pointerout event dispatched properly. +
    +
  1. Put your mouse over the black rectangle. +
  2. Move your mouse out of the black rectangle +
+

+

+

+ +

Pointer Events pointerout received once test

+
+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointerover-manual.html b/dom/events/test/pointerevents/pointerevent_pointerover-manual.html new file mode 100644 index 000000000..450ed1a03 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerover-manual.html @@ -0,0 +1,53 @@ + + + + Pointer Event: Dispatch pointerover. + + + + + + + + + + + + + +

Pointer Event: Dispatch pointerover.

+

Test Description: + When a pointing device is moved into the hit test boundaries of an element, the pointerover event must be dispatched. +

+
+
+ Use mouse, touch or pen to hover or contact this element.. +
+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointertype_mouse-manual.html b/dom/events/test/pointerevents/pointerevent_pointertype_mouse-manual.html new file mode 100644 index 000000000..50bd056e3 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointertype_mouse-manual.html @@ -0,0 +1,66 @@ + + + + Pointer Event: If a pointer event is initiated by a mouse device, then the pointerType must be "mouse" + + + + + + + + + + + + + +

Pointer Event: Dispatch pointer events with pointerType equal to "mouse"

+ +
+ Using the mouse, click this element. +
+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointertype_pen-manual.html b/dom/events/test/pointerevents/pointerevent_pointertype_pen-manual.html new file mode 100644 index 000000000..cd018c50e --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointertype_pen-manual.html @@ -0,0 +1,64 @@ + + + + Pointer Event: If a pointer event is initiated by a pen device, then the pointerType must be "pen" + + + + + + + + + + + + + +

Pointer Event: Dispatch pointer events with pointerType equal to "pen"

+ +
+ Using pen, tap here. +
+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointertype_touch-manual.html b/dom/events/test/pointerevents/pointerevent_pointertype_touch-manual.html new file mode 100644 index 000000000..d8034573f --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointertype_touch-manual.html @@ -0,0 +1,65 @@ + + + + Pointer Event: If a pointer event is initiated by a touch device, then the pointerType must be "touch" + + + + + + + + + + + + + +

Pointer Event: Dispatch pointer events with pointerType equal to "touch"

+ +
+ Using touch, tap here. +
+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointerup-manual.html b/dom/events/test/pointerevents/pointerevent_pointerup-manual.html new file mode 100644 index 000000000..893a5bd2e --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerup-manual.html @@ -0,0 +1,45 @@ + + + + pointerup + + + + + + + + + +

pointerup

+

Test Description: This test checks if pointerup event triggers. Press mouse left button and release it over the black rectangle or tap it if you are using a touchscreen.

+
+ +

Pointer Events pointerup tests

+
+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointerup_isprimary_same_as_pointerdown-manual.html b/dom/events/test/pointerevents/pointerevent_pointerup_isprimary_same_as_pointerdown-manual.html new file mode 100644 index 000000000..a339b5ffd --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerup_isprimary_same_as_pointerdown-manual.html @@ -0,0 +1,66 @@ + + + + Pointer Event: pointerup has same isPrimary as last pointerdown with the same pointerId + + + + + + + + + + + + + +

Pointer Event: pointerup has the same isPrimary as last pointerdown with the same pointerId

+ +
+
+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_pointerup_pointertype-manual.html b/dom/events/test/pointerevents/pointerevent_pointerup_pointertype-manual.html new file mode 100644 index 000000000..95dc56451 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_pointerup_pointertype-manual.html @@ -0,0 +1,67 @@ + + + + pointerType conservation + + + + + + + + +

pointerType conservation

+ +
+ +

Pointer Events pointerType conservation tests

+
+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_releasepointercapture_events_to_original_target-manual.html b/dom/events/test/pointerevents/pointerevent_releasepointercapture_events_to_original_target-manual.html new file mode 100644 index 000000000..f4d5573ed --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_releasepointercapture_events_to_original_target-manual.html @@ -0,0 +1,119 @@ + + + + Pointer Event: releasePointerCapture() - subsequent events follow normal hitting testing mechanisms + + + + + + + + + + + + +
+

Pointer Event: releasePointerCapture() - subsequent events follow normal hitting testing mechanisms

+ +
+ Use mouse, touch or pen to contact here and move around. +
+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_releasepointercapture_invalid_pointerid-manual.html b/dom/events/test/pointerevents/pointerevent_releasepointercapture_invalid_pointerid-manual.html new file mode 100644 index 000000000..e92f2d38a --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_releasepointercapture_invalid_pointerid-manual.html @@ -0,0 +1,79 @@ + + + + Pointer Event: releasePointerCapture DOMException - InvalidPointerId + + + + + + + + + + + + + + + +
+

Pointer Event: releasePointerCapture() DOMException - InvalidPointerId

+ +
+ Use the mouse, touch or pen to move over or contact this box. +
+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-manual.html b/dom/events/test/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-manual.html new file mode 100644 index 000000000..9c6c680ed --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-manual.html @@ -0,0 +1,74 @@ + + + + Release capture on pointercancel + + + + + + + + +

Pointer Events Capture Test - release capture on pointercancel

+ +
+ + +

Pointer Events Capture Test

+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+
+
+ + diff --git a/dom/events/test/pointerevents/pointerevent_releasepointercapture_onpointerup_mouse-manual.html b/dom/events/test/pointerevents/pointerevent_releasepointercapture_onpointerup_mouse-manual.html new file mode 100644 index 000000000..7ba33d9be --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_releasepointercapture_onpointerup_mouse-manual.html @@ -0,0 +1,82 @@ + + + + Release capture on pointerup + + + + + + + + +

Pointer Events Capture Test - release capture on pointerup

+ +
+
+ + +

Pointer Events Capture Test

+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_releasepointercapture_release_right_after_capture-manual.html b/dom/events/test/pointerevents/pointerevent_releasepointercapture_release_right_after_capture-manual.html new file mode 100644 index 000000000..d5aabddfa --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_releasepointercapture_release_right_after_capture-manual.html @@ -0,0 +1,64 @@ + + + + Release pointer capture right after setpointercapture + + + + + + + + + +

Release pointer capture right after setpointercapture

+ +
+
+
+
+

The following pointer types were detected: .

+
+
+ + diff --git a/dom/events/test/pointerevents/pointerevent_setpointercapture_disconnected-manual.html b/dom/events/test/pointerevents/pointerevent_setpointercapture_disconnected-manual.html new file mode 100644 index 000000000..00875693e --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_setpointercapture_disconnected-manual.html @@ -0,0 +1,58 @@ + + + + setPointerCapture() throws on disconnected node + + + + + + + + + +

Pointer Event: DOMException InvalidStateError

+ +
+ Use the mouse, touch or pen to contact this box. +
+
+
+

The following pointer types were detected: .

+
+
+ + diff --git a/dom/events/test/pointerevents/pointerevent_setpointercapture_inactive_button_mouse-manual.html b/dom/events/test/pointerevents/pointerevent_setpointercapture_inactive_button_mouse-manual.html new file mode 100644 index 000000000..72504bc3b --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_setpointercapture_inactive_button_mouse-manual.html @@ -0,0 +1,61 @@ + + + + setPointerCapture + inactive button state + + + + + + + + +

setPointerCapture

+ +
+ +

Pointer Events setPointerCapture Tests

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_setpointercapture_invalid_pointerid-manual.html b/dom/events/test/pointerevents/pointerevent_setpointercapture_invalid_pointerid-manual.html new file mode 100644 index 000000000..711afc615 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_setpointercapture_invalid_pointerid-manual.html @@ -0,0 +1,68 @@ + + + + Pointer Event: gotPiontercapture is fired first. + + + + + + + + + + + + + + +

Pointer Event: DOMException InvalidPointerId

+ +
+ Use the mouse, touch or pen to contact this box. +
+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_setpointercapture_override_pending_capture_element-manual.html b/dom/events/test/pointerevents/pointerevent_setpointercapture_override_pending_capture_element-manual.html new file mode 100644 index 000000000..e4bf4ddea --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_setpointercapture_override_pending_capture_element-manual.html @@ -0,0 +1,66 @@ + + + + Test overriding the pending pointer capture element + + + + + + + + + +

Pointer Event: Test overriding the pending pointer capture element

+ +
+
+
+
+

The following pointer types were detected: .

+
+
+ + diff --git a/dom/events/test/pointerevents/pointerevent_setpointercapture_relatedtarget-manual.html b/dom/events/test/pointerevents/pointerevent_setpointercapture_relatedtarget-manual.html new file mode 100644 index 000000000..ede53af5d --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_setpointercapture_relatedtarget-manual.html @@ -0,0 +1,103 @@ + + + + Set/Release capture + relatedTarget + + + + + + + + + +
+
+
+
+ + +

Pointer Events Capture Test

+
+

Test complete: Scroll to Summary to view Pass/Fail Results.

+

The following pointer types were detected: .

+

Refresh the page to run the tests again with a different pointer type.

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_setpointercapture_to_same_element_twice-manual.html b/dom/events/test/pointerevents/pointerevent_setpointercapture_to_same_element_twice-manual.html new file mode 100644 index 000000000..248c54818 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_setpointercapture_to_same_element_twice-manual.html @@ -0,0 +1,65 @@ + + + + setPointerCapture() to the element which already captured the pointer + + + + + + + + + +

Pointer Event: setPointerCapture to the element which already captured the pointer

+ +
+
+
+
+

The following pointer types were detected: .

+
+
+ + diff --git a/dom/events/test/pointerevents/pointerevent_styles.css b/dom/events/test/pointerevents/pointerevent_styles.css new file mode 100644 index 000000000..d2acf940d --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_styles.css @@ -0,0 +1,93 @@ +.spacer { +height: 100px; +} + +#square1 { +background: black; +top: 150px; +left: 100px; +} + +.square { +height: 20px; +width: 20px; +position: absolute; +padding: 0px; +} + +#target0 { +background: black; +color: white; +white-space: nowrap; +overflow-y: auto; +overflow-x: auto; +} + +#target1 { +background: purple; +color: white; +white-space: nowrap; +overflow-y: auto; +overflow-x: auto; +} + +.touchActionNone { +touch-action: none; +} + +#innerframe { +width: 90%; +margin: 10px; +margin-left: 10%; +height: 200px; +} + +.scroller { +width: 700px; +height: 430px; +margin: 20px; +overflow: auto; +background: black; +} + +.scroller > div { +height: 1000px; +width: 1000px; +color: white; +} + +.scroller > div div { +height: 100%; +width: 100%; +color: white; +} + +div { +margin: 0em; +padding: 2em; +} + +#complete-notice { +background: #afa; +border: 1px solid #0a0; +display: none; +} + +#pointertype-log { +font-weight: bold; +} + +#event-log { +font-weight: bold; +} + +#listener { +background: orange; +border: 1px solid orange; +position: absolute; +top: -100px; +} + +body.scrollable { +min-height: 5000px; +} diff --git a/dom/events/test/pointerevents/pointerevent_support.js b/dom/events/test/pointerevents/pointerevent_support.js new file mode 100644 index 000000000..4067d53dd --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_support.js @@ -0,0 +1,185 @@ +var All_Pointer_Events = [ + "pointerdown", + "pointerup", + "pointercancel", + "pointermove", + "pointerover", + "pointerout", + "pointerenter", + "pointerleave", + "gotpointercapture", + "lostpointercapture"]; + +// Check for conformance to PointerEvent interface +// TA: 1.1, 1.2, 1.6, 1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13 +function check_PointerEvent(event) { + var pointerTestName = event.pointerType + ' ' + event.type; + test(function () { + assert_true(event instanceof PointerEvent, "event is a PointerEvent event"); + }, pointerTestName + " event is a PointerEvent event"); + + + // Check attributes for conformance to WebIDL: + // * attribute exists + // * has proper type + // * if the attribute is "readonly", it cannot be changed + // TA: 1.1, 1.2 + var idl_type_check = { + "long": function (v) { return typeof v === "number" && Math.round(v) === v; }, + "float": function (v) { return typeof v === "number"; }, + "string": function (v) { return typeof v === "string"; }, + "boolean": function (v) { return typeof v === "boolean" } + }; + [ + ["readonly", "long", "pointerId"], + ["readonly", "float", "width"], + ["readonly", "float", "height"], + ["readonly", "float", "pressure"], + ["readonly", "long", "tiltX"], + ["readonly", "long", "tiltY"], + ["readonly", "string", "pointerType"], + ["readonly", "boolean", "isPrimary"], + ["readonly", "long", "detail", 0] + ].forEach(function (attr) { + var readonly = attr[0]; + var type = attr[1]; + var name = attr[2]; + var value = attr[3]; + + // existence check + test(function () { + assert_true(name in event, name + " attribute in " + event.type + " event"); + }, pointerTestName + "." + name + " attribute exists"); + + // readonly check + if (readonly === "readonly") { + test(function () { + assert_readonly(event.type, name, event.type + "." + name + " cannot be changed"); + }, pointerTestName + "." + name + " is readonly"); + } + + // type check + test(function () { + assert_true(idl_type_check[type](event[name]), name + " attribute of type " + type); + }, pointerTestName + "." + name + " IDL type " + type + " (JS type was " + typeof event[name] + ")"); + + // value check if defined + if (value != undefined) { + test(function () { + assert_equals(event[name], value, name + " attribute value"); + }, pointerTestName + "." + name + " value is " + value + "."); + } + }); + + + // Check the pressure value + // TA: 1.6, 1.7, 1.8 + test(function () { + // TA: 1.6 + assert_greater_than_equal(event.pressure, 0, "pressure is greater than or equal to 0"); + assert_less_than_equal(event.pressure, 1, "pressure is less than or equal to 1"); + + + // TA: 1.7, 1.8 + if (event.pointerType === "mouse") { + if (event.buttons === 0) { + assert_equals(event.pressure, 0, "pressure is 0 for mouse with no buttons pressed"); + } else { + assert_equals(event.pressure, 0.5, "pressure is 0.5 for mouse with a button pressed"); + } + } + }, pointerTestName + ".pressure value is valid"); + + + // Check mouse-specific properties + if (event.pointerType === "mouse") { + // TA: 1.9, 1.10, 1.13 + test(function () { + assert_equals(event.tiltX, 0, event.type + ".tiltX is 0 for mouse"); + assert_equals(event.tiltY, 0, event.type + ".tiltY is 0 for mouse"); + assert_true(event.isPrimary, event.type + ".isPrimary is true for mouse"); + }, pointerTestName + " properties for pointerType = mouse"); + // Check properties for pointers other than mouse + } +} + +function showPointerTypes() { + var complete_notice = document.getElementById("complete-notice"); + var pointertype_log = document.getElementById("pointertype-log"); + var pointertypes = Object.keys(detected_pointertypes); + pointertype_log.innerHTML = pointertypes.length ? + pointertypes.join(",") : "(none)"; + complete_notice.style.display = "block"; +} + +function showLoggedEvents() { + var event_log_elem = document.getElementById("event-log"); + event_log_elem.innerHTML = event_log.length ? event_log.join(", ") : "(none)"; + + var complete_notice = document.getElementById("complete-notice"); + complete_notice.style.display = "block"; +} + +function log(msg, el) { + if (++count > 10){ + count = 0; + el.innerHTML = ' '; + } + el.innerHTML = msg + '; ' + el.innerHTML; +} + + function failOnScroll() { + assert_true(false, + "scroll received while shouldn't"); +} + +function updateDescriptionNextStep() { + document.getElementById('desc').innerHTML = "Test Description: Try to scroll text RIGHT."; +} + +function updateDescriptionComplete() { + document.getElementById('desc').innerHTML = "Test Description: Test complete"; +} + +function updateDescriptionSecondStepTouchActionElement(target, scrollReturnInterval) { + window.setTimeout(function() { + objectScroller(target, 'up', 0);} + , scrollReturnInterval); + document.getElementById('desc').innerHTML = "Test Description: Try to scroll element RIGHT moving your outside of the red border"; +} + +function updateDescriptionThirdStepTouchActionElement(target, scrollReturnInterval) { + window.setTimeout(function() { + objectScroller(target, 'left', 0);} + , scrollReturnInterval); + document.getElementById('desc').innerHTML = "Test Description: Try to scroll element DOWN then RIGHT starting your touch inside of the element. Then tap complete button"; +} + +function updateDescriptionFourthStepTouchActionElement(target, scrollReturnInterval) { + document.getElementById('desc').innerHTML = "Test Description: Try to scroll element RIGHT starting your touch inside of the element"; +} + +function objectScroller(target, direction, value) { + if (direction == 'up') { + target.scrollTop = 0; + } else if (direction == 'left') { + target.scrollLeft = 0; + } +} + +function sPointerCapture(e) { + try { + target0.setPointerCapture(e.pointerId); + } + catch(e) { + } +} + +function rPointerCapture(e) { + try { + captureButton.value = 'Set Capture'; + target0.releasePointerCapture(e.pointerId); + } + catch(e) { + } +} diff --git a/dom/events/test/pointerevents/pointerevent_suppress_compat_events_on_click.html b/dom/events/test/pointerevents/pointerevent_suppress_compat_events_on_click.html new file mode 100644 index 000000000..89508ee92 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_suppress_compat_events_on_click.html @@ -0,0 +1,104 @@ + + + + Pointer Event: Suppress compatibility mouse events on click + + + + + + + + + + + + +

Pointer Event: Suppress compatibility mouse events on click

+

+ When a pointerdown is canceled, a click/tap shouldn't fire any compatibility mouse events. +

+ +
+ Target0 +
+
+ Target1 +
+
+ Done +
+
+

The following pointer types were detected: .

+

The following events were logged: .

+
+
+ + diff --git a/dom/events/test/pointerevents/pointerevent_suppress_compat_events_on_drag_mouse.html b/dom/events/test/pointerevents/pointerevent_suppress_compat_events_on_drag_mouse.html new file mode 100644 index 000000000..337d6ac5f --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_suppress_compat_events_on_drag_mouse.html @@ -0,0 +1,117 @@ + + + + Pointer Event: Suppress compatibility mouse events on drag + + + + + + + + + + + + +

Pointer Event: Suppress compatibility mouse events on drag

+ +
+ Target0 +
+
+ Target1 +
+
+ Done +
+
+

The following pointer types were detected: .

+

The following events were logged: .

+
+
+ + diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-auto-css_touch-manual.html b/dom/events/test/pointerevents/pointerevent_touch-action-auto-css_touch-manual.html new file mode 100644 index 000000000..f5e9d12c3 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-auto-css_touch-manual.html @@ -0,0 +1,129 @@ + + + + touch-action: auto + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Try to scroll text DOWN. Wait for description update. Expected: pan enabled

+

Note: this test is for touch-devices only

+
+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+
+ +

touch-action: auto

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-button-test_touch-manual.html b/dom/events/test/pointerevents/pointerevent_touch-action-button-test_touch-manual.html new file mode 100644 index 000000000..8268f2ff7 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-button-test_touch-manual.html @@ -0,0 +1,109 @@ + + + + Button touch-action test + + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Try to scroll black element DOWN moving your touch outside of the red border. Wait for description update.

+

Note: this test is for touch only

+
+ +
+
+ + + +

touch-action: none

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-illegal.html b/dom/events/test/pointerevents/pointerevent_touch-action-illegal.html new file mode 100644 index 000000000..5fe617984 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-illegal.html @@ -0,0 +1,67 @@ + + + + touch-action: illegal + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Test will automatically check behaviour of following combinations: 'pan-x none', 'pan-y none', 'auto none'

+
+
+
+ +

touch-action: none

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-inherit_child-auto-child-none_touch-manual.html b/dom/events/test/pointerevents/pointerevent_touch-action-inherit_child-auto-child-none_touch-manual.html new file mode 100644 index 000000000..364c9c11f --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-inherit_child-auto-child-none_touch-manual.html @@ -0,0 +1,117 @@ + + + + touch-action: parent > child: auto > child: none + + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Try to scroll element DOWN then RIGHT. Tap Complete button under the rectangle when done. Expected: no panning.

+

Note: this test is for touch-devices only

+
+
+
+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+
+
+
+ + +

behaviour: none

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-inherit_child-none_touch-manual.html b/dom/events/test/pointerevents/pointerevent_touch-action-inherit_child-none_touch-manual.html new file mode 100644 index 000000000..786819b85 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-inherit_child-none_touch-manual.html @@ -0,0 +1,112 @@ + + + + touch-action: child: none + + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Try to scroll element DOWN then RIGHT. Tap Complete button under the rectangle when done. Expected: no panning

+

Note: this test is for touch-devices only

+
+
+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+
+
+ + +

behaviour: none

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-x_touch-manual.html b/dom/events/test/pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-x_touch-manual.html new file mode 100644 index 000000000..09a97e3cb --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-x_touch-manual.html @@ -0,0 +1,112 @@ + + + + touch-action: parent > child: pan-x > child: pan-x + + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Try to scroll element DOWN then RIGHT. Tap Complete button under the rectangle when done. Expected: only pans in x direction.

+

Note: this test is for touch-devices only

+
+
+
+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+
+
+
+ + +

behaviour: pan-x

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-y_touch-manual.html b/dom/events/test/pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-y_touch-manual.html new file mode 100644 index 000000000..527e55374 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-y_touch-manual.html @@ -0,0 +1,117 @@ + + + + touch-action: parent > child: pan-x > child: pan-y + + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Try to scroll element DOWN then RIGHT. Tap Complete button under the rectangle when done. Expected: no panning/zooming/etc.

+

Note: this test is for touch-devices only

+
+
+
+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+
+
+
+ + +

behaviour: none

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch-manual.html b/dom/events/test/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch-manual.html new file mode 100644 index 000000000..b13013c43 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch-manual.html @@ -0,0 +1,133 @@ + + + + touch-action: parent: none + two embedded children + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Try to scroll text DOWN. Wait for description update. Expected: pan enabled

+

Note: this test is for touch-devices only

+
+
+
+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+
+
+
+ +

behaviour: auto

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-inherit_parent-none_touch-manual.html b/dom/events/test/pointerevents/pointerevent_touch-action-inherit_parent-none_touch-manual.html new file mode 100644 index 000000000..163ef9b8e --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-inherit_parent-none_touch-manual.html @@ -0,0 +1,112 @@ + + + + touch-action: inherit from parent: none + + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Try to scroll element DOWN then RIGHT. Tap Complete button under the rectangle when done. Expected: no panning

+

Note: this test is for touch-devices only

+
+
+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+
+
+ + +

behaviour: none

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-keyboard-manual.html b/dom/events/test/pointerevents/pointerevent_touch-action-keyboard-manual.html new file mode 100644 index 000000000..3fef3f646 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-keyboard-manual.html @@ -0,0 +1,124 @@ + + + + touch-action: keyboard + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Press DOWN ARROW key. Wait for description update. Expected: pan enabled

+

Note: this test is for keyboard only

+
+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+
+ +

touch-action: none

+
+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-mouse-manual.html b/dom/events/test/pointerevents/pointerevent_touch-action-mouse-manual.html new file mode 100644 index 000000000..fcc858451 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-mouse-manual.html @@ -0,0 +1,130 @@ + + + + touch-action: mouse + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Try to scroll text down using mouse (use mouse wheel or click on the scrollbar). Wait for description update.

+

Note: this test is for mouse only

+
+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+
+ +

touch-action: none

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-none-css_touch-manual.html b/dom/events/test/pointerevents/pointerevent_touch-action-none-css_touch-manual.html new file mode 100644 index 000000000..dec694f3e --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-none-css_touch-manual.html @@ -0,0 +1,111 @@ + + + + touch-action: none + + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Try to scroll element DOWN then RIGHT. Tap Complete button under the rectangle when done. Expected: no panning/zooming/etc.

+

Note: this test is for touch-devices only

+
+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+
+ + +

touch-action: none

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-pan-x-css_touch-manual.html b/dom/events/test/pointerevents/pointerevent_touch-action-pan-x-css_touch-manual.html new file mode 100644 index 000000000..e757baec6 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-pan-x-css_touch-manual.html @@ -0,0 +1,106 @@ + + + + touch-action: pan-x + + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Try to scroll element DOWN then RIGHT. Tap Complete button under the rectangle when done. Expected: only pans in x direction.

+

Note: this test is for touch-devices only

+
+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+
+ + +

touch-action: pan-x

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-pan-x-pan-y-pan-y_touch-manual.html b/dom/events/test/pointerevents/pointerevent_touch-action-pan-x-pan-y-pan-y_touch-manual.html new file mode 100644 index 000000000..e89b8b742 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-pan-x-pan-y-pan-y_touch-manual.html @@ -0,0 +1,111 @@ + + + + touch-action: parent > child: pan-x pan-y > child: pan-y + + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Try to scroll element DOWN then RIGHT. Tap Complete button under the rectangle when done. Expected: only pans in y direction.

+

Note: this test is for touch-devices only

+
+
+
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+
+
+
+ + +

behaviour: pan-y

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch-manual.html b/dom/events/test/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch-manual.html new file mode 100644 index 000000000..0c900ff74 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch-manual.html @@ -0,0 +1,126 @@ + + + + touch-action: pan-x pan-y + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Try to scroll text DOWN. Wait for description update. Expected: pan enabled

+

Note: this test is for touch-devices only

+
+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+
+ +

touch-action: pan-x pan-y

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-pan-y-css_touch-manual.html b/dom/events/test/pointerevents/pointerevent_touch-action-pan-y-css_touch-manual.html new file mode 100644 index 000000000..4ad39ecc8 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-pan-y-css_touch-manual.html @@ -0,0 +1,106 @@ + + + + touch-action: pan-y + + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Try to scroll element DOWN then RIGHT. Tap Complete button under the rectangle when done. Expected: only pans in y direction.

+

Note: this test is for touch-devices only

+
+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+

Lorem ipsum dolor sit amet...

+
+ + +

touch-action: pan-y

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-span-test_touch-manual.html b/dom/events/test/pointerevents/pointerevent_touch-action-span-test_touch-manual.html new file mode 100644 index 000000000..41635e0bf --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-span-test_touch-manual.html @@ -0,0 +1,113 @@ + + + + Span touch-action test + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Try to scroll black element DOWN moving your touch outside of the red border. Wait for description update.

+

Note: this test is for touch only

+
+ + Test span + +
+ + + +

touch-action: none

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-svg-test_touch-manual.html b/dom/events/test/pointerevents/pointerevent_touch-action-svg-test_touch-manual.html new file mode 100644 index 000000000..422a72e19 --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-svg-test_touch-manual.html @@ -0,0 +1,122 @@ + + + + SVG test + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Try to scroll black element DOWN moving your touch outside of the red border. Wait for description update.

+

Note: this test is for touch only

+
+ + + Sorry, your browser does not support inline SVG. + +
+
+ + +

touch-action: none

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-table-test_touch-manual.html b/dom/events/test/pointerevents/pointerevent_touch-action-table-test_touch-manual.html new file mode 100644 index 000000000..fcc3a3e7c --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-table-test_touch-manual.html @@ -0,0 +1,141 @@ + + + + Table touch-action test + + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Try to scroll element DOWN starting your touch over the 1st Row. Wait for description update.

+

Note: this test is for touch only

+
+ + + + + +
The caption, first row element, and cell 3 have touch-action: none.
Header 1 Cell 1 Cell 2
Header 2 Cell 3 Cell 4
Header 3 Cell 5 Cell 6
+
+
+ + + +

touch-action: none

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/pointerevent_touch-action-verification.html b/dom/events/test/pointerevents/pointerevent_touch-action-verification.html new file mode 100644 index 000000000..2e694229a --- /dev/null +++ b/dom/events/test/pointerevents/pointerevent_touch-action-verification.html @@ -0,0 +1,101 @@ + + + + touch-action: basic verification + + + + + + + + + +

Pointer Events touch-action attribute support

+

Test Description: Test will automatically check behaviour of following values: 'auto', 'pan-x', 'pan-y', ' none', 'manipulation'

+
+
+
+
+
+ +

touch-action: basic verification

+
+

The following pointer types were detected: .

+
+
+ + \ No newline at end of file diff --git a/dom/events/test/pointerevents/readme.md b/dom/events/test/pointerevents/readme.md new file mode 100644 index 000000000..f0d4fc73e --- /dev/null +++ b/dom/events/test/pointerevents/readme.md @@ -0,0 +1,5 @@ +Directory for Pointer Events Tests + +All tests were got from official repository: + +https://github.com/w3c/web-platform-tests/tree/master/pointerevents diff --git a/dom/events/test/pointerevents/resources/pointerevent_pointerId_scope-iframe.html b/dom/events/test/pointerevents/resources/pointerevent_pointerId_scope-iframe.html new file mode 100644 index 000000000..ad1a57fb4 --- /dev/null +++ b/dom/events/test/pointerevents/resources/pointerevent_pointerId_scope-iframe.html @@ -0,0 +1,37 @@ + + + + + Pointer Events pointerdown tests + + + + + +
+
+ + diff --git a/dom/events/test/pointerevents/test_bug1285128.html b/dom/events/test/pointerevents/test_bug1285128.html new file mode 100644 index 000000000..f7f1eb698 --- /dev/null +++ b/dom/events/test/pointerevents/test_bug1285128.html @@ -0,0 +1,48 @@ + + + + + + Test for Bug 1285128 + + + + + +Mozilla Bug 1285128 +

+
+ + + diff --git a/dom/events/test/pointerevents/test_bug1293174_implicit_pointer_capture_for_touch_1.html b/dom/events/test/pointerevents/test_bug1293174_implicit_pointer_capture_for_touch_1.html new file mode 100644 index 000000000..bf5fd5d5e --- /dev/null +++ b/dom/events/test/pointerevents/test_bug1293174_implicit_pointer_capture_for_touch_1.html @@ -0,0 +1,30 @@ + + + + + Test for Bug 1293174 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_bug1293174_implicit_pointer_capture_for_touch_2.html b/dom/events/test/pointerevents/test_bug1293174_implicit_pointer_capture_for_touch_2.html new file mode 100644 index 000000000..f1a1cc314 --- /dev/null +++ b/dom/events/test/pointerevents/test_bug1293174_implicit_pointer_capture_for_touch_2.html @@ -0,0 +1,30 @@ + + + + + Test for Bug 1293174 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_empty_file.html b/dom/events/test/pointerevents/test_empty_file.html new file mode 100644 index 000000000..56f2cd085 --- /dev/null +++ b/dom/events/test/pointerevents/test_empty_file.html @@ -0,0 +1,7 @@ + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_attributes_mouse-manual.html b/dom/events/test/pointerevents/test_pointerevent_attributes_mouse-manual.html new file mode 100644 index 000000000..1cda30c35 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_attributes_mouse-manual.html @@ -0,0 +1,33 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_capture_mouse-manual.html b/dom/events/test/pointerevents/test_pointerevent_capture_mouse-manual.html new file mode 100644 index 000000000..d2e0c52bf --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_capture_mouse-manual.html @@ -0,0 +1,32 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_capture_suppressing_mouse-manual.html b/dom/events/test/pointerevents/test_pointerevent_capture_suppressing_mouse-manual.html new file mode 100644 index 000000000..dc3903592 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_capture_suppressing_mouse-manual.html @@ -0,0 +1,33 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_change-touch-action-onpointerdown_touch-manual.html b/dom/events/test/pointerevents/test_pointerevent_change-touch-action-onpointerdown_touch-manual.html new file mode 100644 index 000000000..44d4f2a1b --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_change-touch-action-onpointerdown_touch-manual.html @@ -0,0 +1,39 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_constructor.html b/dom/events/test/pointerevents/test_pointerevent_constructor.html new file mode 100644 index 000000000..785169fb5 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_constructor.html @@ -0,0 +1,26 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_element_haspointercapture-manual.html b/dom/events/test/pointerevents/test_pointerevent_element_haspointercapture-manual.html new file mode 100644 index 000000000..215e93b57 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_element_haspointercapture-manual.html @@ -0,0 +1,32 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_element_haspointercapture_release_pending_capture-manual.html b/dom/events/test/pointerevents/test_pointerevent_element_haspointercapture_release_pending_capture-manual.html new file mode 100644 index 000000000..1ec769bc7 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_element_haspointercapture_release_pending_capture-manual.html @@ -0,0 +1,30 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_gotpointercapture_before_first_pointerevent-manual.html b/dom/events/test/pointerevents/test_pointerevent_gotpointercapture_before_first_pointerevent-manual.html new file mode 100644 index 000000000..875e18429 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_gotpointercapture_before_first_pointerevent-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_lostpointercapture_for_disconnected_node-manual.html b/dom/events/test/pointerevents/test_pointerevent_lostpointercapture_for_disconnected_node-manual.html new file mode 100644 index 000000000..b381de108 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_lostpointercapture_for_disconnected_node-manual.html @@ -0,0 +1,31 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_lostpointercapture_is_first-manual.html b/dom/events/test/pointerevents/test_pointerevent_lostpointercapture_is_first-manual.html new file mode 100644 index 000000000..43071b67f --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_lostpointercapture_is_first-manual.html @@ -0,0 +1,28 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_multiple_primary_pointers_boundary_events-manual.html b/dom/events/test/pointerevents/test_pointerevent_multiple_primary_pointers_boundary_events-manual.html new file mode 100644 index 000000000..d3c2f8962 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_multiple_primary_pointers_boundary_events-manual.html @@ -0,0 +1,31 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerId_scope-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerId_scope-manual.html new file mode 100644 index 000000000..d78246dca --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerId_scope-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointercancel_touch-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointercancel_touch-manual.html new file mode 100644 index 000000000..de2839350 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointercancel_touch-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerdown-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerdown-manual.html new file mode 100644 index 000000000..f6febcfd4 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerdown-manual.html @@ -0,0 +1,28 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerenter-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerenter-manual.html new file mode 100644 index 000000000..9c2247198 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerenter-manual.html @@ -0,0 +1,26 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerenter_does_not_bubble-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerenter_does_not_bubble-manual.html new file mode 100644 index 000000000..5e13dd212 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerenter_does_not_bubble-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerenter_nohover-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerenter_nohover-manual.html new file mode 100644 index 000000000..b92db3d52 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerenter_nohover-manual.html @@ -0,0 +1,28 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerleave_after_pointercancel_touch-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerleave_after_pointercancel_touch-manual.html new file mode 100644 index 000000000..89419e29b --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerleave_after_pointercancel_touch-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerleave_after_pointerup_nohover-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerleave_after_pointerup_nohover-manual.html new file mode 100644 index 000000000..1cde764c4 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerleave_after_pointerup_nohover-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerleave_descendant_over-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerleave_descendant_over-manual.html new file mode 100644 index 000000000..49c769f40 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerleave_descendant_over-manual.html @@ -0,0 +1,28 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerleave_descendants-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerleave_descendants-manual.html new file mode 100644 index 000000000..6893b4aca --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerleave_descendants-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerleave_does_not_bubble-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerleave_does_not_bubble-manual.html new file mode 100644 index 000000000..e7b96d218 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerleave_does_not_bubble-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerleave_mouse-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerleave_mouse-manual.html new file mode 100644 index 000000000..d15f2c72a --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerleave_mouse-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerleave_pen-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerleave_pen-manual.html new file mode 100644 index 000000000..52f8d6618 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerleave_pen-manual.html @@ -0,0 +1,28 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerleave_touch-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerleave_touch-manual.html new file mode 100644 index 000000000..78ad0190a --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerleave_touch-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointermove-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointermove-manual.html new file mode 100644 index 000000000..218da5124 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointermove-manual.html @@ -0,0 +1,26 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointermove-on-chorded-mouse-button.html b/dom/events/test/pointerevents/test_pointerevent_pointermove-on-chorded-mouse-button.html new file mode 100644 index 000000000..6e90b4230 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointermove-on-chorded-mouse-button.html @@ -0,0 +1,37 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointermove_isprimary_same_as_pointerdown-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointermove_isprimary_same_as_pointerdown-manual.html new file mode 100644 index 000000000..a0f3cee07 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointermove_isprimary_same_as_pointerdown-manual.html @@ -0,0 +1,28 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointermove_pointertype-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointermove_pointertype-manual.html new file mode 100644 index 000000000..7b2d13980 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointermove_pointertype-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerout-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerout-manual.html new file mode 100644 index 000000000..31c6dad5f --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerout-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerout_after_pointercancel_touch-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerout_after_pointercancel_touch-manual.html new file mode 100644 index 000000000..c861caf26 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerout_after_pointercancel_touch-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerout_after_pointerup_nohover-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerout_after_pointerup_nohover-manual.html new file mode 100644 index 000000000..c3bfd29d5 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerout_after_pointerup_nohover-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerout_pen-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerout_pen-manual.html new file mode 100644 index 000000000..11f48b104 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerout_pen-manual.html @@ -0,0 +1,28 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerout_received_once-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerout_received_once-manual.html new file mode 100644 index 000000000..b895244bb --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerout_received_once-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerover-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerover-manual.html new file mode 100644 index 000000000..80ae99c48 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerover-manual.html @@ -0,0 +1,26 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointertype_mouse-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointertype_mouse-manual.html new file mode 100644 index 000000000..aec2e8486 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointertype_mouse-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointertype_pen-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointertype_pen-manual.html new file mode 100644 index 000000000..1469de68c --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointertype_pen-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointertype_touch-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointertype_touch-manual.html new file mode 100644 index 000000000..18a99f490 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointertype_touch-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerup-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerup-manual.html new file mode 100644 index 000000000..5417ad5cd --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerup-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerup_isprimary_same_as_pointerdown-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerup_isprimary_same_as_pointerdown-manual.html new file mode 100644 index 000000000..fc1fb6981 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerup_isprimary_same_as_pointerdown-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_pointerup_pointertype-manual.html b/dom/events/test/pointerevents/test_pointerevent_pointerup_pointertype-manual.html new file mode 100644 index 000000000..b6f07dd50 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_pointerup_pointertype-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_releasepointercapture_events_to_original_target-manual.html b/dom/events/test/pointerevents/test_pointerevent_releasepointercapture_events_to_original_target-manual.html new file mode 100644 index 000000000..cbf91df74 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_releasepointercapture_events_to_original_target-manual.html @@ -0,0 +1,28 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_releasepointercapture_invalid_pointerid-manual.html b/dom/events/test/pointerevents/test_pointerevent_releasepointercapture_invalid_pointerid-manual.html new file mode 100644 index 000000000..55f347358 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_releasepointercapture_invalid_pointerid-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_releasepointercapture_onpointercancel_touch-manual.html b/dom/events/test/pointerevents/test_pointerevent_releasepointercapture_onpointercancel_touch-manual.html new file mode 100644 index 000000000..6b63c307c --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_releasepointercapture_onpointercancel_touch-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_releasepointercapture_onpointerup_mouse-manual.html b/dom/events/test/pointerevents/test_pointerevent_releasepointercapture_onpointerup_mouse-manual.html new file mode 100644 index 000000000..8d5bec3c3 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_releasepointercapture_onpointerup_mouse-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_releasepointercapture_release_right_after_capture-manual.html b/dom/events/test/pointerevents/test_pointerevent_releasepointercapture_release_right_after_capture-manual.html new file mode 100644 index 000000000..3f55c1afe --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_releasepointercapture_release_right_after_capture-manual.html @@ -0,0 +1,30 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_setpointercapture_disconnected-manual.html b/dom/events/test/pointerevents/test_pointerevent_setpointercapture_disconnected-manual.html new file mode 100644 index 000000000..ffbfc6009 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_setpointercapture_disconnected-manual.html @@ -0,0 +1,27 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_setpointercapture_inactive_button_mouse-manual.html b/dom/events/test/pointerevents/test_pointerevent_setpointercapture_inactive_button_mouse-manual.html new file mode 100644 index 000000000..e587e6e68 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_setpointercapture_inactive_button_mouse-manual.html @@ -0,0 +1,28 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_setpointercapture_invalid_pointerid-manual.html b/dom/events/test/pointerevents/test_pointerevent_setpointercapture_invalid_pointerid-manual.html new file mode 100644 index 000000000..61171196a --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_setpointercapture_invalid_pointerid-manual.html @@ -0,0 +1,26 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_setpointercapture_override_pending_capture_element-manual.html b/dom/events/test/pointerevents/test_pointerevent_setpointercapture_override_pending_capture_element-manual.html new file mode 100644 index 000000000..5a3adede6 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_setpointercapture_override_pending_capture_element-manual.html @@ -0,0 +1,31 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_setpointercapture_relatedtarget-manual.html b/dom/events/test/pointerevents/test_pointerevent_setpointercapture_relatedtarget-manual.html new file mode 100644 index 000000000..0883d616b --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_setpointercapture_relatedtarget-manual.html @@ -0,0 +1,29 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_setpointercapture_to_same_element_twice-manual.html b/dom/events/test/pointerevents/test_pointerevent_setpointercapture_to_same_element_twice-manual.html new file mode 100644 index 000000000..e4af7dd56 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_setpointercapture_to_same_element_twice-manual.html @@ -0,0 +1,31 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_suppress_compat_events_on_click.html b/dom/events/test/pointerevents/test_pointerevent_suppress_compat_events_on_click.html new file mode 100644 index 000000000..c09135449 --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_suppress_compat_events_on_click.html @@ -0,0 +1,31 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_pointerevent_suppress_compat_events_on_drag_mouse.html b/dom/events/test/pointerevents/test_pointerevent_suppress_compat_events_on_drag_mouse.html new file mode 100644 index 000000000..d379134cd --- /dev/null +++ b/dom/events/test/pointerevents/test_pointerevent_suppress_compat_events_on_drag_mouse.html @@ -0,0 +1,33 @@ + + + + + + Test for Bug 1000870 + + + + + + + + + + diff --git a/dom/events/test/pointerevents/test_touch_action.html b/dom/events/test/pointerevents/test_touch_action.html new file mode 100644 index 000000000..31d115f82 --- /dev/null +++ b/dom/events/test/pointerevents/test_touch_action.html @@ -0,0 +1,99 @@ + + + + + W3C pointerevents/*touch-action*.html tests in Mochitest form + + + + + + + + + diff --git a/dom/events/test/pointerevents/touch_action_helpers.js b/dom/events/test/pointerevents/touch_action_helpers.js new file mode 100644 index 000000000..91f628827 --- /dev/null +++ b/dom/events/test/pointerevents/touch_action_helpers.js @@ -0,0 +1,206 @@ +// Some common helpers + +function touchActionSetup(testDriver) { + add_completion_callback(subtestDone); + document.body.addEventListener('touchend', testDriver, { passive: true }); +} + +function touchScrollRight(aSelector = '#target0', aX = 20, aY = 20) { + var target = document.querySelector(aSelector); + return ok(synthesizeNativeTouchDrag(target, aX + 40, aY, -40, 0), "Synthesized horizontal drag"); +} + +function touchScrollDown(aSelector = '#target0', aX = 20, aY = 20) { + var target = document.querySelector(aSelector); + return ok(synthesizeNativeTouchDrag(target, aX, aY + 40, 0, -40), "Synthesized vertical drag"); +} + +function tapComplete() { + var button = document.getElementById('btnComplete'); + return button.click(); +} + +// The main body functions to simulate the input events required for the named test + +function* pointerevent_touch_action_auto_css_touch_manual(testDriver) { + touchActionSetup(testDriver); + + yield touchScrollRight(); + yield waitForApzFlushedRepaints(testDriver); + yield touchScrollDown(); +} + +function* pointerevent_touch_action_button_test_touch_manual(testDriver) { + touchActionSetup(testDriver); + + yield touchScrollDown(); + yield waitForApzFlushedRepaints(testDriver); + yield setTimeout(testDriver, 2 * scrollReturnInterval); + yield touchScrollRight(); + yield waitForApzFlushedRepaints(testDriver); + yield setTimeout(testDriver, 2 * scrollReturnInterval); + yield touchScrollDown('#target0 > button'); + yield waitForApzFlushedRepaints(testDriver); + yield touchScrollRight('#target0 > button'); + yield waitForApzFlushedRepaints(testDriver); + yield tapComplete(); +} + +function* pointerevent_touch_action_inherit_child_auto_child_none_touch_manual(testDriver) { + touchActionSetup(testDriver); + + yield touchScrollDown('#target0 > div div'); + yield waitForApzFlushedRepaints(testDriver); + yield touchScrollRight('#target0 > div div'); + yield waitForApzFlushedRepaints(testDriver); + yield tapComplete(); +} + +function* pointerevent_touch_action_inherit_child_none_touch_manual(testDriver) { + touchActionSetup(testDriver); + + yield touchScrollDown('#target0 > div'); + yield waitForApzFlushedRepaints(testDriver); + yield touchScrollRight('#target0 > div'); + yield waitForApzFlushedRepaints(testDriver); + yield tapComplete(); +} + +function* pointerevent_touch_action_inherit_child_pan_x_child_pan_x_touch_manual(testDriver) { + touchActionSetup(testDriver); + + yield touchScrollDown('#target0 > div div'); + yield waitForApzFlushedRepaints(testDriver); + yield touchScrollRight('#target0 > div div'); + yield waitForApzFlushedRepaints(testDriver); + yield tapComplete(); +} + +function* pointerevent_touch_action_inherit_child_pan_x_child_pan_y_touch_manual(testDriver) { + touchActionSetup(testDriver); + + yield touchScrollDown('#target0 > div div'); + yield waitForApzFlushedRepaints(testDriver); + yield touchScrollRight('#target0 > div div'); + yield waitForApzFlushedRepaints(testDriver); + yield tapComplete(); +} + +function* pointerevent_touch_action_inherit_highest_parent_none_touch_manual(testDriver) { + touchActionSetup(testDriver); + + yield touchScrollDown('#target0 > div'); + yield waitForApzFlushedRepaints(testDriver); + yield touchScrollRight('#target0 > div'); +} + +function* pointerevent_touch_action_inherit_parent_none_touch_manual(testDriver) { + touchActionSetup(testDriver); + + yield touchScrollDown(); + yield waitForApzFlushedRepaints(testDriver); + yield touchScrollRight(); + yield waitForApzFlushedRepaints(testDriver); + yield tapComplete(); +} + +function* pointerevent_touch_action_none_css_touch_manual(testDriver) { + touchActionSetup(testDriver); + + yield touchScrollDown(); + yield waitForApzFlushedRepaints(testDriver); + yield touchScrollRight(); + yield waitForApzFlushedRepaints(testDriver); + yield tapComplete(); +} + +function* pointerevent_touch_action_pan_x_css_touch_manual(testDriver) { + touchActionSetup(testDriver); + + yield touchScrollDown(); + yield waitForApzFlushedRepaints(testDriver); + yield touchScrollRight(); + yield waitForApzFlushedRepaints(testDriver); + yield tapComplete(); +} + +function* pointerevent_touch_action_pan_x_pan_y_pan_y_touch_manual(testDriver) { + touchActionSetup(testDriver); + + yield touchScrollDown('#target0 > div div'); + yield waitForApzFlushedRepaints(testDriver); + yield touchScrollRight('#target0 > div div'); + yield waitForApzFlushedRepaints(testDriver); + yield tapComplete(); +} + +function* pointerevent_touch_action_pan_x_pan_y_touch_manual(testDriver) { + touchActionSetup(testDriver); + + yield touchScrollDown(); + yield waitForApzFlushedRepaints(testDriver); + yield touchScrollRight(); +} + +function* pointerevent_touch_action_pan_y_css_touch_manual(testDriver) { + touchActionSetup(testDriver); + + yield touchScrollDown(); + yield waitForApzFlushedRepaints(testDriver); + yield touchScrollRight(); + yield waitForApzFlushedRepaints(testDriver); + yield tapComplete(); +} + +function* pointerevent_touch_action_span_test_touch_manual(testDriver) { + touchActionSetup(testDriver); + + yield touchScrollDown(); + yield waitForApzFlushedRepaints(testDriver); + yield setTimeout(testDriver, 2 * scrollReturnInterval); + yield touchScrollRight(); + yield waitForApzFlushedRepaints(testDriver); + yield setTimeout(testDriver, 2 * scrollReturnInterval); + yield touchScrollDown('#testspan'); + yield waitForApzFlushedRepaints(testDriver); + yield touchScrollRight('#testspan'); + yield waitForApzFlushedRepaints(testDriver); + yield tapComplete(); +} + +function* pointerevent_touch_action_svg_test_touch_manual(testDriver) { + touchActionSetup(testDriver); + + yield touchScrollDown(); + yield waitForApzFlushedRepaints(testDriver); + yield setTimeout(testDriver, 2 * scrollReturnInterval); + yield touchScrollRight(); + yield waitForApzFlushedRepaints(testDriver); + yield setTimeout(testDriver, 2 * scrollReturnInterval); + yield touchScrollDown('#target0', 250, 250); + yield waitForApzFlushedRepaints(testDriver); + yield touchScrollRight('#target0', 250, 250); + yield waitForApzFlushedRepaints(testDriver); + yield tapComplete(); +} + +function* pointerevent_touch_action_table_test_touch_manual(testDriver) { + touchActionSetup(testDriver); + + yield touchScrollDown('#row1'); + yield waitForApzFlushedRepaints(testDriver); + yield setTimeout(testDriver, 2 * scrollReturnInterval); + yield touchScrollRight('#row1'); + yield waitForApzFlushedRepaints(testDriver); + yield setTimeout(testDriver, 2 * scrollReturnInterval); + yield touchScrollDown('#cell3'); + yield waitForApzFlushedRepaints(testDriver); + yield touchScrollRight('#cell3'); + yield waitForApzFlushedRepaints(testDriver); + yield tapComplete(); +} + +// This the stuff that runs the appropriate body function above + +var test = eval(_ACTIVE_TEST_NAME.replace(/-/g, '_')); +waitUntilApzStable().then(runContinuation(test)); diff --git a/dom/events/test/test_DataTransferItemList.html b/dom/events/test/test_DataTransferItemList.html new file mode 100644 index 000000000..a267a183e --- /dev/null +++ b/dom/events/test/test_DataTransferItemList.html @@ -0,0 +1,232 @@ + + + Tests for the DatTransferItemList object + + + + + + + +

+ +
+ drag over here +
+ + + + + diff --git a/dom/events/test/test_accel_virtual_modifier.html b/dom/events/test/test_accel_virtual_modifier.html new file mode 100644 index 000000000..5e320b61f --- /dev/null +++ b/dom/events/test/test_accel_virtual_modifier.html @@ -0,0 +1,90 @@ + + + + Test for DOM "Accel" virtual modifier + + + + +

+ +
+
+
+ + diff --git a/dom/events/test/test_addEventListenerExtraArg.html b/dom/events/test/test_addEventListenerExtraArg.html new file mode 100644 index 000000000..e343f3c6d --- /dev/null +++ b/dom/events/test/test_addEventListenerExtraArg.html @@ -0,0 +1,31 @@ + + + + + + Test for Bug 828554 + + + + + +Mozilla Bug 828554 +

+ +
+
+ + diff --git a/dom/events/test/test_all_synthetic_events.html b/dom/events/test/test_all_synthetic_events.html new file mode 100644 index 000000000..90dbe95ee --- /dev/null +++ b/dom/events/test/test_all_synthetic_events.html @@ -0,0 +1,515 @@ + + + + Test all synthetic events + + + + + +

+ +
+
+
+ + diff --git a/dom/events/test/test_bug1003432.html b/dom/events/test/test_bug1003432.html new file mode 100644 index 000000000..7ffd3f7c4 --- /dev/null +++ b/dom/events/test/test_bug1003432.html @@ -0,0 +1,45 @@ + + + + + Test for Bug 1003432 + + + + +Mozilla Bug 1003432 +

+ +
+
+
+ + diff --git a/dom/events/test/test_bug1003432.js b/dom/events/test/test_bug1003432.js new file mode 100644 index 000000000..1ace8fefd --- /dev/null +++ b/dom/events/test/test_bug1003432.js @@ -0,0 +1,23 @@ +addEventListener("foobar", + function(evt) { + postMessage( + { + type: evt.type, + bubbles: evt.bubbles, + cancelable: evt.cancelable, + detail: evt.detail + }); + }, true); + +addEventListener("message", + function(evt) { + // Test the constructor of CustomEvent + var e = new CustomEvent("foobar", + {bubbles:true, cancelable: true, detail:"test"}); + dispatchEvent(e); + + // Test initCustomEvent + e = new CustomEvent("foobar"); + e.initCustomEvent("foobar", true, true, "test"); + dispatchEvent(e); + }, true); diff --git a/dom/events/test/test_bug1013412.html b/dom/events/test/test_bug1013412.html new file mode 100644 index 000000000..b63eb615e --- /dev/null +++ b/dom/events/test/test_bug1013412.html @@ -0,0 +1,110 @@ + + + + + Test for Bug 1013412 + + + + + + +Mozilla Bug 1013412 +

+
+

Scrolling the page should be async, but scrolling over the dark circle should not scroll the page and instead rotate the white ball.

+
+
+
+
+
+
+
+
+
+ + + diff --git a/dom/events/test/test_bug1017086_disable.html b/dom/events/test/test_bug1017086_disable.html new file mode 100644 index 000000000..f13d2aff3 --- /dev/null +++ b/dom/events/test/test_bug1017086_disable.html @@ -0,0 +1,41 @@ + + + + + + Test for Bug 1017086 + + + + + + + + + diff --git a/dom/events/test/test_bug1017086_enable.html b/dom/events/test/test_bug1017086_enable.html new file mode 100644 index 000000000..7930757a6 --- /dev/null +++ b/dom/events/test/test_bug1017086_enable.html @@ -0,0 +1,43 @@ + + + + + + Test for Bug 1017086 + + + + + + + + + diff --git a/dom/events/test/test_bug1037990.html b/dom/events/test/test_bug1037990.html new file mode 100644 index 000000000..025c8744b --- /dev/null +++ b/dom/events/test/test_bug1037990.html @@ -0,0 +1,61 @@ + + + + + + Test for Bug 1037990 + + + + +Mozilla Bug 1037990 +

+ +
+
+ + + diff --git a/dom/events/test/test_bug1079236.html b/dom/events/test/test_bug1079236.html new file mode 100644 index 000000000..7957823e6 --- /dev/null +++ b/dom/events/test/test_bug1079236.html @@ -0,0 +1,60 @@ + + + + + + Test for Bug 1079236 + + + + + + +Mozilla Bug 1079236 +

+
+ +
+
+
+ + diff --git a/dom/events/test/test_bug1096146.html b/dom/events/test/test_bug1096146.html new file mode 100644 index 000000000..85b7a35f0 --- /dev/null +++ b/dom/events/test/test_bug1096146.html @@ -0,0 +1,187 @@ + + + + + + Test for Bug 1096146 + + + + + +Mozilla Bug 1096146 + +
+
+
+ + diff --git a/dom/events/test/test_bug1128787-1.html b/dom/events/test/test_bug1128787-1.html new file mode 100644 index 000000000..947bace38 --- /dev/null +++ b/dom/events/test/test_bug1128787-1.html @@ -0,0 +1,54 @@ + + + + + + Test for Bug 1128787 + + + + + + +Mozilla Bug 1128787 +

+ + + +
+
+ + diff --git a/dom/events/test/test_bug1128787-2.html b/dom/events/test/test_bug1128787-2.html new file mode 100644 index 000000000..3e2a6cada --- /dev/null +++ b/dom/events/test/test_bug1128787-2.html @@ -0,0 +1,55 @@ + + + + + + Test for Bug 1128787 + + + + + + +Mozilla Bug 1128787 +

+ +

+ + +
+
+ + diff --git a/dom/events/test/test_bug1128787-3.html b/dom/events/test/test_bug1128787-3.html new file mode 100644 index 000000000..a7b86cdb6 --- /dev/null +++ b/dom/events/test/test_bug1128787-3.html @@ -0,0 +1,54 @@ + + + + + + Test for Bug 1128787 + + + + + + +Mozilla Bug 1128787 +

+ + + +
+
+ + diff --git a/dom/events/test/test_bug1145910.html b/dom/events/test/test_bug1145910.html new file mode 100644 index 000000000..b87104eb5 --- /dev/null +++ b/dom/events/test/test_bug1145910.html @@ -0,0 +1,48 @@ + + + + + Test for Bug 1145910 + + + + + + +
Foo
+ + + diff --git a/dom/events/test/test_bug1150308.html b/dom/events/test/test_bug1150308.html new file mode 100644 index 000000000..c90e1055c --- /dev/null +++ b/dom/events/test/test_bug1150308.html @@ -0,0 +1,41 @@ + + + + + Test for Bug 1150308 + + + + + +
Foo
+ + + diff --git a/dom/events/test/test_bug1248459.html b/dom/events/test/test_bug1248459.html new file mode 100644 index 000000000..4eefa8e12 --- /dev/null +++ b/dom/events/test/test_bug1248459.html @@ -0,0 +1,58 @@ + + + + + Test for Bug 1248459 + + + + + + +
bar
+ + + diff --git a/dom/events/test/test_bug1264380.html b/dom/events/test/test_bug1264380.html new file mode 100644 index 000000000..76b9fb46b --- /dev/null +++ b/dom/events/test/test_bug1264380.html @@ -0,0 +1,54 @@ + + + Test the dragstart event on the anchor in side shadow DOM + + + + + + +
+ + diff --git a/dom/events/test/test_bug1298970.html b/dom/events/test/test_bug1298970.html new file mode 100644 index 000000000..6b00aabff --- /dev/null +++ b/dom/events/test/test_bug1298970.html @@ -0,0 +1,33 @@ + + + + + Test for Bug 1298970 + + + + +Mozilla Bug 1298970 +

+
+ + + + diff --git a/dom/events/test/test_bug226361.xhtml b/dom/events/test/test_bug226361.xhtml new file mode 100644 index 000000000..5095bb193 --- /dev/null +++ b/dom/events/test/test_bug226361.xhtml @@ -0,0 +1,82 @@ + + + + Test for Bug 226361 + + + + +

+ + start
+
+ + + + end + +

+ +
+
+
+ + diff --git a/dom/events/test/test_bug238987.html b/dom/events/test/test_bug238987.html new file mode 100644 index 000000000..814b0596b --- /dev/null +++ b/dom/events/test/test_bug238987.html @@ -0,0 +1,282 @@ + + + + + Test for Bug 238987 + + + + +Mozilla Bug 238987 +

+ +
+
+
+

Test:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
type="text"
type="button"
type="checkbox"
type="radio" checked +
type="radio" +
type="password"
type="file"
type="number"
button
select
aa link
tabindex="0"span

Form elements with tabindex="-1"

type="text"
type="button"
type="checkbox"
type="radio" checked +
type="radio" +
type="password"
type="file"
button
select

Form elements with .setAttribute("tabindex", "-1")

type="text"
type="button"
type="checkbox"
type="radio" checked +
type="radio" +
type="password"
type="file"
button
select
+

done.

+ + + diff --git a/dom/events/test/test_bug288392.html b/dom/events/test/test_bug288392.html new file mode 100644 index 000000000..bec2cca4c --- /dev/null +++ b/dom/events/test/test_bug288392.html @@ -0,0 +1,97 @@ + + + + + Test for Bug 288392 + + + + +Mozilla Bug 288392 +

+ +
+
+
+ + + diff --git a/dom/events/test/test_bug299673-1.html b/dom/events/test/test_bug299673-1.html new file mode 100644 index 000000000..f3c6fb276 --- /dev/null +++ b/dom/events/test/test_bug299673-1.html @@ -0,0 +1,61 @@ + + + + Test #1 for Bug 299673 + + + + + +Mozilla Bug 299673 +

+ + + + + + +

+ + +
+
+
+
+
+
+ + diff --git a/dom/events/test/test_bug299673-2.html b/dom/events/test/test_bug299673-2.html new file mode 100644 index 000000000..f393d6609 --- /dev/null +++ b/dom/events/test/test_bug299673-2.html @@ -0,0 +1,60 @@ + + + + Test #2 for Bug 299673 + + + + + +Mozilla Bug 299673 +

+ + + + + + +

+ + +
+
+
+
+
+
+ + diff --git a/dom/events/test/test_bug322588.html b/dom/events/test/test_bug322588.html new file mode 100644 index 000000000..1c931c006 --- /dev/null +++ b/dom/events/test/test_bug322588.html @@ -0,0 +1,62 @@ + + + + + Test for Bug 322588 - onBlur window close no longer works + + + + + +Mozilla Bug 322588 - onBlur window close no longer works +

+Openwindow
+The opened window should not directly close when clicking on the Openwindow link +

+ +
+
+
+ + diff --git a/dom/events/test/test_bug328885.html b/dom/events/test/test_bug328885.html new file mode 100644 index 000000000..5af2d5611 --- /dev/null +++ b/dom/events/test/test_bug328885.html @@ -0,0 +1,134 @@ + + + + + Test for Bug 328885 + + + + + +Mozilla Bug 328885 +

+ + +
+
+
+ + + diff --git a/dom/events/test/test_bug336682.js b/dom/events/test/test_bug336682.js new file mode 100644 index 000000000..7f4ecfdf7 --- /dev/null +++ b/dom/events/test/test_bug336682.js @@ -0,0 +1,94 @@ +/* + * Helper functions for online/offline events tests. + * + * Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/licenses/publicdomain/ + */ +var gState = 0; +/** + * After all the on/offline handlers run, + * gState is expected to be equal to MAX_STATE. + */ +var MAX_STATE; + +function trace(text) { + var t = text.replace(/&/g, "&" + "amp;").replace(/"; + //document.getElementById("display").innerHTML += t; +} + +// window.ononline and window.onclick shouldn't work +// Right now, sets window.ononline (bug 380618) +// When these start passing, be sure to uncomment the code inside if(0) below. +todo(typeof window.ononline == "undefined", + "window.ononline should be undefined at this point"); +todo(typeof window.onoffline == "undefined", + "window.onoffline should be undefined at this point"); + +if (0) { + window.ononline = function() { + ok(false, "window.ononline shouldn't be called"); + } + window.onoffline = function() { + ok(false, "window.onclick shouldn't be called"); + } +} + +/** + * Returns a handler function for an online/offline event. The returned handler + * ensures the passed event object has expected properties and that the handler + * is called at the right moment (according to the gState variable). + * @param nameTemplate The string identifying the hanlder. '%1' in that + * string will be replaced with the event name. + * @param eventName 'online' or 'offline' + * @param expectedStates an array listing the possible values of gState at the + * moment the handler is called. The handler increases + * gState by one before checking if it's listed in + * expectedStates. + */ +function makeHandler(nameTemplate, eventName, expectedStates) { + return function(e) { + var name = nameTemplate.replace(/%1/, eventName); + ++gState; + trace(name + ": gState=" + gState); + ok(expectedStates.indexOf(gState) != -1, + "handlers called in the right order: " + name + " is called, " + + "gState=" + gState + ", expectedStates=" + expectedStates); + ok(e.constructor == Event, "event should be an Event"); + ok(e.type == eventName, "event type should be " + eventName); + ok(e.bubbles, "event should bubble"); + ok(!e.cancelable, "event should not be cancelable"); + ok(e.target == (document instanceof HTMLDocument + ? document.body : document.documentElement), + "the event target should be the body element"); + } +} + +function doTest() { + var iosvc = SpecialPowers.Cc["@mozilla.org/network/io-service;1"] + .getService(SpecialPowers.Ci.nsIIOService2); + iosvc.manageOfflineStatus = false; + iosvc.offline = false; + ok(navigator.onLine, "navigator.onLine should be true, since we've just " + + "set nsIIOService.offline to false"); + + gState = 0; + + trace("setting iosvc.offline = true"); + iosvc.offline = true; + trace("done setting iosvc.offline = true"); + ok(!navigator.onLine, + "navigator.onLine should be false when iosvc.offline == true"); + ok(gState == window.MAX_STATE, + "offline event: all registered handlers should have been invoked, " + + "actual: " + gState); + + gState = 0; + trace("setting iosvc.offline = false"); + iosvc.offline = false; + trace("done setting iosvc.offline = false"); + ok(navigator.onLine, + "navigator.onLine should be true when iosvc.offline == false"); + ok(gState == window.MAX_STATE, + "online event: all registered handlers should have been invoked, " + + "actual: " + gState); +} diff --git a/dom/events/test/test_bug336682_1.html b/dom/events/test/test_bug336682_1.html new file mode 100644 index 000000000..da80c1649 --- /dev/null +++ b/dom/events/test/test_bug336682_1.html @@ -0,0 +1,68 @@ + + + + + Test for Bug 336682 (online/offline events) + + + + +Mozilla Bug 336682 +

+ +
+
+ + + + + diff --git a/dom/events/test/test_bug336682_2.xul b/dom/events/test/test_bug336682_2.xul new file mode 100644 index 000000000..303348c2e --- /dev/null +++ b/dom/events/test/test_bug336682_2.xul @@ -0,0 +1,71 @@ + + + + + + + + + + +Mozilla Bug 336682 (online/offline events) +

+ + + + + +
diff --git a/dom/events/test/test_bug367781.html b/dom/events/test/test_bug367781.html new file mode 100644 index 000000000..06fa130c8 --- /dev/null +++ b/dom/events/test/test_bug367781.html @@ -0,0 +1,53 @@ + + + + + Test for Bug 367781 + + + + +Mozilla Bug 367781 +

+ +
+
+
+ + + + + diff --git a/dom/events/test/test_bug368835.html b/dom/events/test/test_bug368835.html new file mode 100644 index 000000000..14581ee34 --- /dev/null +++ b/dom/events/test/test_bug368835.html @@ -0,0 +1,101 @@ + + + + + Test for Bug 368835 + + + + + + + + + Mozilla Bug 368835 + +

+ +
+    
+    
+ + + diff --git a/dom/events/test/test_bug379120.html b/dom/events/test/test_bug379120.html new file mode 100644 index 000000000..9a7925743 --- /dev/null +++ b/dom/events/test/test_bug379120.html @@ -0,0 +1,58 @@ + + + + + Test for Bug 379120 + + + + +Mozilla Bug 379120 +

+ +
+
+
+ + + diff --git a/dom/events/test/test_bug391568.xhtml b/dom/events/test/test_bug391568.xhtml new file mode 100644 index 000000000..0a35072be --- /dev/null +++ b/dom/events/test/test_bug391568.xhtml @@ -0,0 +1,77 @@ + + + + + Test for Bug 391568 + + + + + + + (anonumous content) + + (anonumous content) + + + + + var win = XPCNativeWrapper.unwrap(window); + ++win.constructorFired; + document.getAnonymousNodes(this)[0].addEventListener( + "DOMCharacterDataModified", + function(evt) { + ++win.characterdatamodified; + }, + true); + + + + + + +Mozilla Bug 391568 +

+
+ (real content) + (real content) +
+
+
+
+ + + diff --git a/dom/events/test/test_bug402089.html b/dom/events/test/test_bug402089.html new file mode 100644 index 000000000..58ba423dd --- /dev/null +++ b/dom/events/test/test_bug402089.html @@ -0,0 +1,67 @@ + + + + + Test for Bug 402089 + + + + + + +Mozilla Bug 402089 +

+
+

+  

+
+
+
+
+ + + diff --git a/dom/events/test/test_bug405632.html b/dom/events/test/test_bug405632.html new file mode 100644 index 000000000..96465225e --- /dev/null +++ b/dom/events/test/test_bug405632.html @@ -0,0 +1,34 @@ + + + + + Test for Bug 405632 + + + + +Mozilla Bug 405632 +

+ +
+
+
+ + + diff --git a/dom/events/test/test_bug409604.html b/dom/events/test/test_bug409604.html new file mode 100644 index 000000000..ec714ab64 --- /dev/null +++ b/dom/events/test/test_bug409604.html @@ -0,0 +1,382 @@ + + + + + Test for Bug 409604 + + + + +Mozilla Bug 409604 +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test header
Test footer
atest link"
button
input type="text"
input type="button"
input type="checkbox"
input type="radio"
input type="password"
input type="submit"
input type="reset"
label
legend
test legend +
textarea
label (label invisible) +
label (control invisible) +
select + +
object + an object +
a without href + an object +
disabled button + +
disabled input + +
hidden input + disabled +
disabled select + +
disabled textarea + +
scrollable div(focusable) +
+ The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy + + dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the + + lazy dog. The quick brown fox jumps over the lazy dog. + The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy + + dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the + + lazy dog. The quick brown fox jumps over the lazy dog. + The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy + + dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the + + lazy dog. The quick brown fox jumps over the lazy dog. +
+
contenteditable div(focusable) +
+ Test text..... +
+
+
+
    +
      + + + diff --git a/dom/events/test/test_bug412567.html b/dom/events/test/test_bug412567.html new file mode 100644 index 000000000..08352366b --- /dev/null +++ b/dom/events/test/test_bug412567.html @@ -0,0 +1,47 @@ + + + + + Test for Bug 412567 + + + + +Mozilla Bug 412567 +

      + +
      +
      +
      + + + diff --git a/dom/events/test/test_bug415498.xul b/dom/events/test/test_bug415498.xul new file mode 100644 index 000000000..009431cb1 --- /dev/null +++ b/dom/events/test/test_bug415498.xul @@ -0,0 +1,106 @@ + + + + + + + + + + Mozilla Bug 415498 + +

      + +
      +  
      +  
      + + + + +
      diff --git a/dom/events/test/test_bug418986-3.html b/dom/events/test/test_bug418986-3.html new file mode 100644 index 000000000..a92b1e0f5 --- /dev/null +++ b/dom/events/test/test_bug418986-3.html @@ -0,0 +1,25 @@ + + + + + + Test 3/3 for Bug 418986 - Resist fingerprinting by preventing exposure of screen and system info + + + + + +Bug 418986 +

      +
      
      +
      +
      +
      +
      diff --git a/dom/events/test/test_bug418986-3.xul b/dom/events/test/test_bug418986-3.xul
      new file mode 100644
      index 000000000..574cda0ce
      --- /dev/null
      +++ b/dom/events/test/test_bug418986-3.xul
      @@ -0,0 +1,27 @@
      +
      +
      +
      +
      +
      +
      +        
      +  
      +
      +
      +
      +Mozilla Bug 418986
      +
      +
      +
      +  
      +
      +
      diff --git a/dom/events/test/test_bug422132.html b/dom/events/test/test_bug422132.html
      new file mode 100644
      index 000000000..bceeb79e8
      --- /dev/null
      +++ b/dom/events/test/test_bug422132.html
      @@ -0,0 +1,124 @@
      +
      +
      +
      +
      +  Test for Bug 422132
      +  
      +  
      +  
      +  
      +  
      +
      +
      +Mozilla Bug 422132
      +

      +
      +
      +
      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug426082.html b/dom/events/test/test_bug426082.html new file mode 100644 index 000000000..d07559413 --- /dev/null +++ b/dom/events/test/test_bug426082.html @@ -0,0 +1,30 @@ + + + + + Test for Bug 426082 + + + + + + + +
      +
      +
      + + + diff --git a/dom/events/test/test_bug427537.html b/dom/events/test/test_bug427537.html new file mode 100644 index 000000000..060581f2f --- /dev/null +++ b/dom/events/test/test_bug427537.html @@ -0,0 +1,61 @@ + + + + + Test for Bug 427537 + + + + +Mozilla Bug 427537 +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug428988.html b/dom/events/test/test_bug428988.html new file mode 100644 index 000000000..97a0069fd --- /dev/null +++ b/dom/events/test/test_bug428988.html @@ -0,0 +1,44 @@ + + + + + Test for Bug 428988 + + + + +Mozilla Bug 428988 +

      + +
      +
      +
      +testTarget + + diff --git a/dom/events/test/test_bug432698.html b/dom/events/test/test_bug432698.html new file mode 100644 index 000000000..335890b0a --- /dev/null +++ b/dom/events/test/test_bug432698.html @@ -0,0 +1,223 @@ + + + + + Test for Bug 432698 + + + + + +Mozilla Bug 432698 +

      + +
      +
      +
      +
      +
      foo
      +
      +
      +
      foo
      +
      +
      + +
      + +
      + + diff --git a/dom/events/test/test_bug443985.html b/dom/events/test/test_bug443985.html new file mode 100644 index 000000000..0ed4138be --- /dev/null +++ b/dom/events/test/test_bug443985.html @@ -0,0 +1,76 @@ + + + + + Test for Bug 443985 + + + + +Mozilla Bug 443985 +

      + +
      +
      +
      +
      +
      + testTarget +
      + + + diff --git a/dom/events/test/test_bug447736.html b/dom/events/test/test_bug447736.html new file mode 100644 index 000000000..fc696d5e9 --- /dev/null +++ b/dom/events/test/test_bug447736.html @@ -0,0 +1,47 @@ + + + + + Test for Bug 447736 + + + + +Mozilla Bug 447736 +

      + +
      +
      +
      +
      + + + diff --git a/dom/events/test/test_bug448602.html b/dom/events/test/test_bug448602.html new file mode 100644 index 000000000..0d2d8b580 --- /dev/null +++ b/dom/events/test/test_bug448602.html @@ -0,0 +1,220 @@ + + + + + Test for Bug 448602 + + + + +Mozilla Bug 448602 +

      + +
                
      +
      +
      +
      +
      +
      + Test +
      +
      +
      + + diff --git a/dom/events/test/test_bug450876.html b/dom/events/test/test_bug450876.html new file mode 100644 index 000000000..79efeda28 --- /dev/null +++ b/dom/events/test/test_bug450876.html @@ -0,0 +1,41 @@ + + + + Test for Bug 450876 - Crash [@ nsEventStateManager::GetNextTabbableMapArea] with img usemap and tabindex + + + + +Mozilla Bug 450876 +

      link to focus from

      + + +
      +
      +
      + + + diff --git a/dom/events/test/test_bug456273.html b/dom/events/test/test_bug456273.html new file mode 100644 index 000000000..ac7bd2bce --- /dev/null +++ b/dom/events/test/test_bug456273.html @@ -0,0 +1,41 @@ + + + + + Test for Bug 456273 + + + + +Mozilla Bug 456273 +

      PASS if Firefox does not crash.

      + + +
      text
      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug457672.html b/dom/events/test/test_bug457672.html new file mode 100644 index 000000000..b3dc5bcb3 --- /dev/null +++ b/dom/events/test/test_bug457672.html @@ -0,0 +1,55 @@ + + + + + Test for Bug 457672 + + + + +Mozilla Bug 457672 +

      + +
      +
      +
      +
      +
      + + diff --git a/dom/events/test/test_bug489671.html b/dom/events/test/test_bug489671.html new file mode 100644 index 000000000..4def80cba --- /dev/null +++ b/dom/events/test/test_bug489671.html @@ -0,0 +1,55 @@ + + + + + + Test for Bug 489671 + + + + +Mozilla Bug 489671 +

      + + + diff --git a/dom/events/test/test_bug493251.html b/dom/events/test/test_bug493251.html new file mode 100644 index 000000000..d23045dee --- /dev/null +++ b/dom/events/test/test_bug493251.html @@ -0,0 +1,194 @@ + + + + + Test for Bug 493251 + + + + +Mozilla Bug 493251 +

      +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug502818.html b/dom/events/test/test_bug502818.html new file mode 100644 index 000000000..699b312f3 --- /dev/null +++ b/dom/events/test/test_bug502818.html @@ -0,0 +1,54 @@ + + + + + Test for Bug 502818 + + + + +Mozilla Bug 502818 +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug508479.html b/dom/events/test/test_bug508479.html new file mode 100644 index 000000000..9cf9e22b8 --- /dev/null +++ b/dom/events/test/test_bug508479.html @@ -0,0 +1,103 @@ + + + Tests for the dragstart event + + + + + + + + + + + + + + diff --git a/dom/events/test/test_bug517851.html b/dom/events/test/test_bug517851.html new file mode 100644 index 000000000..895c867a1 --- /dev/null +++ b/dom/events/test/test_bug517851.html @@ -0,0 +1,112 @@ + + + + + Test for Bug 517851 + + + + +Mozilla Bug 517851 +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug524674.xul b/dom/events/test/test_bug524674.xul new file mode 100644 index 000000000..463d9269b --- /dev/null +++ b/dom/events/test/test_bug524674.xul @@ -0,0 +1,147 @@ + + + + + + + diff --git a/dom/events/test/test_bug534833.html b/dom/events/test/test_bug534833.html new file mode 100644 index 000000000..9d9a2eb1d --- /dev/null +++ b/dom/events/test/test_bug534833.html @@ -0,0 +1,157 @@ + + + + + Test for Bug 534833 + + + + + +Mozilla Bug 534833 +

      + +
      +
      +
      +
      +
      + +
      +
      + +
      click before or after |
      +
      click before or after |
      + + diff --git a/dom/events/test/test_bug545268.html b/dom/events/test/test_bug545268.html new file mode 100644 index 000000000..c2ad64780 --- /dev/null +++ b/dom/events/test/test_bug545268.html @@ -0,0 +1,141 @@ + + + + + Test for Bug 545268 + + + + +Mozilla Bug 545268 +

      +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug547996-1.html b/dom/events/test/test_bug547996-1.html new file mode 100644 index 000000000..11944ec5d --- /dev/null +++ b/dom/events/test/test_bug547996-1.html @@ -0,0 +1,87 @@ + + + + + Test for Bug 547996 + + + + +Mozilla Bug 547996 +

      + +
      +
      +
      +testTarget + + diff --git a/dom/events/test/test_bug547996-2.xhtml b/dom/events/test/test_bug547996-2.xhtml new file mode 100644 index 000000000..52ee9a06e --- /dev/null +++ b/dom/events/test/test_bug547996-2.xhtml @@ -0,0 +1,125 @@ + + + + + Test for Bug 547996 + + + + + +Mozilla Bug 547996 +

      + +
      +
      +
      +Checkbox target + + +XUL Button +Anchor +Radio Target 1 +Radio Target 2 + + diff --git a/dom/events/test/test_bug556493.html b/dom/events/test/test_bug556493.html new file mode 100644 index 000000000..3a86ada65 --- /dev/null +++ b/dom/events/test/test_bug556493.html @@ -0,0 +1,74 @@ + + + + + Test for Bug 556493 + + + + + + +Mozilla Bug 556493 +

      + +
      +
      +
      +
      +Test divs -- +
      t
      t
      +-- +
      + + diff --git a/dom/events/test/test_bug563329.html b/dom/events/test/test_bug563329.html new file mode 100644 index 000000000..847c5b2a8 --- /dev/null +++ b/dom/events/test/test_bug563329.html @@ -0,0 +1,82 @@ + + + + + Test for Bug 563329 + + + + + +Mozilla Bug 563329 +

      + +
      +
      +
      +testTarget + + diff --git a/dom/events/test/test_bug574663.html b/dom/events/test/test_bug574663.html new file mode 100644 index 000000000..23c572590 --- /dev/null +++ b/dom/events/test/test_bug574663.html @@ -0,0 +1,170 @@ + + + + + Test for Bug 574663 + + + + + +Mozilla Bug 574663 +

      + +
      +
      +
      + + + diff --git a/dom/events/test/test_bug586961.xul b/dom/events/test/test_bug586961.xul new file mode 100644 index 000000000..43ad5fb9b --- /dev/null +++ b/dom/events/test/test_bug586961.xul @@ -0,0 +1,46 @@ + + + + + + + + + diff --git a/dom/events/test/test_bug591249.xul b/dom/events/test/test_bug591249.xul new file mode 100644 index 000000000..d57c02e66 --- /dev/null +++ b/dom/events/test/test_bug591249.xul @@ -0,0 +1,75 @@ + + + + + + + + + diff --git a/dom/events/test/test_bug591815.html b/dom/events/test/test_bug591815.html new file mode 100644 index 000000000..f7e5c5050 --- /dev/null +++ b/dom/events/test/test_bug591815.html @@ -0,0 +1,68 @@ + + + + + Test for Bug 591815 + + + + + +Mozilla Bug 591815 +

      +
      +
      + + +
      +
      +
      +
      +
      +
      + + + diff --git a/dom/events/test/test_bug593959.html b/dom/events/test/test_bug593959.html new file mode 100644 index 000000000..933616744 --- /dev/null +++ b/dom/events/test/test_bug593959.html @@ -0,0 +1,60 @@ + + + + + Test for Bug 593959 + + + + + + +Mozilla Bug 593959 +

      + +
      +
      +
      + + + diff --git a/dom/events/test/test_bug602962.xul b/dom/events/test/test_bug602962.xul new file mode 100644 index 000000000..cc500d132 --- /dev/null +++ b/dom/events/test/test_bug602962.xul @@ -0,0 +1,88 @@ + + + + + + + + + diff --git a/dom/events/test/test_bug603008.html b/dom/events/test/test_bug603008.html new file mode 100644 index 000000000..786f68412 --- /dev/null +++ b/dom/events/test/test_bug603008.html @@ -0,0 +1,556 @@ + + + + + Test for Bug 603008 + + + + +Mozilla Bug 603008 +

      + +
      +
      +
      +
      + testTarget + testTarget + +
      + + diff --git a/dom/events/test/test_bug605242.html b/dom/events/test/test_bug605242.html new file mode 100644 index 000000000..f8f9354d5 --- /dev/null +++ b/dom/events/test/test_bug605242.html @@ -0,0 +1,58 @@ + + + + + Test for Bug 605242 + + + + +Mozilla Bug 605242 +

      + +
      +
      +
      + +
      +
      + + diff --git a/dom/events/test/test_bug607464.html b/dom/events/test/test_bug607464.html new file mode 100644 index 000000000..ac8076bfd --- /dev/null +++ b/dom/events/test/test_bug607464.html @@ -0,0 +1,87 @@ + + + + + Test for Bug 607464 + + + + + + +Mozilla Bug 607464 +

      + +
      +
      +
      + + + diff --git a/dom/events/test/test_bug613634.html b/dom/events/test/test_bug613634.html new file mode 100644 index 000000000..540df5c90 --- /dev/null +++ b/dom/events/test/test_bug613634.html @@ -0,0 +1,90 @@ + + + + + Test for Bug 613634 + + + + +Mozilla Bug 613634 +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug615597.html b/dom/events/test/test_bug615597.html new file mode 100644 index 000000000..4f0eaeecf --- /dev/null +++ b/dom/events/test/test_bug615597.html @@ -0,0 +1,39 @@ + + + + + Test for Bug 615597 + + + + +Mozilla Bug 615597 +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug617528.xul b/dom/events/test/test_bug617528.xul new file mode 100644 index 000000000..83038b36b --- /dev/null +++ b/dom/events/test/test_bug617528.xul @@ -0,0 +1,95 @@ + + + + + + + + diff --git a/dom/events/test/test_bug624127.html b/dom/events/test/test_bug624127.html new file mode 100644 index 000000000..269e1f62d --- /dev/null +++ b/dom/events/test/test_bug624127.html @@ -0,0 +1,35 @@ + + + Test for Bug 624127 + + + + + +

      + +
      +
      +
      + +

      Normal text

      + +

      Normal text

      + + + diff --git a/dom/events/test/test_bug635465.html b/dom/events/test/test_bug635465.html new file mode 100644 index 000000000..7bd0db2be --- /dev/null +++ b/dom/events/test/test_bug635465.html @@ -0,0 +1,90 @@ + + + + + + Test for Bug 635465 + + + + + + +Mozilla Bug 635465 +
      + +
      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug641477.html b/dom/events/test/test_bug641477.html new file mode 100644 index 000000000..2fdc43a5c --- /dev/null +++ b/dom/events/test/test_bug641477.html @@ -0,0 +1,37 @@ + + + + + Test for Bug 641477 + + + + +Mozilla Bug 641477 +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug648573.html b/dom/events/test/test_bug648573.html new file mode 100644 index 000000000..0a4a9e7e3 --- /dev/null +++ b/dom/events/test/test_bug648573.html @@ -0,0 +1,109 @@ + + + + + + + Test for Bug 648573 + + + + + Mozilla Bug 648573 +

      + +
      +      
      +    
      + + diff --git a/dom/events/test/test_bug650493.html b/dom/events/test/test_bug650493.html new file mode 100644 index 000000000..60a32d56e --- /dev/null +++ b/dom/events/test/test_bug650493.html @@ -0,0 +1,215 @@ + + + + + Test for Bug 650493 + + + + +Mozilla Bug 650493 +

      + +
      +
      +
      +
      +
      diff --git a/dom/events/test/test_bug656379-1.html b/dom/events/test/test_bug656379-1.html
      new file mode 100644
      index 000000000..bc92189e2
      --- /dev/null
      +++ b/dom/events/test/test_bug656379-1.html
      @@ -0,0 +1,30 @@
      +
      +
      +
      +
      +  Test for Bug 656379
      +  
      +  
      +  
      +  
      +
      +
      +
      +
      +
      +
      + + + diff --git a/dom/events/test/test_bug656379-2.html b/dom/events/test/test_bug656379-2.html new file mode 100644 index 000000000..d53abce41 --- /dev/null +++ b/dom/events/test/test_bug656379-2.html @@ -0,0 +1,83 @@ + + + + + Test for Bug 656379 + + + + + + +Mozilla Bug 656379 +

      + + + +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug656954.html b/dom/events/test/test_bug656954.html new file mode 100644 index 000000000..c4fd29e04 --- /dev/null +++ b/dom/events/test/test_bug656954.html @@ -0,0 +1,42 @@ + + + + + Test for Bug 656954 + + + + +Mozilla Bug 656954 +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug659071.html b/dom/events/test/test_bug659071.html new file mode 100644 index 000000000..9a40c525c --- /dev/null +++ b/dom/events/test/test_bug659071.html @@ -0,0 +1,39 @@ + + + + + Test for Bug 659071 + + + + + + +Mozilla Bug 659071 +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug659350.html b/dom/events/test/test_bug659350.html new file mode 100644 index 000000000..0d566c0b1 --- /dev/null +++ b/dom/events/test/test_bug659350.html @@ -0,0 +1,111 @@ + + + + + Test for Bug 659350 + + + + +Mozilla Bug 659350 +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug662678.html b/dom/events/test/test_bug662678.html new file mode 100644 index 000000000..d543f9b96 --- /dev/null +++ b/dom/events/test/test_bug662678.html @@ -0,0 +1,153 @@ + + + + + Test for Bug 662678 + + + + +Mozilla Bug 662678 +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug667612.html b/dom/events/test/test_bug667612.html new file mode 100644 index 000000000..b5d4fe88b --- /dev/null +++ b/dom/events/test/test_bug667612.html @@ -0,0 +1,39 @@ + + + + + Test for Bug 667612 + + + + + +Mozilla Bug 667612 +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug667919-1.html b/dom/events/test/test_bug667919-1.html new file mode 100644 index 000000000..56643ae01 --- /dev/null +++ b/dom/events/test/test_bug667919-1.html @@ -0,0 +1,41 @@ + + + + + Test for Bug 615597 + + + + +Mozilla Bug 615597 +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug679494.xul b/dom/events/test/test_bug679494.xul new file mode 100644 index 000000000..0239fbb02 --- /dev/null +++ b/dom/events/test/test_bug679494.xul @@ -0,0 +1,36 @@ + + + + + + + + + diff --git a/dom/events/test/test_bug684208.html b/dom/events/test/test_bug684208.html new file mode 100644 index 000000000..f8aa2f575 --- /dev/null +++ b/dom/events/test/test_bug684208.html @@ -0,0 +1,80 @@ + + + + + + Test for Bug 684208 + + + + + +Mozilla Bug 684208 +

      + +
      +
      + + diff --git a/dom/events/test/test_bug687787.html b/dom/events/test/test_bug687787.html new file mode 100644 index 000000000..137e2a1eb --- /dev/null +++ b/dom/events/test/test_bug687787.html @@ -0,0 +1,617 @@ + + + + + Test for Bug 687787 + + + + + +Mozilla Bug 687787 +

      + + +
      +
      +
      + + diff --git a/dom/events/test/test_bug689564.html b/dom/events/test/test_bug689564.html new file mode 100644 index 000000000..e6b4f3764 --- /dev/null +++ b/dom/events/test/test_bug689564.html @@ -0,0 +1,65 @@ + + + + + Test for Bug 689564 + + + + +Mozilla Bug 689564 +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug698929.html b/dom/events/test/test_bug698929.html new file mode 100644 index 000000000..03c2ff081 --- /dev/null +++ b/dom/events/test/test_bug698929.html @@ -0,0 +1,47 @@ + + + + + Test for Bug 698929 + + + + +Mozilla Bug 698929 +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug704423.html b/dom/events/test/test_bug704423.html new file mode 100644 index 000000000..282745477 --- /dev/null +++ b/dom/events/test/test_bug704423.html @@ -0,0 +1,40 @@ + + + + + Test for Bug 704423 + + + + + +Mozilla Bug 704423 +

      +
      +
      +
      + + diff --git a/dom/events/test/test_bug741666.html b/dom/events/test/test_bug741666.html new file mode 100644 index 000000000..41d6c8321 --- /dev/null +++ b/dom/events/test/test_bug741666.html @@ -0,0 +1,176 @@ + + + + + Test for Bug 741666 + + + + +Mozilla Bug 741666 +

      + +
      +
      +
      +
      + testTarget +
      + + diff --git a/dom/events/test/test_bug742376.html b/dom/events/test/test_bug742376.html new file mode 100644 index 000000000..7672ea014 --- /dev/null +++ b/dom/events/test/test_bug742376.html @@ -0,0 +1,74 @@ + + + + + Test for Bug 742376 + + + + + + +Mozilla Bug 742376 + +
      + + + diff --git a/dom/events/test/test_bug812744.html b/dom/events/test/test_bug812744.html new file mode 100644 index 000000000..aac2435f7 --- /dev/null +++ b/dom/events/test/test_bug812744.html @@ -0,0 +1,38 @@ + + + + + + Test for Bug 812744 + + + + +Mozilla Bug 812744 +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug822898.html b/dom/events/test/test_bug822898.html new file mode 100644 index 000000000..2ac0a6572 --- /dev/null +++ b/dom/events/test/test_bug822898.html @@ -0,0 +1,350 @@ + + + + + Test for Bug 822898 + + + + +Mozilla Bug 822898 +

      + +
      +
      +
      +
      + testTarget +
      + + diff --git a/dom/events/test/test_bug855741.html b/dom/events/test/test_bug855741.html new file mode 100644 index 000000000..d7707e220 --- /dev/null +++ b/dom/events/test/test_bug855741.html @@ -0,0 +1,90 @@ + + + + + Test for Bug 855741 + + + + + +

      + + +
      +
      +
      + + diff --git a/dom/events/test/test_bug864040.html b/dom/events/test/test_bug864040.html new file mode 100644 index 000000000..774e1e3ca --- /dev/null +++ b/dom/events/test/test_bug864040.html @@ -0,0 +1,87 @@ + + + + + + Test for Bug 864040 + + + + + + +Mozilla Bug 864040 +
      + +
      +
      + +
      +  
      +
      + + diff --git a/dom/events/test/test_bug924087.html b/dom/events/test/test_bug924087.html new file mode 100644 index 000000000..59fc81f5d --- /dev/null +++ b/dom/events/test/test_bug924087.html @@ -0,0 +1,45 @@ + + + + + Test for Bug 924087 + + + + + + +non-editable link + + +
      +
      +
      + + + diff --git a/dom/events/test/test_bug930374-chrome.html b/dom/events/test/test_bug930374-chrome.html new file mode 100644 index 000000000..291a98ca1 --- /dev/null +++ b/dom/events/test/test_bug930374-chrome.html @@ -0,0 +1,58 @@ + + + + + + Test for Bug 930374 + + + + + +Mozilla Bug 930374 +
      + +
      + +
      +  
      +
      + + diff --git a/dom/events/test/test_bug930374-content.html b/dom/events/test/test_bug930374-content.html new file mode 100644 index 000000000..73654bf04 --- /dev/null +++ b/dom/events/test/test_bug930374-content.html @@ -0,0 +1,72 @@ + + + + + + Test for Bug 930374 + + + + + +Mozilla Bug 930374 +
      + +
      + +
      +  
      +
      + + diff --git a/dom/events/test/test_bug944011.html b/dom/events/test/test_bug944011.html new file mode 100644 index 000000000..eab74ee32 --- /dev/null +++ b/dom/events/test/test_bug944011.html @@ -0,0 +1,52 @@ + + + + + + Test for Bug 944011 + + + + + +Mozilla Bug 944011 +

      + +
      +
      + + diff --git a/dom/events/test/test_bug944847.html b/dom/events/test/test_bug944847.html new file mode 100644 index 000000000..105c0d5c9 --- /dev/null +++ b/dom/events/test/test_bug944847.html @@ -0,0 +1,42 @@ + + + + + + Test for Bug 944847 + + + + + +Mozilla Bug 944847 +

      + +
      +
      + + diff --git a/dom/events/test/test_bug946632.html b/dom/events/test/test_bug946632.html new file mode 100644 index 000000000..3ef7b815f --- /dev/null +++ b/dom/events/test/test_bug946632.html @@ -0,0 +1,161 @@ + + + + + Test for bug 946632 - propagate mouse-wheel vertical scroll events to container + + + + + + + +Mozilla Bug 946632 +

      +
      + + x
      x
      x
      x
      x
      x
      x
      x
      x
      x
      x
      x
      x
      x
      x
      x
      x
      x
      + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +
      + +
      +
      +
      + + diff --git a/dom/events/test/test_bug967796.html b/dom/events/test/test_bug967796.html new file mode 100644 index 000000000..cf1996a45 --- /dev/null +++ b/dom/events/test/test_bug967796.html @@ -0,0 +1,235 @@ + + + + + Test for Bug 967796 + + + + + +Mozilla Bug 967796 +

      + +
      +
      +
      +
      +
      foo
      +
      +
      +
      foo
      +
      +
      + +
      + +
      + + diff --git a/dom/events/test/test_bug985988.html b/dom/events/test/test_bug985988.html new file mode 100644 index 000000000..1939e52a6 --- /dev/null +++ b/dom/events/test/test_bug985988.html @@ -0,0 +1,76 @@ + + + + + + Test for Bug 985988 + + + + + +Mozilla Bug 985988 +

      + +test target +
      +
      + + diff --git a/dom/events/test/test_bug998809.html b/dom/events/test/test_bug998809.html new file mode 100644 index 000000000..08499d2c7 --- /dev/null +++ b/dom/events/test/test_bug998809.html @@ -0,0 +1,35 @@ + + + + + + Test for Bug 998809 + + + + + +Mozilla Bug 998809 +

      + +
      +
      + + diff --git a/dom/events/test/test_clickevent_on_input.html b/dom/events/test/test_clickevent_on_input.html new file mode 100644 index 000000000..07fe6ade6 --- /dev/null +++ b/dom/events/test/test_clickevent_on_input.html @@ -0,0 +1,111 @@ + + + + Test click event on input + + + + + +

      + +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_continuous_wheel_events.html b/dom/events/test/test_continuous_wheel_events.html new file mode 100644 index 000000000..fc8c69390 --- /dev/null +++ b/dom/events/test/test_continuous_wheel_events.html @@ -0,0 +1,3248 @@ + + + + Test for D3E WheelEvent + + + + + + +

      +
      +
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      +
      +
      + +
      +
      +
      + + diff --git a/dom/events/test/test_dblclick_explicit_original_target.html b/dom/events/test/test_dblclick_explicit_original_target.html new file mode 100644 index 000000000..8aa5f5d4c --- /dev/null +++ b/dom/events/test/test_dblclick_explicit_original_target.html @@ -0,0 +1,33 @@ + + + + Test explicit original target of dblclick event + + + + + +

      Test explicit original target of dblclick event

      + +
      +
      +
      + + diff --git a/dom/events/test/test_dom_activate_event.html b/dom/events/test/test_dom_activate_event.html new file mode 100644 index 000000000..22e32d988 --- /dev/null +++ b/dom/events/test/test_dom_activate_event.html @@ -0,0 +1,89 @@ + + + + Test DOMActivate event + + + + + +

      +link + + + + + + +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_dom_before_after_keyboard_event.html b/dom/events/test/test_dom_before_after_keyboard_event.html new file mode 100644 index 000000000..533a7e73a --- /dev/null +++ b/dom/events/test/test_dom_before_after_keyboard_event.html @@ -0,0 +1,136 @@ + + + + Test for Bug 989198 + + + + + + + +Mozilla Bug 989198 +

      +
      +
      +
      +
      diff --git a/dom/events/test/test_dom_before_after_keyboard_event_remote.html b/dom/events/test/test_dom_before_after_keyboard_event_remote.html
      new file mode 100644
      index 000000000..b82b102a9
      --- /dev/null
      +++ b/dom/events/test/test_dom_before_after_keyboard_event_remote.html
      @@ -0,0 +1,195 @@
      +
      +
      +
      +  Test for Bug 989198
      +  
      +  
      +  
      +  
      +  
      +
      +
      +Mozilla Bug 989198
      +

      +
      +
      +
      +
      +
      +
      diff --git a/dom/events/test/test_dom_keyboard_event.html b/dom/events/test/test_dom_keyboard_event.html
      new file mode 100644
      index 000000000..e85065904
      --- /dev/null
      +++ b/dom/events/test/test_dom_keyboard_event.html
      @@ -0,0 +1,306 @@
      +
      +
      +
      +  Test for DOM KeyboardEvent
      +  
      +  
      +  
      +
      +
      +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_dom_mouse_event.html b/dom/events/test/test_dom_mouse_event.html new file mode 100644 index 000000000..d1433eb35 --- /dev/null +++ b/dom/events/test/test_dom_mouse_event.html @@ -0,0 +1,143 @@ + + + + Test for DOM MouseEvent + + + + +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_dom_storage_event.html b/dom/events/test/test_dom_storage_event.html new file mode 100644 index 000000000..4ac967dfe --- /dev/null +++ b/dom/events/test/test_dom_storage_event.html @@ -0,0 +1,62 @@ + + + + Test for DOM StorageEvent + + + + +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_dom_wheel_event.html b/dom/events/test/test_dom_wheel_event.html new file mode 100644 index 000000000..043eaa06c --- /dev/null +++ b/dom/events/test/test_dom_wheel_event.html @@ -0,0 +1,811 @@ + + + + Test for D3E WheelEvent + + + + + + +

      +
      +
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      +
      +
      + +
      +
      +
      + + diff --git a/dom/events/test/test_draggableprop.html b/dom/events/test/test_draggableprop.html new file mode 100644 index 000000000..7a5b5914d --- /dev/null +++ b/dom/events/test/test_draggableprop.html @@ -0,0 +1,89 @@ + + + Tests for the draggable property on HTML elements + + + + +

      + + +One +Two +Three +Four +Five + + + + + + + +One +Two +Three +Four +Five + +One +Two +Three +Four +Five + + + + + + + diff --git a/dom/events/test/test_dragstart.html b/dom/events/test/test_dragstart.html new file mode 100644 index 000000000..3c76d4f16 --- /dev/null +++ b/dom/events/test/test_dragstart.html @@ -0,0 +1,585 @@ + + + Tests for the dragstart event + + + + + + + + + + + + +
      This is a draggable bit of text.
      + +
      +mozilla.org +
      + + + + + +
      +
      + This is a draggable area. +
      +
      + This is a non-draggable area. +
      +
      + + + +
      Synthetic Event Dispatch
      +
      Synthetic Event Dispatch
      + + + diff --git a/dom/events/test/test_error_events.html b/dom/events/test/test_error_events.html new file mode 100644 index 000000000..62cbb68de --- /dev/null +++ b/dom/events/test/test_error_events.html @@ -0,0 +1,72 @@ + + +Test for error events being ErrorEvent + + +
      + + + diff --git a/dom/events/test/test_eventTimeStamp.html b/dom/events/test/test_eventTimeStamp.html new file mode 100644 index 000000000..a3d096432 --- /dev/null +++ b/dom/events/test/test_eventTimeStamp.html @@ -0,0 +1,121 @@ + + + + + + Test for Event.timeStamp (Bug 77992) + + + + +Mozilla Bug 77992 +

      +
      +
      +
      +
      +
      + + diff --git a/dom/events/test/test_eventctors.html b/dom/events/test/test_eventctors.html new file mode 100644 index 000000000..a18c2a5ed --- /dev/null +++ b/dom/events/test/test_eventctors.html @@ -0,0 +1,953 @@ + + + + + Test for Bug 675884 + + + + +Mozilla Bug 675884 +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_eventctors.xul b/dom/events/test/test_eventctors.xul new file mode 100644 index 000000000..ba3c81c8a --- /dev/null +++ b/dom/events/test/test_eventctors.xul @@ -0,0 +1,49 @@ + + + + + + + diff --git a/dom/events/test/test_eventhandler_scoping.html b/dom/events/test/test_eventhandler_scoping.html new file mode 100644 index 000000000..f15238a0c --- /dev/null +++ b/dom/events/test/test_eventhandler_scoping.html @@ -0,0 +1,17 @@ + + +Test for event handler scoping + + +
      + diff --git a/dom/events/test/test_focus_disabled.html b/dom/events/test/test_focus_disabled.html new file mode 100644 index 000000000..52748226a --- /dev/null +++ b/dom/events/test/test_focus_disabled.html @@ -0,0 +1,125 @@ + + + + + + Test for Bug 375008 + + + + + +Mozilla Bug 375008 +

      +
      +
      + + + + + + + + +
      + +
      + + + + + + + + + +
      + + + + +
      + +
      + +
      +
      +
      +
      + + diff --git a/dom/events/test/test_legacy_event.html b/dom/events/test/test_legacy_event.html new file mode 100644 index 000000000..d772be106 --- /dev/null +++ b/dom/events/test/test_legacy_event.html @@ -0,0 +1,304 @@ + + + + + + Test for Bug 1236979 (events that have legacy alternative versions) + + + + + +Mozilla Bug 1236979 +

      + +
      +
      +
      + + diff --git a/dom/events/test/test_messageEvent.html b/dom/events/test/test_messageEvent.html new file mode 100644 index 000000000..0402649af --- /dev/null +++ b/dom/events/test/test_messageEvent.html @@ -0,0 +1,79 @@ + + + + + + Test for Bug 848294 + + + + + + + + + diff --git a/dom/events/test/test_messageEvent_init.html b/dom/events/test/test_messageEvent_init.html new file mode 100644 index 000000000..0e015b3be --- /dev/null +++ b/dom/events/test/test_messageEvent_init.html @@ -0,0 +1,25 @@ + +Test for bug 1308956 + + + + + + + + diff --git a/dom/events/test/test_moz_mouse_pixel_scroll_event.html b/dom/events/test/test_moz_mouse_pixel_scroll_event.html new file mode 100644 index 000000000..c2919ce44 --- /dev/null +++ b/dom/events/test/test_moz_mouse_pixel_scroll_event.html @@ -0,0 +1,1363 @@ + + + + Test for MozMousePixelScroll events + + + + + + + +

      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      +
      + + diff --git a/dom/events/test/test_offsetxy.html b/dom/events/test/test_offsetxy.html new file mode 100644 index 000000000..849b1ea67 --- /dev/null +++ b/dom/events/test/test_offsetxy.html @@ -0,0 +1,98 @@ + + + + Test for DOM MouseEvent offsetX/Y + + + + +

      + +
      +
      + +
      + +
      +
      +
      + + diff --git a/dom/events/test/test_onerror_handler_args.html b/dom/events/test/test_onerror_handler_args.html new file mode 100644 index 000000000..629434814 --- /dev/null +++ b/dom/events/test/test_onerror_handler_args.html @@ -0,0 +1,36 @@ + + + + + + Test for Bug 1007790 + + + + + +Mozilla Bug 1007790 +

      + +
      +
      + + diff --git a/dom/events/test/test_passive_listeners.html b/dom/events/test/test_passive_listeners.html new file mode 100644 index 000000000..d55d16a5f --- /dev/null +++ b/dom/events/test/test_passive_listeners.html @@ -0,0 +1,118 @@ + + + Tests for passive event listeners + + + + +

      +
      +
      + + + + + + + diff --git a/dom/events/test/test_paste_image.html b/dom/events/test/test_paste_image.html new file mode 100644 index 000000000..716fafeaf --- /dev/null +++ b/dom/events/test/test_paste_image.html @@ -0,0 +1,196 @@ + +Test for bug 891247 + + + + + + + +
      + +
      + + diff --git a/dom/events/test/test_wheel_default_action.html b/dom/events/test/test_wheel_default_action.html new file mode 100644 index 000000000..5ead8be63 --- /dev/null +++ b/dom/events/test/test_wheel_default_action.html @@ -0,0 +1,39 @@ + + + + Test for default action of WheelEvent + + + + + +

      + +
      +
      +
      + + diff --git a/dom/events/test/window_bug493251.html b/dom/events/test/window_bug493251.html new file mode 100644 index 000000000..d2891a9ef --- /dev/null +++ b/dom/events/test/window_bug493251.html @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/dom/events/test/window_bug617528.xul b/dom/events/test/window_bug617528.xul new file mode 100644 index 000000000..fc87f9d78 --- /dev/null +++ b/dom/events/test/window_bug617528.xul @@ -0,0 +1,9 @@ + + + + + + + diff --git a/dom/events/test/window_bug659071.html b/dom/events/test/window_bug659071.html new file mode 100644 index 000000000..5fb2efed4 --- /dev/null +++ b/dom/events/test/window_bug659071.html @@ -0,0 +1,69 @@ + + + + Test for Bug 659071 + + + + + + + + + diff --git a/dom/events/test/window_wheel_default_action.html b/dom/events/test/window_wheel_default_action.html new file mode 100644 index 000000000..fa6abf188 --- /dev/null +++ b/dom/events/test/window_wheel_default_action.html @@ -0,0 +1,1848 @@ + + + + Test for default action of WheelEvent + + + + + + +

      +
      +
      +
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      + Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
      +
      +
      +
      +
      + +
      +
      +
      + + -- cgit v1.2.3