| <!DOCTYPE html> |
| <title>Tests that desynchronized Canvas getContext() calls are idempotent.</title> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script> |
| test(function() { |
| canvas = document.createElement('canvas'); |
| var ctx_2d = canvas.getContext('2d', {desynchronized : true}); |
| assert_true(ctx_2d instanceof CanvasRenderingContext2D); |
| assert_true(ctx_2d.getContextAttributes().desynchronized); |
| |
| var ctx_2d_second = canvas.getContext('2d', {desynchronized : true}); |
| assert_equals(ctx_2d, ctx_2d_second); |
| |
| var ctx_2d_third = canvas.getContext('2d'); |
| assert_equals(ctx_2d, ctx_2d_third); |
| }, '2D Canvas getContext() is idempotent'); |
| |
| test(function() { |
| canvas = document.createElement('canvas'); |
| var ctx_3d = canvas.getContext('webgl', {desynchronized : true}); |
| assert_true(ctx_3d instanceof WebGLRenderingContext); |
| assert_true(ctx_3d.getContextAttributes().desynchronized); |
| |
| var ctx_3d_second = canvas.getContext('webgl', {desynchronized : true}); |
| assert_equals(ctx_3d, ctx_3d_second); |
| |
| var ctx_3d_third = canvas.getContext('webgl'); |
| assert_equals(ctx_3d, ctx_3d_third); |
| }, 'WebGL Canvas getContext() is idempotent'); |
| </script> |