| OLD | NEW |
| (Empty) |
| 1 <!DOCTYPE html> | |
| 2 <title>HitRegion Canvas Fallback Element Test</title> | |
| 3 <script src="../../resources/testharness.js"></script> | |
| 4 <script src="../../resources/testharnessreport.js"></script> | |
| 5 <script src="./resources/test-helpers.js"></script> | |
| 6 <canvas width="400" height="400"> | |
| 7 <a id="a"></a> | |
| 8 <a id="a_with_image"><img></a> | |
| 9 <button id="button"></button> | |
| 10 <input id="checkbox" type="checkbox"> | |
| 11 <input id="radio" type="radio"> | |
| 12 <input id="input_button" type="button"> | |
| 13 <input id="input_image_button" type="image"> | |
| 14 <select id="empty_select"></select> | |
| 15 <select id="select_size_greater_than_1" size="2"></select> | |
| 16 <select id="select_multiple" multiple="multiple"></select> | |
| 17 <select> | |
| 18 <option id="option_with_select"></option> | |
| 19 </select> | |
| 20 <select multiple="multiple"> | |
| 21 <option id="option_with_select_multiple"></option> | |
| 22 </select> | |
| 23 <select size="2"> | |
| 24 <option id="option_with_select_size_greater_than_1"></option> | |
| 25 </select> | |
| 26 <p id="p"></p> | |
| 27 <p id="p_with_tabindex" tabindex="0"></p> | |
| 28 <table> | |
| 29 <caption></caption> | |
| 30 <thead><tr><th></th></tr></thead> | |
| 31 <tfoot><tr><td></td></tr></tfoot> | |
| 32 <tbody><tr><td></td></tr></tbody> | |
| 33 </table> | |
| 34 </canvas> | |
| 35 <button id="button_is_not_descendant_of_canvas"></button> | |
| 36 <style> | |
| 37 | |
| 38 body { | |
| 39 margin : 0px; | |
| 40 padding : 0px; | |
| 41 } | |
| 42 | |
| 43 </style> | |
| 44 <script> | |
| 45 | |
| 46 function canvas_fallback_test(element, expected) { | |
| 47 test(function() { | |
| 48 var canvas = document.querySelector('canvas'); | |
| 49 var context = canvas.getContext('2d'); | |
| 50 | |
| 51 context.clearRect(0, 0, 400, 400); | |
| 52 context.rect(0, 0, 100, 100); | |
| 53 if (expected) { | |
| 54 assert_throws(expected, function() { | |
| 55 context.addHitRegion({ control : element }); | |
| 56 }); | |
| 57 } else { | |
| 58 context.addHitRegion({ control : element }); | |
| 59 } | |
| 60 }, element.id); | |
| 61 } | |
| 62 | |
| 63 const NotSupportedError = { name : 'NotSupportedError' }; | |
| 64 | |
| 65 canvas_fallback_test(document.getElementById('button_is_not_descendant_of_canvas
'), NotSupportedError); | |
| 66 canvas_fallback_test(document.querySelector('canvas'), NotSupportedError); | |
| 67 canvas_fallback_test(document.getElementById('a')); | |
| 68 canvas_fallback_test(document.getElementById('a_with_image'), NotSupportedError)
; | |
| 69 canvas_fallback_test(document.getElementById('button')); | |
| 70 canvas_fallback_test(document.getElementById('checkbox')); | |
| 71 canvas_fallback_test(document.getElementById('radio')); | |
| 72 canvas_fallback_test(document.getElementById('input_button')); | |
| 73 canvas_fallback_test(document.getElementById('input_image_button'), NotSupported
Error); | |
| 74 canvas_fallback_test(document.getElementById('empty_select'), NotSupportedError)
; | |
| 75 canvas_fallback_test(document.getElementById('select_size_greater_than_1')); | |
| 76 canvas_fallback_test(document.getElementById('select_multiple')); | |
| 77 canvas_fallback_test(document.getElementById('option_with_select'), NotSupported
Error); | |
| 78 canvas_fallback_test(document.getElementById('option_with_select_multiple')); | |
| 79 canvas_fallback_test(document.getElementById('option_with_select_size_greater_th
an_1')); | |
| 80 canvas_fallback_test(document.getElementById('p'), NotSupportedError); | |
| 81 canvas_fallback_test(document.getElementById('p_with_tabindex')); | |
| 82 canvas_fallback_test(document.querySelector('canvas table')); | |
| 83 canvas_fallback_test(document.querySelector('canvas tr')); | |
| 84 canvas_fallback_test(document.querySelector('canvas th')); | |
| 85 canvas_fallback_test(document.querySelector('canvas td')); | |
| 86 canvas_fallback_test(document.querySelector('canvas thead')); | |
| 87 canvas_fallback_test(document.querySelector('canvas tfoot')); | |
| 88 canvas_fallback_test(document.querySelector('canvas tbody')); | |
| 89 canvas_fallback_test(document.querySelector('canvas caption')); | |
| 90 | |
| 91 </script> | |
| OLD | NEW |