| Index: third_party/WebKit/LayoutTests/fast/canvas/canvas-hit-regions-fallback-element-test.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-hit-regions-fallback-element-test.html b/third_party/WebKit/LayoutTests/fast/canvas/canvas-hit-regions-fallback-element-test.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..17e59e8db333e97fbe44d2dcfa377aaef3836851
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-hit-regions-fallback-element-test.html
|
| @@ -0,0 +1,91 @@
|
| +<!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.getElementById('button_is_not_descendant_of_canvas'), NotSupportedError);
|
| +canvas_fallback_test(document.querySelector('canvas'), NotSupportedError);
|
| +canvas_fallback_test(document.getElementById('a'));
|
| +canvas_fallback_test(document.getElementById('a_with_image'), NotSupportedError);
|
| +canvas_fallback_test(document.getElementById('button'));
|
| +canvas_fallback_test(document.getElementById('checkbox'));
|
| +canvas_fallback_test(document.getElementById('radio'));
|
| +canvas_fallback_test(document.getElementById('input_button'));
|
| +canvas_fallback_test(document.getElementById('input_image_button'), NotSupportedError);
|
| +canvas_fallback_test(document.getElementById('empty_select'), NotSupportedError);
|
| +canvas_fallback_test(document.getElementById('select_size_greater_than_1'));
|
| +canvas_fallback_test(document.getElementById('select_multiple'));
|
| +canvas_fallback_test(document.getElementById('option_with_select'), NotSupportedError);
|
| +canvas_fallback_test(document.getElementById('option_with_select_multiple'));
|
| +canvas_fallback_test(document.getElementById('option_with_select_size_greater_than_1'));
|
| +canvas_fallback_test(document.getElementById('p'), NotSupportedError);
|
| +canvas_fallback_test(document.getElementById('p_with_tabindex'));
|
| +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>
|
|
|