Skip to content

Commit

Permalink
Auto merge of #16699 - jdm:make-cross-origin-image-tests-fail, r=ajef…
Browse files Browse the repository at this point in the history
…frey,jgraham

Make cross-origin canvas drawing tests use a same-origin redirect.

These tests either pass or maintain existing known failures in Firefox and Chrome, and expose the problem in our current implementation that #15887 is addressing.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16699)
<!-- Reviewable:end -->
  • Loading branch information
bors-servo committed May 15, 2017
2 parents ff5f903 + d143396 commit dfb9396
Show file tree
Hide file tree
Showing 35 changed files with 648 additions and 103 deletions.
186 changes: 143 additions & 43 deletions tests/wpt/metadata/MANIFEST.json
Expand Up @@ -330908,63 +330908,123 @@
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.html": [
"html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.cross.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.html",
"/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.cross.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.drawImage.image.html": [
"html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.redirect.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.html",
"/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.redirect.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.html": [
"html/semantics/embedded-content/the-canvas-element/security.drawImage.image.cross.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.html",
"/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.cross.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.html": [
"html/semantics/embedded-content/the-canvas-element/security.drawImage.image.redirect.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.html",
"/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.redirect.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.html": [
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.cross.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.html",
"/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.cross.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.create.html": [
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.redirect.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.pattern.create.html",
"/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.redirect.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.cross.html": [
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.cross.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.html",
"/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.cross.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.html": [
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.redirect.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.html",
"/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.redirect.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.html": [
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.cross.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.html",
"/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.cross.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.reset.html": [
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.redirect.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.reset.html",
"/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.redirect.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.create.cross.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.pattern.create.cross.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.create.redirect.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.pattern.create.redirect.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.cross.cross.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.cross.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.cross.redirect.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.redirect.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.cross.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.cross.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.redirect.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.redirect.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.cross.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.cross.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.redirect.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.redirect.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.reset.cross.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.reset.cross.html",
{}
]
],
"html/semantics/embedded-content/the-canvas-element/security.reset.redirect.html": [
[
"/html/semantics/embedded-content/the-canvas-element/security.reset.redirect.html",
{}
]
],
Expand Down Expand Up @@ -393342,7 +393402,7 @@
"support"
],
"2dcontext/tools/gentestutils.py": [
"61b25e0406addab477dc133edf87f25052be8a63",
"f613a789c0e231a3600070583661ba3b1842fed3",
"support"
],
"2dcontext/tools/name2dir.yaml": [
Expand All @@ -393362,7 +393422,7 @@
"support"
],
"2dcontext/tools/tests.yaml": [
"8d5dfd4ca705fa4051b2fd0e6d12bd963a2a2330",
"ce69d48960f561a0bf43b7346d7e387e2ac9e110",
"support"
],
"2dcontext/tools/tests2d.yaml": [
Expand Down Expand Up @@ -399490,7 +399550,7 @@
"support"
],
"common/canvas-tests.js": [
"0a9ce65afa17e2bad946a70addcb67c6cce1fab7",
"2db347399bee84e76c01a15ca5c0c3006fcd4d4e",
"support"
],
"common/css-red.txt": [
Expand Down Expand Up @@ -570153,44 +570213,84 @@
"4a8ff94a4be33132d36c1e23bcf3123dc332c396",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.html": [
"704c0a0a53fd73f462793a0de45c7baa8e43c2ad",
"html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.cross.html": [
"c74e8ac5a19e8eba7a225dde2fdee84f88e3c00e",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.redirect.html": [
"51494c44452d5d0830dda02b8e60baea0e51d49f",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.drawImage.image.cross.html": [
"2941763c01f9cdf660ec746f51cde40b268300fe",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.drawImage.image.redirect.html": [
"5cc004d27ac599e0f542aec575233aacd19f6526",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.cross.html": [
"6f4230968c1d5f12b3157e969f6ecdcd1d5a923c",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.redirect.html": [
"538c30f0de6c2c1952853576d00fd1fc19bd0dde",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.cross.html": [
"526e41303f134c9cb0e862a4876dec2e363a1320",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.redirect.html": [
"a8fb8cdd1387bc67eeec3687334b303f92f91a4d",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.cross.html": [
"536556689e037e136d0bd3d08dacdf087ffdf609",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.redirect.html": [
"d90f3b399affa6d795b4f7f38643dae6ba1ea3a7",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.create.cross.html": [
"f5d020386b0d6707b20b585912cf4a98fd86986a",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.drawImage.image.html": [
"66ea384fc03388a35f9fd619cf4d6223527dab2a",
"html/semantics/embedded-content/the-canvas-element/security.pattern.create.redirect.html": [
"1d4e6e8090169ed602ba7bb71f811562cdf0a528",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.html": [
"b110461dd4d72abe0faea76aaacc1604a1ae3612",
"html/semantics/embedded-content/the-canvas-element/security.pattern.cross.cross.html": [
"1bb8f33901b78142c66e3e1b989b395101488457",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.html": [
"3c1daa53672ceee8964b6bcf9a741450e6514e3f",
"html/semantics/embedded-content/the-canvas-element/security.pattern.cross.redirect.html": [
"4bf890d4778b37977b7280e42f5c004a877a18a6",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.html": [
"64e1d6fee88b357e8a621d68f1fbeb6dc404b62c",
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.cross.html": [
"8630fe5572973ec38bea623acc35ecb79e9f5e76",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.create.html": [
"a9b37d599524fa6f5f4ff22e126af70b8e3dde9a",
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.redirect.html": [
"05ea5c77fefdae06cb964cc2f6cfef9582418737",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.cross.html": [
"ecbf5c329ac07304c438948b855e2e11818181c4",
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.cross.html": [
"65390fb4f54f6359c2c6ca1e58a1423485beb689",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.html": [
"03b07eba1e0df53e337eb3cbdf4eccc6425c1694",
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.redirect.html": [
"d7c4bac59fb35405582c7a008f0e71c20805da86",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.html": [
"886f2b3fd151a266e8a39f09056964e117933f46",
"html/semantics/embedded-content/the-canvas-element/security.reset.cross.html": [
"1b844c83c588d722d3b0ef3247d76aaacddfbe9a",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/security.reset.html": [
"2f7d1915e4c1fd69992a76ad126645fc9d8726d5",
"html/semantics/embedded-content/the-canvas-element/security.reset.redirect.html": [
"93e50cbaf157c2639f62662801dc1df4b983bde9",
"testharness"
],
"html/semantics/embedded-content/the-canvas-element/size.attributes.default.html": [
Expand Down
@@ -0,0 +1,5 @@
[security.drawImage.canvas.redirect.html]
type: testharness
[drawImage of unclean canvas makes the canvas origin-unclean]
expected: FAIL

@@ -0,0 +1,5 @@
[security.drawImage.image.redirect.html]
type: testharness
[drawImage of different-origin image makes the canvas origin-unclean]
expected: FAIL

@@ -0,0 +1,5 @@
[security.pattern.canvas.fillStyle.redirect.html]
type: testharness
[Setting fillStyle to a pattern of an unclean canvas makes the canvas origin-unclean]
expected: FAIL

@@ -0,0 +1,5 @@
[security.pattern.canvas.strokeStyle.redirect.html]
type: testharness
[Setting strokeStyle to a pattern of an unclean canvas makes the canvas origin-unclean]
expected: FAIL

@@ -0,0 +1,5 @@
[security.pattern.canvas.timing.redirect.html]
type: testharness
[Pattern safety depends on whether the source was origin-clean, not on whether it still is clean]
expected: FAIL

@@ -0,0 +1,5 @@
[security.pattern.create.redirect.html]
type: testharness
[Creating an unclean pattern does not make the canvas origin-unclean]
expected: FAIL

@@ -0,0 +1,5 @@
[security.pattern.cross.redirect.html]
type: testharness
[Using an unclean pattern makes the target canvas origin-unclean, not the pattern canvas]
expected: FAIL

@@ -0,0 +1,5 @@
[security.pattern.image.fillStyle.redirect.html]
type: testharness
[Setting fillStyle to a pattern of a different-origin image makes the canvas origin-unclean]
expected: FAIL

@@ -0,0 +1,5 @@
[security.pattern.image.strokeStyle.redirect.html]
type: testharness
[Setting strokeStyle to a pattern of a different-origin image makes the canvas origin-unclean]
expected: FAIL

@@ -0,0 +1,5 @@
[security.reset.redirect.html]
type: testharness
[Resetting the canvas state does not reset the origin-clean flag]
expected: FAIL

1 change: 1 addition & 0 deletions tests/wpt/metadata/quirks-mode/unitless-length.html.ini
Expand Up @@ -1127,3 +1127,4 @@
[top: calc(2 * 2px) (standards)]
expected:
if os == "mac": FAIL

0 comments on commit dfb9396

Please sign in to comment.