| <!DOCTYPE html> |
| |
| <html> |
| |
| <head> |
| <title>Cobalt pointer event test on cropped element</title> |
| <script src='black_box_js_test_utils.js'></script> |
| <script src='pointer_event_test_utils.js'></script> |
| <style> |
| #upper_element { |
| position: absolute; |
| background-color: blue; |
| height: 10rem; |
| width: 200px; |
| top: 250px; |
| } |
| |
| #lower_element { |
| position: absolute; |
| background-color: red; |
| height: 10rem; |
| width: 200px; |
| top: 280px; |
| } |
| </style> |
| </head> |
| |
| <body> |
| <div class="list"> |
| <div id="upper_element" class="upper_element"></div> |
| <div id="lower_element" class="lower_element"></div> |
| </div> |
| <div id="end" class="end">End</div> |
| <script> |
| const expected_events = [ |
| // actions.move_to_element(lower_element).pause(_SLEEP_AFTER_MOVE_TIME) |
| { name: 'pointermove', id: 'lower_element', phase: Event.AT_TARGET }, |
| // actions.click() |
| { name: 'pointerdown', id: 'lower_element', phase: Event.AT_TARGET }, |
| { name: 'pointerup', id: 'lower_element', phase: Event.AT_TARGET }, |
| // actions.move_to_element_with_offset(upper_element, 5, 5).pause(_SLEEP_AFTER_MOVE_TIME) |
| { name: 'pointermove', id: 'upper_element', phase: Event.AT_TARGET }, |
| // actions.click() |
| { name: 'pointerdown', id: 'upper_element', phase: Event.AT_TARGET }, |
| { name: 'pointerup', id: 'upper_element', phase: Event.AT_TARGET }, |
| // actions.move_to_element(upper_element).pause(_SLEEP_AFTER_MOVE_TIME) |
| // No pointer event on cropper element. |
| { name: 'pointermove', id: 'lower_element', phase: Event.AT_TARGET }, |
| // actions.click() |
| { name: 'pointerdown', id: 'lower_element', phase: Event.AT_TARGET }, |
| { name: 'pointerup', id: 'lower_element', phase: Event.AT_TARGET }, |
| ]; |
| |
| function endTest(e) { |
| assertTrue(failure_count === 0); |
| onEndTest(); |
| } |
| |
| function setAllHandlers(prefix, selector, callback) { |
| setHandlers(prefix + 'down', selector, callback); |
| setHandlers(prefix + 'up', selector, callback); |
| setHandlers(prefix + 'move', selector, callback); |
| setHandlers(prefix + 'cancel', selector, callback); |
| } |
| |
| window.onload = () => { |
| setAllHandlers('pointer', '#upper_element', logEvent); |
| setAllHandlers('pointer', '#lower_element', logEvent); |
| setHandlers('click', '#end', endTest); |
| setupFinished(); |
| } |
| </script> |
| </body> |
| |
| |
| </html> |