From d90953ade8f96bb0a3941300367279f3c6d826ef Mon Sep 17 00:00:00 2001 From: xlai-o Date: Wed, 22 Feb 2017 15:15:28 -0500 Subject: [PATCH 1/3] Adding filter and resize tests --- .../filter/offscreencanvas.filter-ref.html | 51 ++++ .../filter/offscreencanvas.filter.html | 56 +++++ .../filter/offscreencanvas.filter.w.html | 81 +++++++ .../offscreencanvas.resize.html | 217 ++++++++++++++++++ 4 files changed, 405 insertions(+) create mode 100644 offscreen-canvas/filter/offscreencanvas.filter-ref.html create mode 100644 offscreen-canvas/filter/offscreencanvas.filter.html create mode 100644 offscreen-canvas/filter/offscreencanvas.filter.w.html create mode 100644 offscreen-canvas/the-offscreen-canvas/offscreencanvas.resize.html diff --git a/offscreen-canvas/filter/offscreencanvas.filter-ref.html b/offscreen-canvas/filter/offscreencanvas.filter-ref.html new file mode 100644 index 000000000000000..de03258038b5d08 --- /dev/null +++ b/offscreen-canvas/filter/offscreencanvas.filter-ref.html @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + diff --git a/offscreen-canvas/filter/offscreencanvas.filter.html b/offscreen-canvas/filter/offscreencanvas.filter.html new file mode 100644 index 000000000000000..1b333f3f020b235 --- /dev/null +++ b/offscreen-canvas/filter/offscreencanvas.filter.html @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + diff --git a/offscreen-canvas/filter/offscreencanvas.filter.w.html b/offscreen-canvas/filter/offscreencanvas.filter.w.html new file mode 100644 index 000000000000000..e2272b17ccdfabe --- /dev/null +++ b/offscreen-canvas/filter/offscreencanvas.filter.w.html @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + diff --git a/offscreen-canvas/the-offscreen-canvas/offscreencanvas.resize.html b/offscreen-canvas/the-offscreen-canvas/offscreencanvas.resize.html new file mode 100644 index 000000000000000..20b364e84f12eba --- /dev/null +++ b/offscreen-canvas/the-offscreen-canvas/offscreencanvas.resize.html @@ -0,0 +1,217 @@ + +Test resizing an OffscreenCanvas with a 2d context + + + + + From a7aca261743f66391f49b62a8c03604ad1d88f7e Mon Sep 17 00:00:00 2001 From: xlai-o Date: Thu, 2 Mar 2017 11:25:02 -0500 Subject: [PATCH 2/3] Change the filter tests to non-reference tests --- .../filter/offscreencanvas.filter-ref.html | 51 ------ .../filter/offscreencanvas.filter.html | 68 +++----- .../filter/offscreencanvas.filter.js | 48 ++++++ .../filter/offscreencanvas.filter.w.html | 149 ++++++++++-------- .../filter/offscreencanvas.filter.w2.html | 53 +++++++ 5 files changed, 206 insertions(+), 163 deletions(-) delete mode 100644 offscreen-canvas/filter/offscreencanvas.filter-ref.html create mode 100644 offscreen-canvas/filter/offscreencanvas.filter.js create mode 100644 offscreen-canvas/filter/offscreencanvas.filter.w2.html diff --git a/offscreen-canvas/filter/offscreencanvas.filter-ref.html b/offscreen-canvas/filter/offscreencanvas.filter-ref.html deleted file mode 100644 index de03258038b5d08..000000000000000 --- a/offscreen-canvas/filter/offscreencanvas.filter-ref.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/offscreen-canvas/filter/offscreencanvas.filter.html b/offscreen-canvas/filter/offscreencanvas.filter.html index 1b333f3f020b235..56a5a5b06a07701 100644 --- a/offscreen-canvas/filter/offscreencanvas.filter.html +++ b/offscreen-canvas/filter/offscreencanvas.filter.html @@ -1,56 +1,26 @@ - - - - - - - - - - - - - - - + + diff --git a/offscreen-canvas/filter/offscreencanvas.filter.js b/offscreen-canvas/filter/offscreencanvas.filter.js new file mode 100644 index 000000000000000..a0ab85ca76cecd8 --- /dev/null +++ b/offscreen-canvas/filter/offscreencanvas.filter.js @@ -0,0 +1,48 @@ +var getRegularContextForFilter = function(filter, pattern) { + var c = document.createElement("canvas"); + c.width = c.height = 80; + var ctx = c.getContext('2d'); + ctx.filter = filter; + ctx.drawImage(pattern, 5, 5); + ctx.drawImage(pattern, 25, 25); + ctx.drawImage(pattern, 45, 45); + return ctx; +}; + +var matchImageDataResults = function(offscreenImage, regularImage, filter) { + assert_array_equals(offscreenImage, regularImage, + "The image data generated by filter " + + filter + + " should be the same for both OffscreenCanvas and regular canvas"); +}; + +var createPatternCanvas = function() { + var patternCanvas = document.createElement('canvas'); + patternCanvas.width = 20; + patternCanvas.height = 20; + var patternCtx = patternCanvas.getContext('2d'); + patternCtx.fillStyle = '#A00'; + patternCtx.fillRect(0, 0, 10, 10); + patternCtx.fillStyle = '#0A0'; + patternCtx.fillRect(10, 0, 10, 10); + patternCtx.fillStyle = '#00A'; + patternCtx.fillRect(0, 10, 10, 10); + patternCtx.fillStyle = "#AA0"; + patternCtx.fillRect(10, 10, 10, 10); + return patternCanvas; +}; + +var filters = [ "none" , + "blur(10px)" , + "brightness(40%)" , + "contrast(20%)" , + "drop-shadow(0 0 5px green)" , + "grayscale(100%)" , + "invert(100%)" , + "opacity(50%)" , + "saturate(20%)" , + "sepia(100%)" , + "sepia(1) hue-rotate(200deg)", + "url(#url)" ]; + + diff --git a/offscreen-canvas/filter/offscreencanvas.filter.w.html b/offscreen-canvas/filter/offscreencanvas.filter.w.html index e2272b17ccdfabe..5d04f357f526e63 100644 --- a/offscreen-canvas/filter/offscreencanvas.filter.w.html +++ b/offscreen-canvas/filter/offscreencanvas.filter.w.html @@ -1,81 +1,104 @@ - - - - - - - - - - - - - - - + + + diff --git a/offscreen-canvas/filter/offscreencanvas.filter.w2.html b/offscreen-canvas/filter/offscreencanvas.filter.w2.html new file mode 100644 index 000000000000000..bc655a3bf22befe --- /dev/null +++ b/offscreen-canvas/filter/offscreencanvas.filter.w2.html @@ -0,0 +1,53 @@ + + + + From ac07cdb9c18d16583eedc7789128b1282d7ee077 Mon Sep 17 00:00:00 2001 From: xlai-o Date: Fri, 3 Mar 2017 14:32:11 -0500 Subject: [PATCH 3/3] style --- .../filter/offscreencanvas.filter.html | 1 + .../filter/offscreencanvas.filter.js | 16 +-- .../filter/offscreencanvas.filter.w.html | 112 +++++------------- .../filter/offscreencanvas.filter.w2.html | 53 --------- .../offscreencanvas.resize.html | 24 ++-- 5 files changed, 52 insertions(+), 154 deletions(-) delete mode 100644 offscreen-canvas/filter/offscreencanvas.filter.w2.html diff --git a/offscreen-canvas/filter/offscreencanvas.filter.html b/offscreen-canvas/filter/offscreencanvas.filter.html index 56a5a5b06a07701..25691983f1e1027 100644 --- a/offscreen-canvas/filter/offscreencanvas.filter.html +++ b/offscreen-canvas/filter/offscreencanvas.filter.html @@ -1,4 +1,5 @@ + + + - - diff --git a/offscreen-canvas/filter/offscreencanvas.filter.w2.html b/offscreen-canvas/filter/offscreencanvas.filter.w2.html deleted file mode 100644 index bc655a3bf22befe..000000000000000 --- a/offscreen-canvas/filter/offscreencanvas.filter.w2.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - diff --git a/offscreen-canvas/the-offscreen-canvas/offscreencanvas.resize.html b/offscreen-canvas/the-offscreen-canvas/offscreencanvas.resize.html index 20b364e84f12eba..2906f8069b3b170 100644 --- a/offscreen-canvas/the-offscreen-canvas/offscreencanvas.resize.html +++ b/offscreen-canvas/the-offscreen-canvas/offscreencanvas.resize.html @@ -22,7 +22,7 @@ assert_equals(canvas.height, 40); var image = canvas.transferToImageBitmap(); assert_equals(image.width, 30); - assert_equals(image.height, 40); + assert_equals(image.height, 40); }, "Verify that writing to the width and height attributes of an OffscreenCanvas works when there is a 2d context attached."); test(function() { @@ -34,7 +34,7 @@ assert_equals(canvas.height, 40); var image = canvas.transferToImageBitmap(); assert_equals(image.width, 30); - assert_equals(image.height, 40); + assert_equals(image.height, 40); }, "Verify that writing to the width and height attributes of an OffscreenCanvas works when there is a webgl context attached."); test(function() { @@ -79,7 +79,7 @@ t.step(function() { // Verify that setting the size of an OffscreenCanvas does not directly update the size of its placeholder canvas. assert_equals(placeholder.width, 10); - assert_equals(placeholder.height, 20); + assert_equals(placeholder.height, 20); }); var asyncStepsCompleted = 0; ctx.commit(); @@ -87,7 +87,7 @@ t.step(function() { // Verify that the placeholder was not updated synchronously. assert_equals(image.width, 10); - assert_equals(image.height, 20); + assert_equals(image.height, 20); }); asyncStepsCompleted = asyncStepsCompleted + 1; if (asyncStepsCompleted == 2) { @@ -99,20 +99,20 @@ t.step(function() { // Verify that commit() asynchronously updates the size of its placeholder canvas. assert_equals(placeholder.width, 10); - assert_equals(placeholder.height, 20); + assert_equals(placeholder.height, 20); }); t.step(function() { // Verify that width/height attributes are still settable even though they have no effect. placeholder.width = 50; placeholder.height = 60; assert_equals(placeholder.width, 50); - assert_equals(placeholder.height, 60); + assert_equals(placeholder.height, 60); }); createImageBitmap(placeholder).then(image => { t.step(function() { // Verify that an image grabbed from the placeholder has the correct dimensions assert_equals(image.width, 30); - assert_equals(image.height, 40); + assert_equals(image.height, 40); }); asyncStepsCompleted = asyncStepsCompleted + 1; if (asyncStepsCompleted == 2) { @@ -141,7 +141,7 @@ t.step(function() { // Verify that setting the size of an OffscreenCanvas does not directly update the size of its placeholder canvas. assert_equals(placeholder.width, 10); - assert_equals(placeholder.height, 20); + assert_equals(placeholder.height, 20); }); var asyncStepsCompleted = 0; ctx.commit(); @@ -149,7 +149,7 @@ t.step(function() { // Verify that the placeholder was not updated synchronously. assert_equals(image.width, 10); - assert_equals(image.height, 20); + assert_equals(image.height, 20); }); asyncStepsCompleted = asyncStepsCompleted + 1; if (asyncStepsCompleted == 2) { @@ -161,20 +161,20 @@ t.step(function() { // Verify that commit() asynchronously updates the size of its placeholder canvas. assert_equals(placeholder.width, 10); - assert_equals(placeholder.height, 20); + assert_equals(placeholder.height, 20); }); t.step(function() { // Verify that width/height attributes are still settable even though they have no effect. placeholder.width = 50; placeholder.height = 60; assert_equals(placeholder.width, 50); - assert_equals(placeholder.height, 60); + assert_equals(placeholder.height, 60); }); createImageBitmap(placeholder).then(image => { t.step(function() { // Verify that an image grabbed from the placeholder has the correct dimensions assert_equals(image.width, 30); - assert_equals(image.height, 40); + assert_equals(image.height, 40); }); asyncStepsCompleted = asyncStepsCompleted + 1; if (asyncStepsCompleted == 2) {