diff --git a/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.drawImage-expected.html b/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.drawImage-expected.html
new file mode 100644
index 00000000000000..eea78248a836f2
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.drawImage-expected.html
@@ -0,0 +1,270 @@
+
+
+
Canvas test: 2d.composite.grid.filter.no_shadow.drawImage
+2d.composite.grid.filter.no_shadow.drawImage
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.drawImage.html b/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.drawImage.html
new file mode 100644
index 00000000000000..8e6b95ae221037
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.drawImage.html
@@ -0,0 +1,845 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.filter.no_shadow.drawImage
+2d.composite.grid.filter.no_shadow.drawImage
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.drawImage.png b/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.drawImage.png
new file mode 100644
index 00000000000000..2318c1ec94e401
Binary files /dev/null and b/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.drawImage.png differ
diff --git a/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.fillRect-expected.html b/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.fillRect-expected.html
new file mode 100644
index 00000000000000..08ed3566fd11df
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.fillRect-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.filter.no_shadow.fillRect
+2d.composite.grid.filter.no_shadow.fillRect
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.fillRect.html b/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.fillRect.html
new file mode 100644
index 00000000000000..5dca89e3c12b88
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.fillRect.html
@@ -0,0 +1,767 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.filter.no_shadow.fillRect
+2d.composite.grid.filter.no_shadow.fillRect
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.fillRect.png b/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.fillRect.png
new file mode 100644
index 00000000000000..2318c1ec94e401
Binary files /dev/null and b/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.fillRect.png differ
diff --git a/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.pattern-expected.html b/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.pattern-expected.html
new file mode 100644
index 00000000000000..22c84f42e89b91
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.pattern-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.filter.no_shadow.pattern
+2d.composite.grid.filter.no_shadow.pattern
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.pattern.html b/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.pattern.html
new file mode 100644
index 00000000000000..6b3c4c6a5890f5
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.pattern.html
@@ -0,0 +1,871 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.filter.no_shadow.pattern
+2d.composite.grid.filter.no_shadow.pattern
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.pattern.png b/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.pattern.png
new file mode 100644
index 00000000000000..2318c1ec94e401
Binary files /dev/null and b/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.pattern.png differ
diff --git a/html/canvas/element/compositing/2d.composite.grid.filter.shadow.drawImage-expected.html b/html/canvas/element/compositing/2d.composite.grid.filter.shadow.drawImage-expected.html
new file mode 100644
index 00000000000000..2072348f904966
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.filter.shadow.drawImage-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.filter.shadow.drawImage
+2d.composite.grid.filter.shadow.drawImage
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.filter.shadow.drawImage.html b/html/canvas/element/compositing/2d.composite.grid.filter.shadow.drawImage.html
new file mode 100644
index 00000000000000..f6872b221274b5
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.filter.shadow.drawImage.html
@@ -0,0 +1,897 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.filter.shadow.drawImage
+2d.composite.grid.filter.shadow.drawImage
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.filter.shadow.drawImage.png b/html/canvas/element/compositing/2d.composite.grid.filter.shadow.drawImage.png
new file mode 100644
index 00000000000000..fde787731168e3
Binary files /dev/null and b/html/canvas/element/compositing/2d.composite.grid.filter.shadow.drawImage.png differ
diff --git a/html/canvas/element/compositing/2d.composite.grid.filter.shadow.fillRect-expected.html b/html/canvas/element/compositing/2d.composite.grid.filter.shadow.fillRect-expected.html
new file mode 100644
index 00000000000000..1e119bcbde5a29
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.filter.shadow.fillRect-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.filter.shadow.fillRect
+2d.composite.grid.filter.shadow.fillRect
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.filter.shadow.fillRect.html b/html/canvas/element/compositing/2d.composite.grid.filter.shadow.fillRect.html
new file mode 100644
index 00000000000000..1c68c0e454059d
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.filter.shadow.fillRect.html
@@ -0,0 +1,819 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.filter.shadow.fillRect
+2d.composite.grid.filter.shadow.fillRect
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.filter.shadow.fillRect.png b/html/canvas/element/compositing/2d.composite.grid.filter.shadow.fillRect.png
new file mode 100644
index 00000000000000..fde787731168e3
Binary files /dev/null and b/html/canvas/element/compositing/2d.composite.grid.filter.shadow.fillRect.png differ
diff --git a/html/canvas/element/compositing/2d.composite.grid.filter.shadow.pattern-expected.html b/html/canvas/element/compositing/2d.composite.grid.filter.shadow.pattern-expected.html
new file mode 100644
index 00000000000000..f45fe82c302917
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.filter.shadow.pattern-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.filter.shadow.pattern
+2d.composite.grid.filter.shadow.pattern
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.filter.shadow.pattern.html b/html/canvas/element/compositing/2d.composite.grid.filter.shadow.pattern.html
new file mode 100644
index 00000000000000..1e3f14fb9a3c1b
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.filter.shadow.pattern.html
@@ -0,0 +1,923 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.filter.shadow.pattern
+2d.composite.grid.filter.shadow.pattern
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.filter.shadow.pattern.png b/html/canvas/element/compositing/2d.composite.grid.filter.shadow.pattern.png
new file mode 100644
index 00000000000000..fde787731168e3
Binary files /dev/null and b/html/canvas/element/compositing/2d.composite.grid.filter.shadow.pattern.png differ
diff --git a/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.drawImage-expected.html b/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.drawImage-expected.html
new file mode 100644
index 00000000000000..923d8360a9d73c
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.drawImage-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.no_filter.no_shadow.drawImage
+2d.composite.grid.no_filter.no_shadow.drawImage
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.html b/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.html
new file mode 100644
index 00000000000000..31e0fba79189df
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.html
@@ -0,0 +1,845 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.no_filter.no_shadow.drawImage
+2d.composite.grid.no_filter.no_shadow.drawImage
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.png b/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.png
new file mode 100644
index 00000000000000..ce392a1dcccc5e
Binary files /dev/null and b/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.png differ
diff --git a/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.fillRect-expected.html b/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.fillRect-expected.html
new file mode 100644
index 00000000000000..c809e56cac3916
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.fillRect-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.no_filter.no_shadow.fillRect
+2d.composite.grid.no_filter.no_shadow.fillRect
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.html b/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.html
new file mode 100644
index 00000000000000..e14c336868ecde
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.html
@@ -0,0 +1,767 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.no_filter.no_shadow.fillRect
+2d.composite.grid.no_filter.no_shadow.fillRect
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.png b/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.png
new file mode 100644
index 00000000000000..ce392a1dcccc5e
Binary files /dev/null and b/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.png differ
diff --git a/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.pattern-expected.html b/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.pattern-expected.html
new file mode 100644
index 00000000000000..f052442a637ed6
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.pattern-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.no_filter.no_shadow.pattern
+2d.composite.grid.no_filter.no_shadow.pattern
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.pattern.html b/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.pattern.html
new file mode 100644
index 00000000000000..6f8159466dbd72
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.pattern.html
@@ -0,0 +1,871 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.no_filter.no_shadow.pattern
+2d.composite.grid.no_filter.no_shadow.pattern
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.pattern.png b/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.pattern.png
new file mode 100644
index 00000000000000..ce392a1dcccc5e
Binary files /dev/null and b/html/canvas/element/compositing/2d.composite.grid.no_filter.no_shadow.pattern.png differ
diff --git a/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.drawImage-expected.html b/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.drawImage-expected.html
new file mode 100644
index 00000000000000..ad07c35d3101c6
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.drawImage-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.no_filter.shadow.drawImage
+2d.composite.grid.no_filter.shadow.drawImage
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.drawImage.html b/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.drawImage.html
new file mode 100644
index 00000000000000..84527f5a2832d7
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.drawImage.html
@@ -0,0 +1,897 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.no_filter.shadow.drawImage
+2d.composite.grid.no_filter.shadow.drawImage
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.drawImage.png b/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.drawImage.png
new file mode 100644
index 00000000000000..aca03a61b220c1
Binary files /dev/null and b/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.drawImage.png differ
diff --git a/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.fillRect-expected.html b/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.fillRect-expected.html
new file mode 100644
index 00000000000000..e16a5fcf4582ef
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.fillRect-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.no_filter.shadow.fillRect
+2d.composite.grid.no_filter.shadow.fillRect
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.fillRect.html b/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.fillRect.html
new file mode 100644
index 00000000000000..46bc366c8ac0cd
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.fillRect.html
@@ -0,0 +1,819 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.no_filter.shadow.fillRect
+2d.composite.grid.no_filter.shadow.fillRect
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.fillRect.png b/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.fillRect.png
new file mode 100644
index 00000000000000..aca03a61b220c1
Binary files /dev/null and b/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.fillRect.png differ
diff --git a/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.pattern-expected.html b/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.pattern-expected.html
new file mode 100644
index 00000000000000..01e1d4d7b26462
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.pattern-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.no_filter.shadow.pattern
+2d.composite.grid.no_filter.shadow.pattern
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.pattern.html b/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.pattern.html
new file mode 100644
index 00000000000000..e636330c59f5b3
--- /dev/null
+++ b/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.pattern.html
@@ -0,0 +1,923 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.no_filter.shadow.pattern
+2d.composite.grid.no_filter.shadow.pattern
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.pattern.png b/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.pattern.png
new file mode 100644
index 00000000000000..aca03a61b220c1
Binary files /dev/null and b/html/canvas/element/compositing/2d.composite.grid.no_filter.shadow.pattern.png differ
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage-expected.html b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage-expected.html
new file mode 100644
index 00000000000000..eea78248a836f2
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.filter.no_shadow.drawImage
+2d.composite.grid.filter.no_shadow.drawImage
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage.html b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage.html
new file mode 100644
index 00000000000000..72b23aeeafb877
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage.html
@@ -0,0 +1,949 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.filter.no_shadow.drawImage
+2d.composite.grid.filter.no_shadow.drawImage
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage.png b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage.png
new file mode 100644
index 00000000000000..2318c1ec94e401
Binary files /dev/null and b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage.png differ
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage.w.html b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage.w.html
new file mode 100644
index 00000000000000..89f4dba75b570c
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage.w.html
@@ -0,0 +1,1316 @@
+
+
+
+
+
+
+Canvas test: 2d.composite.grid.filter.no_shadow.drawImage
+2d.composite.grid.filter.no_shadow.drawImage
+
+
+
+
+
+ source-over
+
+
+
+
+
+
+ source-in
+
+
+
+
+
+
+ source-out
+
+
+
+
+
+
+ source-atop
+
+
+
+
+
+
+ destination-over
+
+
+
+
+
+
+ destination-in
+
+
+
+
+
+
+ destination-out
+
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+
+ lighter
+
+
+
+
+
+
+ copy
+
+
+
+
+
+
+ xor
+
+
+
+
+
+
+ multiply
+
+
+
+
+
+
+ screen
+
+
+
+
+
+
+ overlay
+
+
+
+
+
+
+ darken
+
+
+
+
+
+
+ lighten
+
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+
+ color-burn
+
+
+
+
+
+
+ hard-light
+
+
+
+
+
+
+ soft-light
+
+
+
+
+
+
+ difference
+
+
+
+
+
+
+ exclusion
+
+
+
+
+
+
+ hue
+
+
+
+
+
+
+ saturation
+
+
+
+
+
+
+ color
+
+
+
+
+
+
+ luminosity
+
+
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.fillRect-expected.html b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.fillRect-expected.html
new file mode 100644
index 00000000000000..08ed3566fd11df
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.fillRect-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.filter.no_shadow.fillRect
+2d.composite.grid.filter.no_shadow.fillRect
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.fillRect.html b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.fillRect.html
new file mode 100644
index 00000000000000..3f8fdc8164d1fc
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.fillRect.html
@@ -0,0 +1,871 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.filter.no_shadow.fillRect
+2d.composite.grid.filter.no_shadow.fillRect
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.fillRect.png b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.fillRect.png
new file mode 100644
index 00000000000000..2318c1ec94e401
Binary files /dev/null and b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.fillRect.png differ
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.fillRect.w.html b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.fillRect.w.html
new file mode 100644
index 00000000000000..37839bf8a8b460
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.fillRect.w.html
@@ -0,0 +1,1238 @@
+
+
+
+
+
+
+Canvas test: 2d.composite.grid.filter.no_shadow.fillRect
+2d.composite.grid.filter.no_shadow.fillRect
+
+
+
+
+
+ source-over
+
+
+
+
+
+
+ source-in
+
+
+
+
+
+
+ source-out
+
+
+
+
+
+
+ source-atop
+
+
+
+
+
+
+ destination-over
+
+
+
+
+
+
+ destination-in
+
+
+
+
+
+
+ destination-out
+
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+
+ lighter
+
+
+
+
+
+
+ copy
+
+
+
+
+
+
+ xor
+
+
+
+
+
+
+ multiply
+
+
+
+
+
+
+ screen
+
+
+
+
+
+
+ overlay
+
+
+
+
+
+
+ darken
+
+
+
+
+
+
+ lighten
+
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+
+ color-burn
+
+
+
+
+
+
+ hard-light
+
+
+
+
+
+
+ soft-light
+
+
+
+
+
+
+ difference
+
+
+
+
+
+
+ exclusion
+
+
+
+
+
+
+ hue
+
+
+
+
+
+
+ saturation
+
+
+
+
+
+
+ color
+
+
+
+
+
+
+ luminosity
+
+
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.pattern-expected.html b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.pattern-expected.html
new file mode 100644
index 00000000000000..22c84f42e89b91
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.pattern-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.filter.no_shadow.pattern
+2d.composite.grid.filter.no_shadow.pattern
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.pattern.html b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.pattern.html
new file mode 100644
index 00000000000000..0bb970ab3f8468
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.pattern.html
@@ -0,0 +1,975 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.filter.no_shadow.pattern
+2d.composite.grid.filter.no_shadow.pattern
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.pattern.png b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.pattern.png
new file mode 100644
index 00000000000000..2318c1ec94e401
Binary files /dev/null and b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.pattern.png differ
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.pattern.w.html b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.pattern.w.html
new file mode 100644
index 00000000000000..81d0a8e6a693ef
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.pattern.w.html
@@ -0,0 +1,1342 @@
+
+
+
+
+
+
+Canvas test: 2d.composite.grid.filter.no_shadow.pattern
+2d.composite.grid.filter.no_shadow.pattern
+
+
+
+
+
+ source-over
+
+
+
+
+
+
+ source-in
+
+
+
+
+
+
+ source-out
+
+
+
+
+
+
+ source-atop
+
+
+
+
+
+
+ destination-over
+
+
+
+
+
+
+ destination-in
+
+
+
+
+
+
+ destination-out
+
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+
+ lighter
+
+
+
+
+
+
+ copy
+
+
+
+
+
+
+ xor
+
+
+
+
+
+
+ multiply
+
+
+
+
+
+
+ screen
+
+
+
+
+
+
+ overlay
+
+
+
+
+
+
+ darken
+
+
+
+
+
+
+ lighten
+
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+
+ color-burn
+
+
+
+
+
+
+ hard-light
+
+
+
+
+
+
+ soft-light
+
+
+
+
+
+
+ difference
+
+
+
+
+
+
+ exclusion
+
+
+
+
+
+
+ hue
+
+
+
+
+
+
+ saturation
+
+
+
+
+
+
+ color
+
+
+
+
+
+
+ luminosity
+
+
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.drawImage-expected.html b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.drawImage-expected.html
new file mode 100644
index 00000000000000..2072348f904966
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.drawImage-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.filter.shadow.drawImage
+2d.composite.grid.filter.shadow.drawImage
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.drawImage.html b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.drawImage.html
new file mode 100644
index 00000000000000..5c9e992c7ce721
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.drawImage.html
@@ -0,0 +1,1001 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.filter.shadow.drawImage
+2d.composite.grid.filter.shadow.drawImage
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.drawImage.png b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.drawImage.png
new file mode 100644
index 00000000000000..fde787731168e3
Binary files /dev/null and b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.drawImage.png differ
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.drawImage.w.html b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.drawImage.w.html
new file mode 100644
index 00000000000000..08e66abd46439e
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.drawImage.w.html
@@ -0,0 +1,1368 @@
+
+
+
+
+
+
+Canvas test: 2d.composite.grid.filter.shadow.drawImage
+2d.composite.grid.filter.shadow.drawImage
+
+
+
+
+
+ source-over
+
+
+
+
+
+
+ source-in
+
+
+
+
+
+
+ source-out
+
+
+
+
+
+
+ source-atop
+
+
+
+
+
+
+ destination-over
+
+
+
+
+
+
+ destination-in
+
+
+
+
+
+
+ destination-out
+
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+
+ lighter
+
+
+
+
+
+
+ copy
+
+
+
+
+
+
+ xor
+
+
+
+
+
+
+ multiply
+
+
+
+
+
+
+ screen
+
+
+
+
+
+
+ overlay
+
+
+
+
+
+
+ darken
+
+
+
+
+
+
+ lighten
+
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+
+ color-burn
+
+
+
+
+
+
+ hard-light
+
+
+
+
+
+
+ soft-light
+
+
+
+
+
+
+ difference
+
+
+
+
+
+
+ exclusion
+
+
+
+
+
+
+ hue
+
+
+
+
+
+
+ saturation
+
+
+
+
+
+
+ color
+
+
+
+
+
+
+ luminosity
+
+
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.fillRect-expected.html b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.fillRect-expected.html
new file mode 100644
index 00000000000000..1e119bcbde5a29
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.fillRect-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.filter.shadow.fillRect
+2d.composite.grid.filter.shadow.fillRect
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.fillRect.html b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.fillRect.html
new file mode 100644
index 00000000000000..0f6b88fd5e9e16
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.fillRect.html
@@ -0,0 +1,923 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.filter.shadow.fillRect
+2d.composite.grid.filter.shadow.fillRect
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.fillRect.png b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.fillRect.png
new file mode 100644
index 00000000000000..fde787731168e3
Binary files /dev/null and b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.fillRect.png differ
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.fillRect.w.html b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.fillRect.w.html
new file mode 100644
index 00000000000000..f754f538b560b5
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.fillRect.w.html
@@ -0,0 +1,1290 @@
+
+
+
+
+
+
+Canvas test: 2d.composite.grid.filter.shadow.fillRect
+2d.composite.grid.filter.shadow.fillRect
+
+
+
+
+
+ source-over
+
+
+
+
+
+
+ source-in
+
+
+
+
+
+
+ source-out
+
+
+
+
+
+
+ source-atop
+
+
+
+
+
+
+ destination-over
+
+
+
+
+
+
+ destination-in
+
+
+
+
+
+
+ destination-out
+
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+
+ lighter
+
+
+
+
+
+
+ copy
+
+
+
+
+
+
+ xor
+
+
+
+
+
+
+ multiply
+
+
+
+
+
+
+ screen
+
+
+
+
+
+
+ overlay
+
+
+
+
+
+
+ darken
+
+
+
+
+
+
+ lighten
+
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+
+ color-burn
+
+
+
+
+
+
+ hard-light
+
+
+
+
+
+
+ soft-light
+
+
+
+
+
+
+ difference
+
+
+
+
+
+
+ exclusion
+
+
+
+
+
+
+ hue
+
+
+
+
+
+
+ saturation
+
+
+
+
+
+
+ color
+
+
+
+
+
+
+ luminosity
+
+
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.pattern-expected.html b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.pattern-expected.html
new file mode 100644
index 00000000000000..f45fe82c302917
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.pattern-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.filter.shadow.pattern
+2d.composite.grid.filter.shadow.pattern
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.pattern.html b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.pattern.html
new file mode 100644
index 00000000000000..e89aff9196dc19
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.pattern.html
@@ -0,0 +1,1027 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.filter.shadow.pattern
+2d.composite.grid.filter.shadow.pattern
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.pattern.png b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.pattern.png
new file mode 100644
index 00000000000000..fde787731168e3
Binary files /dev/null and b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.pattern.png differ
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.pattern.w.html b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.pattern.w.html
new file mode 100644
index 00000000000000..79f7aab01cd4e1
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.filter.shadow.pattern.w.html
@@ -0,0 +1,1394 @@
+
+
+
+
+
+
+Canvas test: 2d.composite.grid.filter.shadow.pattern
+2d.composite.grid.filter.shadow.pattern
+
+
+
+
+
+ source-over
+
+
+
+
+
+
+ source-in
+
+
+
+
+
+
+ source-out
+
+
+
+
+
+
+ source-atop
+
+
+
+
+
+
+ destination-over
+
+
+
+
+
+
+ destination-in
+
+
+
+
+
+
+ destination-out
+
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+
+ lighter
+
+
+
+
+
+
+ copy
+
+
+
+
+
+
+ xor
+
+
+
+
+
+
+ multiply
+
+
+
+
+
+
+ screen
+
+
+
+
+
+
+ overlay
+
+
+
+
+
+
+ darken
+
+
+
+
+
+
+ lighten
+
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+
+ color-burn
+
+
+
+
+
+
+ hard-light
+
+
+
+
+
+
+ soft-light
+
+
+
+
+
+
+ difference
+
+
+
+
+
+
+ exclusion
+
+
+
+
+
+
+ hue
+
+
+
+
+
+
+ saturation
+
+
+
+
+
+
+ color
+
+
+
+
+
+
+ luminosity
+
+
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.drawImage-expected.html b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.drawImage-expected.html
new file mode 100644
index 00000000000000..923d8360a9d73c
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.drawImage-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.no_filter.no_shadow.drawImage
+2d.composite.grid.no_filter.no_shadow.drawImage
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.html b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.html
new file mode 100644
index 00000000000000..54a53b46576b55
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.html
@@ -0,0 +1,949 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.no_filter.no_shadow.drawImage
+2d.composite.grid.no_filter.no_shadow.drawImage
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.png b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.png
new file mode 100644
index 00000000000000..ce392a1dcccc5e
Binary files /dev/null and b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.png differ
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.w.html b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.w.html
new file mode 100644
index 00000000000000..4750ed210ffe98
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.drawImage.w.html
@@ -0,0 +1,1316 @@
+
+
+
+
+
+
+Canvas test: 2d.composite.grid.no_filter.no_shadow.drawImage
+2d.composite.grid.no_filter.no_shadow.drawImage
+
+
+
+
+
+ source-over
+
+
+
+
+
+
+ source-in
+
+
+
+
+
+
+ source-out
+
+
+
+
+
+
+ source-atop
+
+
+
+
+
+
+ destination-over
+
+
+
+
+
+
+ destination-in
+
+
+
+
+
+
+ destination-out
+
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+
+ lighter
+
+
+
+
+
+
+ copy
+
+
+
+
+
+
+ xor
+
+
+
+
+
+
+ multiply
+
+
+
+
+
+
+ screen
+
+
+
+
+
+
+ overlay
+
+
+
+
+
+
+ darken
+
+
+
+
+
+
+ lighten
+
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+
+ color-burn
+
+
+
+
+
+
+ hard-light
+
+
+
+
+
+
+ soft-light
+
+
+
+
+
+
+ difference
+
+
+
+
+
+
+ exclusion
+
+
+
+
+
+
+ hue
+
+
+
+
+
+
+ saturation
+
+
+
+
+
+
+ color
+
+
+
+
+
+
+ luminosity
+
+
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.fillRect-expected.html b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.fillRect-expected.html
new file mode 100644
index 00000000000000..c809e56cac3916
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.fillRect-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.no_filter.no_shadow.fillRect
+2d.composite.grid.no_filter.no_shadow.fillRect
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.html b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.html
new file mode 100644
index 00000000000000..e69af8a79a92ad
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.html
@@ -0,0 +1,871 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.no_filter.no_shadow.fillRect
+2d.composite.grid.no_filter.no_shadow.fillRect
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.png b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.png
new file mode 100644
index 00000000000000..ce392a1dcccc5e
Binary files /dev/null and b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.png differ
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.w.html b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.w.html
new file mode 100644
index 00000000000000..0cfc23ab86a5d8
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.fillRect.w.html
@@ -0,0 +1,1238 @@
+
+
+
+
+
+
+Canvas test: 2d.composite.grid.no_filter.no_shadow.fillRect
+2d.composite.grid.no_filter.no_shadow.fillRect
+
+
+
+
+
+ source-over
+
+
+
+
+
+
+ source-in
+
+
+
+
+
+
+ source-out
+
+
+
+
+
+
+ source-atop
+
+
+
+
+
+
+ destination-over
+
+
+
+
+
+
+ destination-in
+
+
+
+
+
+
+ destination-out
+
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+
+ lighter
+
+
+
+
+
+
+ copy
+
+
+
+
+
+
+ xor
+
+
+
+
+
+
+ multiply
+
+
+
+
+
+
+ screen
+
+
+
+
+
+
+ overlay
+
+
+
+
+
+
+ darken
+
+
+
+
+
+
+ lighten
+
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+
+ color-burn
+
+
+
+
+
+
+ hard-light
+
+
+
+
+
+
+ soft-light
+
+
+
+
+
+
+ difference
+
+
+
+
+
+
+ exclusion
+
+
+
+
+
+
+ hue
+
+
+
+
+
+
+ saturation
+
+
+
+
+
+
+ color
+
+
+
+
+
+
+ luminosity
+
+
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.pattern-expected.html b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.pattern-expected.html
new file mode 100644
index 00000000000000..f052442a637ed6
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.pattern-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.no_filter.no_shadow.pattern
+2d.composite.grid.no_filter.no_shadow.pattern
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.pattern.html b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.pattern.html
new file mode 100644
index 00000000000000..b6008b7c79f310
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.pattern.html
@@ -0,0 +1,975 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.no_filter.no_shadow.pattern
+2d.composite.grid.no_filter.no_shadow.pattern
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.pattern.png b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.pattern.png
new file mode 100644
index 00000000000000..ce392a1dcccc5e
Binary files /dev/null and b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.pattern.png differ
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.pattern.w.html b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.pattern.w.html
new file mode 100644
index 00000000000000..ef952ce12cdaa3
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.no_shadow.pattern.w.html
@@ -0,0 +1,1342 @@
+
+
+
+
+
+
+Canvas test: 2d.composite.grid.no_filter.no_shadow.pattern
+2d.composite.grid.no_filter.no_shadow.pattern
+
+
+
+
+
+ source-over
+
+
+
+
+
+
+ source-in
+
+
+
+
+
+
+ source-out
+
+
+
+
+
+
+ source-atop
+
+
+
+
+
+
+ destination-over
+
+
+
+
+
+
+ destination-in
+
+
+
+
+
+
+ destination-out
+
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+
+ lighter
+
+
+
+
+
+
+ copy
+
+
+
+
+
+
+ xor
+
+
+
+
+
+
+ multiply
+
+
+
+
+
+
+ screen
+
+
+
+
+
+
+ overlay
+
+
+
+
+
+
+ darken
+
+
+
+
+
+
+ lighten
+
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+
+ color-burn
+
+
+
+
+
+
+ hard-light
+
+
+
+
+
+
+ soft-light
+
+
+
+
+
+
+ difference
+
+
+
+
+
+
+ exclusion
+
+
+
+
+
+
+ hue
+
+
+
+
+
+
+ saturation
+
+
+
+
+
+
+ color
+
+
+
+
+
+
+ luminosity
+
+
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.drawImage-expected.html b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.drawImage-expected.html
new file mode 100644
index 00000000000000..ad07c35d3101c6
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.drawImage-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.no_filter.shadow.drawImage
+2d.composite.grid.no_filter.shadow.drawImage
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.drawImage.html b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.drawImage.html
new file mode 100644
index 00000000000000..d25f183aeb8bc5
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.drawImage.html
@@ -0,0 +1,1001 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.no_filter.shadow.drawImage
+2d.composite.grid.no_filter.shadow.drawImage
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.drawImage.png b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.drawImage.png
new file mode 100644
index 00000000000000..aca03a61b220c1
Binary files /dev/null and b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.drawImage.png differ
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.drawImage.w.html b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.drawImage.w.html
new file mode 100644
index 00000000000000..c66b467d627df1
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.drawImage.w.html
@@ -0,0 +1,1368 @@
+
+
+
+
+
+
+Canvas test: 2d.composite.grid.no_filter.shadow.drawImage
+2d.composite.grid.no_filter.shadow.drawImage
+
+
+
+
+
+ source-over
+
+
+
+
+
+
+ source-in
+
+
+
+
+
+
+ source-out
+
+
+
+
+
+
+ source-atop
+
+
+
+
+
+
+ destination-over
+
+
+
+
+
+
+ destination-in
+
+
+
+
+
+
+ destination-out
+
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+
+ lighter
+
+
+
+
+
+
+ copy
+
+
+
+
+
+
+ xor
+
+
+
+
+
+
+ multiply
+
+
+
+
+
+
+ screen
+
+
+
+
+
+
+ overlay
+
+
+
+
+
+
+ darken
+
+
+
+
+
+
+ lighten
+
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+
+ color-burn
+
+
+
+
+
+
+ hard-light
+
+
+
+
+
+
+ soft-light
+
+
+
+
+
+
+ difference
+
+
+
+
+
+
+ exclusion
+
+
+
+
+
+
+ hue
+
+
+
+
+
+
+ saturation
+
+
+
+
+
+
+ color
+
+
+
+
+
+
+ luminosity
+
+
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.fillRect-expected.html b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.fillRect-expected.html
new file mode 100644
index 00000000000000..e16a5fcf4582ef
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.fillRect-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.no_filter.shadow.fillRect
+2d.composite.grid.no_filter.shadow.fillRect
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.fillRect.html b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.fillRect.html
new file mode 100644
index 00000000000000..3fdbfa72cafc7f
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.fillRect.html
@@ -0,0 +1,923 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.no_filter.shadow.fillRect
+2d.composite.grid.no_filter.shadow.fillRect
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.fillRect.png b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.fillRect.png
new file mode 100644
index 00000000000000..aca03a61b220c1
Binary files /dev/null and b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.fillRect.png differ
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.fillRect.w.html b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.fillRect.w.html
new file mode 100644
index 00000000000000..519631612f05ab
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.fillRect.w.html
@@ -0,0 +1,1290 @@
+
+
+
+
+
+
+Canvas test: 2d.composite.grid.no_filter.shadow.fillRect
+2d.composite.grid.no_filter.shadow.fillRect
+
+
+
+
+
+ source-over
+
+
+
+
+
+
+ source-in
+
+
+
+
+
+
+ source-out
+
+
+
+
+
+
+ source-atop
+
+
+
+
+
+
+ destination-over
+
+
+
+
+
+
+ destination-in
+
+
+
+
+
+
+ destination-out
+
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+
+ lighter
+
+
+
+
+
+
+ copy
+
+
+
+
+
+
+ xor
+
+
+
+
+
+
+ multiply
+
+
+
+
+
+
+ screen
+
+
+
+
+
+
+ overlay
+
+
+
+
+
+
+ darken
+
+
+
+
+
+
+ lighten
+
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+
+ color-burn
+
+
+
+
+
+
+ hard-light
+
+
+
+
+
+
+ soft-light
+
+
+
+
+
+
+ difference
+
+
+
+
+
+
+ exclusion
+
+
+
+
+
+
+ hue
+
+
+
+
+
+
+ saturation
+
+
+
+
+
+
+ color
+
+
+
+
+
+
+ luminosity
+
+
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.pattern-expected.html b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.pattern-expected.html
new file mode 100644
index 00000000000000..01e1d4d7b26462
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.pattern-expected.html
@@ -0,0 +1,270 @@
+
+
+Canvas test: 2d.composite.grid.no_filter.shadow.pattern
+2d.composite.grid.no_filter.shadow.pattern
+
+
+
+
+ source-over
+
+
+
+
+ source-in
+
+
+
+
+ source-out
+
+
+
+
+ source-atop
+
+
+
+
+ destination-over
+
+
+
+
+ destination-in
+
+
+
+
+ destination-out
+
+
+
+
+ destination-atop
+
+
+
+
+ lighter
+
+
+
+
+ copy
+
+
+
+
+ xor
+
+
+
+
+ multiply
+
+
+
+
+ screen
+
+
+
+
+ overlay
+
+
+
+
+ darken
+
+
+
+
+ lighten
+
+
+
+
+ color-dodge
+
+
+
+
+ color-burn
+
+
+
+
+ hard-light
+
+
+
+
+ soft-light
+
+
+
+
+ difference
+
+
+
+
+ exclusion
+
+
+
+
+ hue
+
+
+
+
+ saturation
+
+
+
+
+ color
+
+
+
+
+ luminosity
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.pattern.html b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.pattern.html
new file mode 100644
index 00000000000000..d9df6be84f174d
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.pattern.html
@@ -0,0 +1,1027 @@
+
+
+
+
+
+Canvas test: 2d.composite.grid.no_filter.shadow.pattern
+2d.composite.grid.no_filter.shadow.pattern
+
+
+
+
+ source-over
+
+
+
+
+
+ source-in
+
+
+
+
+
+ source-out
+
+
+
+
+
+ source-atop
+
+
+
+
+
+ destination-over
+
+
+
+
+
+ destination-in
+
+
+
+
+
+ destination-out
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+ lighter
+
+
+
+
+
+ copy
+
+
+
+
+
+ xor
+
+
+
+
+
+ multiply
+
+
+
+
+
+ screen
+
+
+
+
+
+ overlay
+
+
+
+
+
+ darken
+
+
+
+
+
+ lighten
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+ color-burn
+
+
+
+
+
+ hard-light
+
+
+
+
+
+ soft-light
+
+
+
+
+
+ difference
+
+
+
+
+
+ exclusion
+
+
+
+
+
+ hue
+
+
+
+
+
+ saturation
+
+
+
+
+
+ color
+
+
+
+
+
+ luminosity
+
+
+
+
+
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.pattern.png b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.pattern.png
new file mode 100644
index 00000000000000..aca03a61b220c1
Binary files /dev/null and b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.pattern.png differ
diff --git a/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.pattern.w.html b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.pattern.w.html
new file mode 100644
index 00000000000000..5c698e8c760305
--- /dev/null
+++ b/html/canvas/offscreen/compositing/2d.composite.grid.no_filter.shadow.pattern.w.html
@@ -0,0 +1,1394 @@
+
+
+
+
+
+
+Canvas test: 2d.composite.grid.no_filter.shadow.pattern
+2d.composite.grid.no_filter.shadow.pattern
+
+
+
+
+
+ source-over
+
+
+
+
+
+
+ source-in
+
+
+
+
+
+
+ source-out
+
+
+
+
+
+
+ source-atop
+
+
+
+
+
+
+ destination-over
+
+
+
+
+
+
+ destination-in
+
+
+
+
+
+
+ destination-out
+
+
+
+
+
+
+ destination-atop
+
+
+
+
+
+
+ lighter
+
+
+
+
+
+
+ copy
+
+
+
+
+
+
+ xor
+
+
+
+
+
+
+ multiply
+
+
+
+
+
+
+ screen
+
+
+
+
+
+
+ overlay
+
+
+
+
+
+
+ darken
+
+
+
+
+
+
+ lighten
+
+
+
+
+
+
+ color-dodge
+
+
+
+
+
+
+ color-burn
+
+
+
+
+
+
+ hard-light
+
+
+
+
+
+
+ soft-light
+
+
+
+
+
+
+ difference
+
+
+
+
+
+
+ exclusion
+
+
+
+
+
+
+ hue
+
+
+
+
+
+
+ saturation
+
+
+
+
+
+
+ color
+
+
+
+
+
+
+ luminosity
+
+
+
+
+
+
+
diff --git a/html/canvas/tools/gentestutilsunion.py b/html/canvas/tools/gentestutilsunion.py
index 0f7c8841fca16a..629b596b51347f 100644
--- a/html/canvas/tools/gentestutilsunion.py
+++ b/html/canvas/tools/gentestutilsunion.py
@@ -340,12 +340,18 @@ def _write_cairo_images(pycairo_code: str, output_files: _OutputPaths,
if _CanvasType.HTML_CANVAS in canvas_types:
full_code = (f'{pycairo_code}\n'
f'surface.write_to_png("{output_files.element}")\n')
- eval(compile(full_code, '', 'exec'), {'cairo': cairo})
+ eval(compile(full_code, '', 'exec'), {
+ 'cairo': cairo,
+ 'math': math,
+ })
if {_CanvasType.OFFSCREEN_CANVAS, _CanvasType.WORKER} & canvas_types:
full_code = (f'{pycairo_code}\n'
f'surface.write_to_png("{output_files.offscreen}")\n')
- eval(compile(full_code, '', 'exec'), {'cairo': cairo})
+ eval(compile(full_code, '', 'exec'), {
+ 'cairo': cairo,
+ 'math': math,
+ })
class _Variant():
diff --git a/html/canvas/tools/yaml-new/compositing.yaml b/html/canvas/tools/yaml-new/compositing.yaml
index 6bd0aaad8a51bb..4dc0df0a8f928a 100644
--- a/html/canvas/tools/yaml-new/compositing.yaml
+++ b/html/canvas/tools/yaml-new/compositing.yaml
@@ -230,3 +230,179 @@
ctx.globalAlpha = 0.51;
ctx.drawImage(offscreenCanvas2, 0, 0);
@assert pixel 50,25 ==~ 0,255,0,130;
+
+- name: 2d.composite.grid
+ size: [80, 60]
+ code: |
+ ctx.fillStyle = 'rgb(0, 102, 255)';
+ ctx.fillRect(15, 15, 50, 30);
+
+ ctx.translate(25, 20);
+ ctx.rotate(Math.PI / 2);
+ ctx.scale(0.6, 1.2);
+ ctx.translate(-25, -20);
+
+ ctx.globalAlpha = 0.5;
+
+ {{ js_filter_code }}
+ {{ js_shadow_code }}
+
+ ctx.globalCompositeOperation = '{{ variant_names[0] }}'
+
+ {{ js_draw_code }}
+ cairo_reference: |
+ # Background.
+ cr.push_group()
+ cr.set_source_rgb(0, 102/255, 1)
+ cr.rectangle(15, 15, 50, 30)
+ cr.fill()
+ background = cr.pop_group()
+
+ # Foreground.
+ cr.push_group()
+ cr.translate(25, 20)
+ cr.rotate(math.pi / 2)
+ cr.scale(0.6, 1.2)
+ cr.translate(-25, -20)
+ cr.set_source_rgba(52/255, 1, 52/255, 0.5)
+ cr.rectangle(5, 5, 50, 30)
+ cr.fill()
+ foreground = cr.pop_group()
+
+ # Filtered foreground.
+ cr.push_group()
+ {{ cairo_filter_code }}
+ cr.set_source(foreground)
+ cr.paint()
+ filtered_foreground = cr.pop_group()
+
+ {% if cairo_operator != 'SOURCE' %}
+ cr.set_source(background)
+ cr.paint()
+ {% endif %}
+
+ cr.set_operator(cairo.Operator.{{ cairo_operator }})
+
+ {% if cairo_operator != 'SOURCE' %}
+ {{ cairo_shadow_code }}
+ {% endif %}
+
+ cr.set_source(filtered_foreground)
+ cr.paint()
+ fuzzy: maxDifference=0-2; totalPixels=0-10210
+ variants_layout:
+ - single_file
+ - multi_files
+ - multi_files
+ - multi_files
+ grid_width: 6
+ variants:
+ - source-over:
+ cairo_operator: OVER
+ source-in:
+ cairo_operator: IN
+ source-out:
+ cairo_operator: OUT
+ source-atop:
+ cairo_operator: ATOP
+ destination-over:
+ cairo_operator: DEST_OVER
+ destination-in:
+ cairo_operator: DEST_IN
+ destination-out:
+ cairo_operator: DEST_OUT
+ destination-atop:
+ cairo_operator: DEST_ATOP
+ lighter:
+ cairo_operator: ADD
+ copy:
+ cairo_operator: SOURCE
+ xor:
+ cairo_operator: XOR
+ multiply:
+ cairo_operator: MULTIPLY
+ screen:
+ cairo_operator: SCREEN
+ overlay:
+ cairo_operator: OVERLAY
+ darken:
+ cairo_operator: DARKEN
+ lighten:
+ cairo_operator: LIGHTEN
+ color-dodge:
+ cairo_operator: COLOR_DODGE
+ color-burn:
+ cairo_operator: COLOR_BURN
+ hard-light:
+ cairo_operator: HARD_LIGHT
+ soft-light:
+ cairo_operator: SOFT_LIGHT
+ difference:
+ cairo_operator: DIFFERENCE
+ exclusion:
+ cairo_operator: EXCLUSION
+ hue:
+ cairo_operator: HSL_HUE
+ saturation:
+ cairo_operator: HSL_SATURATION
+ color:
+ cairo_operator: HSL_COLOR
+ luminosity:
+ cairo_operator: HSL_LUMINOSITY
+
+ - no_filter:
+ js_filter_code: // No filter.
+ cairo_filter_code: "# No filter."
+ filter:
+ js_filter_code: ctx.filter = 'drop-shadow(5px -5px 0px rgb(255, 154, 0))'
+ cairo_filter_code: |-
+ cr.push_group()
+ cr.set_operator(cairo.Operator.OVER)
+ cr.translate(5, -5) # Filter offset.
+ cr.set_source(foreground)
+ cr.paint()
+ cr.set_operator(cairo.Operator.IN)
+ cr.set_source_rgba(1, 154/255, 0)
+ cr.paint()
+ cr.pop_group_to_source()
+ cr.paint()
+
+ - no_shadow:
+ js_shadow_code: // No shadow.
+ cairo_shadow_code: "# No shadow."
+ shadow:
+ js_shadow_code: |-
+ ctx.shadowOffsetX = 20;
+ ctx.shadowOffsetY = 20;
+ ctx.shadowColor = 'rgb(154, 0, 154)';
+ cairo_shadow_code: |-
+ cr.push_group()
+ cr.set_operator(cairo.Operator.OVER)
+ cr.translate(20, 20) # Shadow offset.
+ cr.set_source(filtered_foreground)
+ cr.paint()
+ cr.set_operator(cairo.Operator.IN)
+ cr.set_source_rgb(154/255, 0, 154/255)
+ cr.paint()
+ cr.pop_group_to_source()
+ cr.paint()
+
+ - fillRect:
+ js_draw_code: |-
+ ctx.fillStyle = 'rgb(52, 255, 52)';
+ ctx.fillRect(5, 5, 50, 30);
+ drawImage:
+ js_draw_code: |-
+ const img_canvas = new OffscreenCanvas({{ size[0] }}, {{ size[1] }});
+ const img_ctx = img_canvas.getContext('2d');
+ img_ctx.fillStyle = 'rgb(52, 255, 52)';
+ img_ctx.fillRect(0, 0, {{ size[0] }}, {{ size[1] }});
+ ctx.drawImage(img_canvas, 5, 5, 50, 30);
+ pattern:
+ js_draw_code: |-
+ const img_canvas = new OffscreenCanvas({{ size[0] }}, {{ size[1] }});
+ const img_ctx = img_canvas.getContext('2d');
+ img_ctx.fillStyle = 'rgb(52, 255, 52)';
+ img_ctx.fillRect(0, 0, {{ size[0] }}, {{ size[1] }});
+ ctx.fillStyle = ctx.createPattern(img_canvas, 'repeat');
+ ctx.fillRect(5, 5, 50, 30);