diff --git a/testing/web-platform/tests/html/canvas/offscreen/layers/2d.layer.render-opportunities.putImageData.html b/testing/web-platform/tests/html/canvas/element/layers/2d.layer.putImageData.html similarity index 52% rename from testing/web-platform/tests/html/canvas/offscreen/layers/2d.layer.render-opportunities.putImageData.html rename to testing/web-platform/tests/html/canvas/element/layers/2d.layer.putImageData.html index 42574c172fbc3..a5cb2647a8569 100644 --- a/testing/web-platform/tests/html/canvas/offscreen/layers/2d.layer.render-opportunities.putImageData.html +++ b/testing/web-platform/tests/html/canvas/element/layers/2d.layer.putImageData.html @@ -32,48 +32,108 @@ - > < -link -rel -= -" -match -" -href -= -" +title +> +Canvas +test +: 2d . layer . -render -- -opportunities -. putImageData -- -expected +< +/ +title +> +< +script +src += +" +/ +resources +/ +testharness . -html +js " > < -title +/ +script > -Canvas -test -: -2d -. -layer +< +script +src += +" +/ +resources +/ +testharnessreport . -render +js +" +> +< +/ +script +> +< +script +src += +" +/ +html +/ +canvas +/ +resources +/ +canvas - -opportunities +tests . -putImageData +js +" +> < / -title +script +> +< +link +rel += +" +stylesheet +" +href += +" +/ +html +/ +canvas +/ +resources +/ +canvas +- +tests +. +css +" +> +< +body +class += +" +show_output +" > < h1 @@ -82,10 +142,6 @@ . layer . -render -- -opportunities -. putImageData < / @@ -101,37 +157,55 @@ > Check that -layers -state -stack -is -flushed -and -rebuilt -on -frame -renders +calling +putImageData +in +a +layer +throws +an +exception . < / p > < +p +class += +" +output +" +> +Actual +output +: +< +/ +p +> +< canvas id = " -canvas +c +" +class += +" +output " width = " -200 +100 " height = " -200 +50 " > < @@ -156,128 +230,56 @@ canvas > < +ul +id += +" +d +" +> +< +/ +ul +> +< script > -const -canvas -= -new -OffscreenCanvas -( -200 -200 -) -; -const -ctx +var +t = -canvas -. -getContext +async_test ( -' -2d -' -) -; -ctx -. -fillStyle -= -' -purple -' -; -ctx +" +Check +that +calling +putImageData +in +a +layer +throws +an +exception . -fillRect -( -60 -60 -75 -50 +" ) ; -ctx -. -globalAlpha -= -0 -. -5 -; -ctx -. -beginLayer +_addTest ( -{ -filter -: -{ -name -: -' -dropShadow -' -dx -: -- -2 -dy -: -2 -} -} -) -; -ctx -. -fillRect +function ( -40 -40 -75 -50 -) -; -ctx -. -fillStyle -= -' -grey -' -; +canvas ctx -. -fillRect -( -50 -50 -75 -50 ) -; -/ -/ -Force -a -flush -and -restoration -of -the -state -stack -: +{ const canvas2 = new OffscreenCanvas ( -200 -200 +100 +50 ) ; const @@ -291,11 +293,9 @@ 2d ' ) -; -ctx -. -putImageData -( +const +data += ctx2 . getImageData @@ -305,81 +305,91 @@ 1 1 ) -0 -0 -) -; -ctx -. -fillRect -( -70 -70 -75 -50 -) ; -ctx -. -fillStyle -= +/ +/ +putImageData +shouldn ' -orange +t +throw +on +it ' -; +s +own +. ctx . -fillRect +putImageData ( -80 -80 -75 -50 +data +0 +0 ) ; +/ +/ +Make +sure +the +exception +isn +' +t +caused +by +calling +the +function +twice +. ctx . -endLayer +putImageData ( +data +0 +0 ) ; +/ +/ +Calling +again +inside +a +layer +should +throw +. ctx . -fillRect +beginLayer ( -80 -40 -75 -50 ) ; -const -outputCanvas -= -document -. -getElementById +assert_throws_dom ( " -canvas +InvalidStateError " -) -; -outputCanvas -. -getContext ( -' -2d -' ) += +> +ctx . -drawImage +putImageData ( -canvas +data 0 0 ) +) +; +} +) ; < / diff --git a/testing/web-platform/tests/html/canvas/element/layers/2d.layer.render-opportunities.putImageData-expected.html b/testing/web-platform/tests/html/canvas/element/layers/2d.layer.render-opportunities.putImageData-expected.html deleted file mode 100644 index cd7aab2bf29ab..0000000000000 --- a/testing/web-platform/tests/html/canvas/element/layers/2d.layer.render-opportunities.putImageData-expected.html +++ /dev/null @@ -1,331 +0,0 @@ -< -! -DOCTYPE -html -> -< -! -- -- -DO -NOT -EDIT -! -This -test -has -been -generated -by -/ -html -/ -canvas -/ -tools -/ -gentest -. -py -. -- -- -> -< -title -> -Canvas -test -: -2d -. -layer -. -render -- -opportunities -. -putImageData -< -/ -title -> -< -h1 -> -2d -. -layer -. -render -- -opportunities -. -putImageData -< -/ -h1 -> -< -p -class -= -" -desc -" -> -Check -that -layers -state -stack -is -flushed -and -rebuilt -on -frame -renders -. -< -/ -p -> -< -canvas -id -= -" -canvas -" -width -= -" -200 -" -height -= -" -200 -" -> -< -p -class -= -" -fallback -" -> -FAIL -( -fallback -content -) -< -/ -p -> -< -/ -canvas -> -< -script -> -const -canvas -= -document -. -getElementById -( -" -canvas -" -) -; -const -ctx -= -canvas -. -getContext -( -' -2d -' -) -; -ctx -. -fillStyle -= -' -purple -' -; -ctx -. -fillRect -( -60 -60 -75 -50 -) -; -ctx -. -globalAlpha -= -0 -. -5 -; -ctx -. -beginLayer -( -{ -filter -: -{ -name -: -' -dropShadow -' -dx -: -- -2 -dy -: -2 -} -} -) -; -ctx -. -fillStyle -= -' -purple -' -; -ctx -. -fillRect -( -40 -40 -75 -50 -) -; -ctx -. -fillStyle -= -' -grey -' -; -ctx -. -fillRect -( -50 -50 -75 -50 -) -; -ctx -. -endLayer -( -) -; -ctx -. -beginLayer -( -{ -filter -: -{ -name -: -' -dropShadow -' -dx -: -- -2 -dy -: -2 -} -} -) -; -ctx -. -fillStyle -= -' -grey -' -; -ctx -. -fillRect -( -70 -70 -75 -50 -) -; -ctx -. -fillStyle -= -' -orange -' -; -ctx -. -fillRect -( -80 -80 -75 -50 -) -; -ctx -. -endLayer -( -) -; -ctx -. -fillRect -( -80 -40 -75 -50 -) -; -< -/ -script -> diff --git a/testing/web-platform/tests/html/canvas/element/layers/2d.layer.render-opportunities.putImageData.html b/testing/web-platform/tests/html/canvas/offscreen/layers/2d.layer.putImageData.html similarity index 52% rename from testing/web-platform/tests/html/canvas/element/layers/2d.layer.render-opportunities.putImageData.html rename to testing/web-platform/tests/html/canvas/offscreen/layers/2d.layer.putImageData.html index 26fb818267b6b..f9ffb7d12e420 100644 --- a/testing/web-platform/tests/html/canvas/element/layers/2d.layer.render-opportunities.putImageData.html +++ b/testing/web-platform/tests/html/canvas/offscreen/layers/2d.layer.putImageData.html @@ -32,254 +32,203 @@ - > < -link -rel -= -" -match -" -href -= -" -2d -. -layer -. -render -- -opportunities -. -putImageData -- -expected -. -html -" -> -< title > -Canvas +OffscreenCanvas test : 2d . layer . -render -- -opportunities -. putImageData < / title > < -h1 -> -2d -. -layer -. -render -- -opportunities +script +src += +" +/ +resources +/ +testharness . -putImageData +js +" +> < / -h1 +script > < -p -class +script +src = " -desc +/ +resources +/ +testharnessreport +. +js " > -Check -that -layers -state -stack -is -flushed -and -rebuilt -on -frame -renders -. < / -p +script > < -canvas -id +script +src = " +/ +html +/ canvas -" -width -= -" -200 -" -height -= -" -200 +/ +resources +/ +canvas +- +tests +. +js " > < +/ +script +> +< +h1 +> +2d +. +layer +. +putImageData +< +/ +h1 +> +< p class = " -fallback +desc " > -FAIL -( -fallback -content -) +Check +that +calling +putImageData +in +a +layer +throws +an +exception +. < / p > < -/ -canvas -> -< script > -const -canvas +var +t = -document -. -getElementById +async_test ( " -canvas +Check +that +calling +putImageData +in +a +layer +throws +an +exception +. " ) ; -const -ctx +var +t_pass = -canvas -. -getContext -( -' -2d -' -) -; -ctx +t . -fillStyle -= -' -purple -' -; -ctx +done . -fillRect +bind ( -60 -60 -75 -50 +t ) ; -ctx -. -globalAlpha +var +t_fail = -0 +t . -5 -; -ctx -. -beginLayer +step_func ( +function +( +reason +) { -filter -: -{ -name -: -' -dropShadow -' -dx -: -- -2 -dy -: -2 -} +throw +reason +; } ) ; -ctx +t . -fillRect +step +( +function +( +) +{ +var +canvas += +new +OffscreenCanvas ( -40 -40 -75 +100 50 ) ; +var ctx -. -fillStyle = -' -grey -' -; -ctx +canvas . -fillRect +getContext ( -50 -50 -75 -50 +' +2d +' ) ; -/ -/ -Force -a -flush -and -restoration -of -the -state -stack -: const canvas2 = new OffscreenCanvas ( -200 -200 +100 +50 ) ; const @@ -293,11 +242,9 @@ 2d ' ) -; -ctx -. -putImageData -( +const +data += ctx2 . getImageData @@ -307,52 +254,96 @@ 1 1 ) +; +/ +/ +putImageData +shouldn +' +t +throw +on +it +' +s +own +. +ctx +. +putImageData +( +data 0 0 ) ; +/ +/ +Make +sure +the +exception +isn +' +t +caused +by +calling +the +function +twice +. ctx . -fillRect +putImageData ( -70 -70 -75 -50 +data +0 +0 ) ; -ctx +/ +/ +Calling +again +inside +a +layer +should +throw . -fillStyle -= -' -orange -' -; ctx . -fillRect +beginLayer ( -80 -80 -75 -50 ) ; +assert_throws_dom +( +" +InvalidStateError +" +( +) += +> ctx . -endLayer +putImageData ( +data +0 +0 +) ) ; -ctx +t . -fillRect +done ( -80 -40 -75 -50 +) +; +} ) ; < diff --git a/testing/web-platform/tests/html/canvas/offscreen/layers/2d.layer.putImageData.worker.js b/testing/web-platform/tests/html/canvas/offscreen/layers/2d.layer.putImageData.worker.js new file mode 100644 index 0000000000000..f3f5f0efa7457 --- /dev/null +++ b/testing/web-platform/tests/html/canvas/offscreen/layers/2d.layer.putImageData.worker.js @@ -0,0 +1,294 @@ +/ +/ +DO +NOT +EDIT +! +This +test +has +been +generated +by +/ +html +/ +canvas +/ +tools +/ +gentest +. +py +. +/ +/ +OffscreenCanvas +test +in +a +worker +: +2d +. +layer +. +putImageData +/ +/ +Description +: +Check +that +calling +putImageData +in +a +layer +throws +an +exception +. +/ +/ +Note +: +importScripts +( +" +/ +resources +/ +testharness +. +js +" +) +; +importScripts +( +" +/ +html +/ +canvas +/ +resources +/ +canvas +- +tests +. +js +" +) +; +var +t += +async_test +( +" +Check +that +calling +putImageData +in +a +layer +throws +an +exception +. +" +) +; +var +t_pass += +t +. +done +. +bind +( +t +) +; +var +t_fail += +t +. +step_func +( +function +( +reason +) +{ +throw +reason +; +} +) +; +t +. +step +( +function +( +) +{ +var +canvas += +new +OffscreenCanvas +( +100 +50 +) +; +var +ctx += +canvas +. +getContext +( +' +2d +' +) +; +const +canvas2 += +new +OffscreenCanvas +( +100 +50 +) +; +const +ctx2 += +canvas2 +. +getContext +( +' +2d +' +) +const +data += +ctx2 +. +getImageData +( +0 +0 +1 +1 +) +; +/ +/ +putImageData +shouldn +' +t +throw +on +it +' +s +own +. +ctx +. +putImageData +( +data +0 +0 +) +; +/ +/ +Make +sure +the +exception +isn +' +t +caused +by +calling +the +function +twice +. +ctx +. +putImageData +( +data +0 +0 +) +; +/ +/ +Calling +again +inside +a +layer +should +throw +. +ctx +. +beginLayer +( +) +; +assert_throws_dom +( +" +InvalidStateError +" +( +) += +> +ctx +. +putImageData +( +data +0 +0 +) +) +; +t +. +done +( +) +; +} +) +; +done +( +) +; diff --git a/testing/web-platform/tests/html/canvas/offscreen/layers/2d.layer.render-opportunities.putImageData-expected.html b/testing/web-platform/tests/html/canvas/offscreen/layers/2d.layer.render-opportunities.putImageData-expected.html deleted file mode 100644 index cd7aab2bf29ab..0000000000000 --- a/testing/web-platform/tests/html/canvas/offscreen/layers/2d.layer.render-opportunities.putImageData-expected.html +++ /dev/null @@ -1,331 +0,0 @@ -< -! -DOCTYPE -html -> -< -! -- -- -DO -NOT -EDIT -! -This -test -has -been -generated -by -/ -html -/ -canvas -/ -tools -/ -gentest -. -py -. -- -- -> -< -title -> -Canvas -test -: -2d -. -layer -. -render -- -opportunities -. -putImageData -< -/ -title -> -< -h1 -> -2d -. -layer -. -render -- -opportunities -. -putImageData -< -/ -h1 -> -< -p -class -= -" -desc -" -> -Check -that -layers -state -stack -is -flushed -and -rebuilt -on -frame -renders -. -< -/ -p -> -< -canvas -id -= -" -canvas -" -width -= -" -200 -" -height -= -" -200 -" -> -< -p -class -= -" -fallback -" -> -FAIL -( -fallback -content -) -< -/ -p -> -< -/ -canvas -> -< -script -> -const -canvas -= -document -. -getElementById -( -" -canvas -" -) -; -const -ctx -= -canvas -. -getContext -( -' -2d -' -) -; -ctx -. -fillStyle -= -' -purple -' -; -ctx -. -fillRect -( -60 -60 -75 -50 -) -; -ctx -. -globalAlpha -= -0 -. -5 -; -ctx -. -beginLayer -( -{ -filter -: -{ -name -: -' -dropShadow -' -dx -: -- -2 -dy -: -2 -} -} -) -; -ctx -. -fillStyle -= -' -purple -' -; -ctx -. -fillRect -( -40 -40 -75 -50 -) -; -ctx -. -fillStyle -= -' -grey -' -; -ctx -. -fillRect -( -50 -50 -75 -50 -) -; -ctx -. -endLayer -( -) -; -ctx -. -beginLayer -( -{ -filter -: -{ -name -: -' -dropShadow -' -dx -: -- -2 -dy -: -2 -} -} -) -; -ctx -. -fillStyle -= -' -grey -' -; -ctx -. -fillRect -( -70 -70 -75 -50 -) -; -ctx -. -fillStyle -= -' -orange -' -; -ctx -. -fillRect -( -80 -80 -75 -50 -) -; -ctx -. -endLayer -( -) -; -ctx -. -fillRect -( -80 -40 -75 -50 -) -; -< -/ -script -> diff --git a/testing/web-platform/tests/html/canvas/offscreen/layers/2d.layer.render-opportunities.putImageData.w.html b/testing/web-platform/tests/html/canvas/offscreen/layers/2d.layer.render-opportunities.putImageData.w.html deleted file mode 100644 index 3ade7f6271e96..0000000000000 --- a/testing/web-platform/tests/html/canvas/offscreen/layers/2d.layer.render-opportunities.putImageData.w.html +++ /dev/null @@ -1,520 +0,0 @@ -< -! -DOCTYPE -html -> -< -! -- -- -DO -NOT -EDIT -! -This -test -has -been -generated -by -/ -html -/ -canvas -/ -tools -/ -gentest -. -py -. -- -- -> -< -html -class -= -" -reftest -- -wait -" -> -< -link -rel -= -" -match -" -href -= -" -2d -. -layer -. -render -- -opportunities -. -putImageData -- -expected -. -html -" -> -< -title -> -Canvas -test -: -2d -. -layer -. -render -- -opportunities -. -putImageData -< -/ -title -> -< -h1 -> -2d -. -layer -. -render -- -opportunities -. -putImageData -< -/ -h1 -> -< -p -class -= -" -desc -" -> -Check -that -layers -state -stack -is -flushed -and -rebuilt -on -frame -renders -. -< -/ -p -> -< -canvas -id -= -" -canvas -" -width -= -" -200 -" -height -= -" -200 -" -> -< -p -class -= -" -fallback -" -> -FAIL -( -fallback -content -) -< -/ -p -> -< -/ -canvas -> -< -script -id -= -' -myWorker -' -type -= -' -text -/ -worker -' -> -self -. -onmessage -= -function -( -e -) -{ -const -canvas -= -new -OffscreenCanvas -( -200 -200 -) -; -const -ctx -= -canvas -. -getContext -( -' -2d -' -) -; -ctx -. -fillStyle -= -' -purple -' -; -ctx -. -fillRect -( -60 -60 -75 -50 -) -; -ctx -. -globalAlpha -= -0 -. -5 -; -ctx -. -beginLayer -( -{ -filter -: -{ -name -: -' -dropShadow -' -dx -: -- -2 -dy -: -2 -} -} -) -; -ctx -. -fillRect -( -40 -40 -75 -50 -) -; -ctx -. -fillStyle -= -' -grey -' -; -ctx -. -fillRect -( -50 -50 -75 -50 -) -; -/ -/ -Force -a -flush -and -restoration -of -the -state -stack -: -const -canvas2 -= -new -OffscreenCanvas -( -200 -200 -) -; -const -ctx2 -= -canvas2 -. -getContext -( -' -2d -' -) -; -ctx -. -putImageData -( -ctx2 -. -getImageData -( -0 -0 -1 -1 -) -0 -0 -) -; -ctx -. -fillRect -( -70 -70 -75 -50 -) -; -ctx -. -fillStyle -= -' -orange -' -; -ctx -. -fillRect -( -80 -80 -75 -50 -) -; -ctx -. -endLayer -( -) -; -ctx -. -fillRect -( -80 -40 -75 -50 -) -; -const -bitmap -= -canvas -. -transferToImageBitmap -( -) -; -self -. -postMessage -( -bitmap -bitmap -) -; -} -; -< -/ -script -> -< -script -> -const -blob -= -new -Blob -( -[ -document -. -getElementById -( -' -myWorker -' -) -. -textContent -] -) -; -const -worker -= -new -Worker -( -URL -. -createObjectURL -( -blob -) -) -; -worker -. -addEventListener -( -' -message -' -msg -= -> -{ -const -outputCtx -= -document -. -getElementById -( -" -canvas -" -) -. -getContext -( -' -2d -' -) -; -outputCtx -. -drawImage -( -msg -. -data -0 -0 -) -; -document -. -documentElement -. -classList -. -remove -( -" -reftest -- -wait -" -) -; -} -) -; -worker -. -postMessage -( -null -) -; -< -/ -script -> -< -/ -html -> diff --git a/testing/web-platform/tests/html/canvas/tools/yaml-new/layers.yaml b/testing/web-platform/tests/html/canvas/tools/yaml-new/layers.yaml index b6eea0561c902..bcec83175eb9b 100644 --- a/testing/web-platform/tests/html/canvas/tools/yaml-new/layers.yaml +++ b/testing/web-platform/tests/html/canvas/tools/yaml-new/layers.yaml @@ -3834,12 +3834,80 @@ resolve ) ) ; -putImageData +toBlob +: +test_type +: +" +promise +" +canvasType : +[ +' +HTMLCanvas +' +] flush_canvas : | - +await +new +Promise +( +resolve += +> +canvas +. +toBlob +( +resolve +) +) +; +toDataURL +: +canvasType +: +[ +' +HTMLCanvas +' +] +flush_canvas +: +canvas +. +toDataURL +( +) +; +- +name +: +2d +. +layer +. +putImageData +desc +: +Check +that +calling +putImageData +in +a +layer +throws +an +exception +. +code +: +| const canvas2 = @@ -3875,11 +3943,9 @@ getContext 2d ' ) -; -ctx -. -putImageData -( +const +data += ctx2 . getImageData @@ -3889,58 +3955,87 @@ getImageData 1 1 ) +; +/ +/ +putImageData +shouldn +' +t +throw +on +it +' +s +own +. +ctx +. +putImageData +( +data 0 0 ) ; -toBlob -: -test_type -: -" -promise -" -canvasType -: -[ -' -HTMLCanvas +/ +/ +Make +sure +the +exception +isn ' -] -flush_canvas -: -| -- -await -new -Promise -( -resolve -= -> -canvas +t +caused +by +calling +the +function +twice . -toBlob +ctx +. +putImageData ( -resolve +data +0 +0 ) +; +/ +/ +Calling +again +inside +a +layer +should +throw +. +ctx +. +beginLayer +( ) ; -toDataURL -: -canvasType -: -[ -' -HTMLCanvas -' -] -flush_canvas -: -canvas +assert_throws_dom +( +" +InvalidStateError +" +( +) += +> +ctx . -toDataURL +putImageData ( +data +0 +0 +) ) ; -