blob: 91b375a998c8f11fb460f8c8e5e6fe0df49d9205 [file] [log] [blame]
<!DOCTYPE html>
<title>HitRegion Canvas Fallback Element Test</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="./resources/test-helpers.js"></script>
<canvas width="400" height="400">
<a id="a"></a>
<a id="a_with_image"><img></a>
<button id="button"></button>
<input id="checkbox" type="checkbox">
<input id="radio" type="radio">
<input id="input_button" type="button">
<input id="input_image_button" type="image">
<select id="empty_select"></select>
<select id="select_size_greater_than_1" size="2"></select>
<select id="select_multiple" multiple="multiple"></select>
<select>
<option id="option_with_select"></option>
</select>
<select multiple="multiple">
<option id="option_with_select_multiple"></option>
</select>
<select size="2">
<option id="option_with_select_size_greater_than_1"></option>
</select>
<p id="p"></p>
<p id="p_with_tabindex" tabindex="0"></p>
<table>
<caption></caption>
<thead><tr><th></th></tr></thead>
<tfoot><tr><td></td></tr></tfoot>
<tbody><tr><td></td></tr></tbody>
</table>
</canvas>
<button id="button_is_not_descendant_of_canvas"></button>
<style>
body {
margin : 0px;
padding : 0px;
}
</style>
<script>
function canvas_fallback_test(element, expected) {
test(function() {
var canvas = document.querySelector('canvas');
var context = canvas.getContext('2d');
context.clearRect(0, 0, 400, 400);
context.rect(0, 0, 100, 100);
if (expected) {
assert_throws(expected, function() {
context.addHitRegion({ control : element });
});
} else {
context.addHitRegion({ control : element });
}
}, element.id);
}
const NotSupportedError = { name : 'NotSupportedError' };
canvas_fallback_test(document.querySelector('canvas table'));
canvas_fallback_test(document.querySelector('canvas tr'));
canvas_fallback_test(document.querySelector('canvas th'));
canvas_fallback_test(document.querySelector('canvas td'));
canvas_fallback_test(document.querySelector('canvas thead'));
canvas_fallback_test(document.querySelector('canvas tfoot'));
canvas_fallback_test(document.querySelector('canvas tbody'));
canvas_fallback_test(document.querySelector('canvas caption'));
</script>