author | Cameron McCormack <cam@mcc.id.au> |
Fri, 17 Apr 2020 02:57:49 +0000 | |
changeset 524542 | 325e655b6024492c976ba22bf2335ad5d2229036 |
parent 524541 | c30a54ef15b5212e9c6abd12b1f200d837cf6346 |
child 524543 | d6a4c108cd4038f7b5516c1b3ff916f5c0d98b17 |
push id | 37321 |
push user | dluca@mozilla.com |
push date | Fri, 17 Apr 2020 09:38:52 +0000 |
treeherder | mozilla-central@24537fed53e6 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | tnikkel |
bugs | 1616411 |
milestone | 77.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/dom/html/reftests/reftest.list +++ b/dom/html/reftests/reftest.list @@ -39,17 +39,17 @@ skip-if(Android) == 649134-2.html 649134 == image-load-shortcircuit-1.html image-load-shortcircuit-ref.html == image-load-shortcircuit-2.html image-load-shortcircuit-ref.html # Test that image documents taken into account CSS properties like # image-orientation when determining the size of the image. # (Fuzzy necessary due to pixel-wise comparison of different JPEGs. # The vast majority of the fuzziness comes from Linux and WinXP.) pref(layout.css.image-orientation.initial-from-image,true) fuzzy(0-2,0-830) == bug917595-iframe-1.html bug917595-1-ref.html -fuzzy(0-3,0-640) fuzzy-if(skiaContent,0-3,0-7544) fuzzy-if(webrender&&!geckoview,2-3,3092-7544) == bug917595-exif-rotated.jpg bug917595-pixel-rotated.jpg # bug 1060869 +fuzzy(0-3,0-640) fuzzy-if(skiaContent,0-3,0-7544) fuzzy-if(webrender&&!geckoview,2-3,52-7544) == bug917595-exif-rotated.jpg bug917595-pixel-rotated.jpg # bug 1060869 # Test support for SVG-as-image in <picture> elements. == bug1106522-1.html bug1106522-ref.html == bug1106522-2.html bug1106522-ref.html == href-attr-change-restyles.html href-attr-change-restyles-ref.html == figure.html figure-ref.html == pre-1.html pre-1-ref.html
new file mode 100644 --- /dev/null +++ b/image/test/reftest/downscaling/downscale-orient-ref.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<!-- Any copyright is dedicated to the Public Domain. + - http://creativecommons.org/publicdomain/zero/1.0/ --> +<html class="reftest-wait"> +<head> + <script> + function snapshot() { + document.documentElement.removeAttribute('class'); + } + </script> +</head> +<!-- NOTE: Using setTimeout to wait for high-quality downscaled version of + image to be ready, because there's nothing better we can do. If we fix + Bug 1006883, we can do away with this setTimeout. + + For now, the setTimeout is just here to increase the likelihood that we + actually test the high-quality downscaled version of the image. If the + setTimeout happens to fire before the high-quality downscaled rendering is + ready, then this the test will pass without testing what it's trying to + test, which is fine as long as that's rare. --> +<body onload="setTimeout(snapshot, 50)"> + <img src="image-pre-rotated-90-deg.jpg" style="width: 50px; height: 25px;"> +</body> +</html>
new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0db684e0d746e50a2f73cbb20f611202d1bed544 GIT binary patch literal 146 zc%17D@N?(olHy`uVBq!ia0vp^MnEjd!3HFYLuy@sRHUbiV@O16@(o3a@AI$S$XKs( z*6{EOcQ;$3R}%yKd#X~dC@+?i{CYy+%Zbv9cm8iVcJ2F<j6TVIo?-u&o0k1s?ow=n fst~M~!<LD`X`a*)pMIxipd}2Ru6{1-oD!M<R#G>u
new file mode 100644 --- /dev/null +++ b/image/test/reftest/downscaling/downscale-orient.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<!-- Any copyright is dedicated to the Public Domain. + - http://creativecommons.org/publicdomain/zero/1.0/ --> +<html class="reftest-wait"> +<head> + <script> + function snapshot() { + document.documentElement.removeAttribute('class'); + } + </script> +</head> +<!-- NOTE: Using setTimeout to wait for high-quality downscaled version of + image to be ready, because there's nothing better we can do. If we fix + Bug 1006883, we can do away with this setTimeout. + + For now, the setTimeout is just here to increase the likelihood that we + actually test the high-quality downscaled version of the image. If the + setTimeout happens to fire before the high-quality downscaled rendering is + ready, then this the test will pass without testing what it's trying to + test, which is fine as long as that's rare. --> +<body onload="setTimeout(snapshot, 50)"> + <img src="../../../../layout/reftests/image/image-exif-90-deg.jpg" style="width: 50px; height: 25px;"> +</body> +</html>
new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..b8817f9bf5de44a0e0737026f9e6af87767268df GIT binary patch literal 6914 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 Jc*z=l@(;3^GnN1V
--- a/image/test/reftest/downscaling/reftest.list +++ b/image/test/reftest/downscaling/reftest.list @@ -105,16 +105,19 @@ fuzzy(0-1,0-1) == downscale-16px.html?ff == downscale-32px.html?.bmp downscale-32px-ref.html == downscale-32px.html?.gif downscale-32px-ref.html fuzzy(0-1,0-1024) == downscale-32px.html?.jpg downscale-32px-ref.html == downscale-32px.html?.png downscale-32px-ref.html == downscale-32px.html?.svg downscale-32px-ref.html == downscale-32px.html?-bmp-in.ico downscale-32px-ref.html == downscale-32px.html?-png-in.ico downscale-32px-ref.html +# Test downscaling a JPEG with orientation metadata. +pref(layout.css.image-orientation.initial-from-image,true) fuzzy(0-1,0-50) == downscale-orient.html downscale-orient-ref.html + # RUN TESTS WITH DOWNSCALE-DURING-DECODE ENABLED: # =============================================== defaults pref(image.downscale-during-decode.enabled,true) fuzzy(0-31,0-127) fuzzy-if(d2d,0-31,0-147) == downscale-1.html downscale-1-ref.html # intermittently 147 pixels on win7 accelerated only (not win8) fuzzy(0-20,0-999) != downscale-2a.html?203,52,left about:blank fuzzy(0-20,0-999) != downscale-2b.html?203,52,left about:blank @@ -191,16 +194,19 @@ fuzzy(0-3,0-32) == downscale-16px.html?f fuzzy(0-18,0-128) == downscale-32px.html?.bmp downscale-32px-ref.html fuzzy(0-18,0-128) == downscale-32px.html?.gif downscale-32px-ref.html fuzzy(0-19,0-992) == downscale-32px.html?.jpg downscale-32px-ref.html fuzzy(0-18,0-128) == downscale-32px.html?.png downscale-32px-ref.html == downscale-32px.html?.svg downscale-32px-ref.html fuzzy(0-18,0-128) == downscale-32px.html?-bmp-in.ico downscale-32px-ref.html fuzzy(0-18,0-128) == downscale-32px.html?-png-in.ico downscale-32px-ref.html +# Test downscaling a JPEG with orientation metadata. +pref(layout.css.image-orientation.initial-from-image,true) fuzzy(0-4,0-15) == downscale-orient.html downscale-orient-ref.html + # Test images taller or wider than 32767 pixels. == huge-1.html?100x32768.png,100,100 huge-1.html?100x100.png,100,100 == huge-1.html?100x32768.png,100,32768 huge-1.html?100x100.png,100,32768 == huge-1.html?32768x100.png,100,100 huge-1.html?100x100.png,100,100 == huge-1.html?32768x100.png,32768,100 huge-1.html?100x100.png,32768,100 == huge-1.html?100x32768.gif,100,100 huge-1.html?100x100.gif,100,100 == huge-1.html?100x32768.gif,100,32768 huge-1.html?100x100.gif,100,32768 == huge-1.html?32768x100.gif,100,100 huge-1.html?100x100.gif,100,100
new file mode 100644 --- /dev/null +++ b/layout/reftests/image-element/orientation-1-ref.html @@ -0,0 +1,3 @@ +<!DOCTYPE html> +<div style="width: 200px; height: 100px;"><img src="../image/image-exif-90-deg.jpg"></div> +<img src="../image/image-exif-90-deg.jpg">
new file mode 100644 --- /dev/null +++ b/layout/reftests/image-element/orientation-1.html @@ -0,0 +1,4 @@ +<!DOCTYPE html> +<!-- Test that -moz-element() honors a target image's orientation metadata. --> +<div style="width: 200px; height: 100px; background-image: -moz-element(#e);"></div> +<img id="e" src="../image/image-exif-90-deg.jpg">
--- a/layout/reftests/image-element/reftest.list +++ b/layout/reftests/image-element/reftest.list @@ -44,10 +44,10 @@ fuzzy(0-1,0-16900) == gradient-html-07c. HTTP == invalidate-1.html invalidate-1-ref.html == pattern-html-01.html pattern-html-01-ref.svg == pattern-html-02.html pattern-html-02-ref.svg != broken-icon.html no-src.html != broken-icon.html empty-src.html == empty-src.html no-src.html == broken-icon.html invalid-src.html fails == invalid-src.html invalid-src-2.html # bug 1506804 - fuzzy-if(skiaContent,0-1,0-30000) == mask-image-element.html mask-image-element-ref.html +pref(image.honor-orientation-metadata,true) pref(layout.css.image-orientation.initial-from-image,true) == orientation-1.html orientation-1-ref.html
deleted file mode 100644 --- a/layout/reftests/image/image-orientation-border-image.html +++ /dev/null @@ -1,41 +0,0 @@ -<!DOCTYPE> -<head> - <style> - body { - border: 0px; - margin: 0px; - padding: 0px; - } - div { - width: 100px; - height: 100px; - margin: 50px; - - /* This is deliberately an image with a non-neutral inherent orientation to */ - /* ensure that the inherent orientation is irrelevant. */ - border-style: solid; - border-width: 20px; - border-image: url(image-exif-90-deg-flip.jpg) 27 repeat; - } - </style> -</head> -<body> - <div></div> - - <script> - var fromImage = location.search == "from-image"; - - // Construct a style. - var style; - if (fromImage) { - style = "div { image-orientation: from-image; }\n"; - } else { - style = "div { image-orientation: none; }\n"; - } - - // Apply the style to the document. - var sheet = document.createElement('style'); - sheet.innerHTML = style; - document.body.appendChild(sheet); - </script> -</body>
deleted file mode 100644 --- a/layout/reftests/image/image-orientation-list-style-image.html +++ /dev/null @@ -1,39 +0,0 @@ -<!DOCTYPE> -<head> - <style> - body { - border: 0px; - margin: 0px; - padding: 0px; - } - ul { - list-style-position: inside; - list-style-image: url(image-exif-270-deg-flip.jpg); - } - </style> -</head> -<body> - <ul><li></li></ul> - - <script> - var orientation = location.search.substring(1).split("&"); - var angle = orientation[0]; - var flip = orientation[1] == "flip" ? true : false; - - // Construct a style. "from-image" is special-cased. - var style; - if (angle == "from-image") { - style = "ul { image-orientation: from-image; }\n"; - } else { - style = "ul { image-orientation: " - + angle + "deg" - + (flip ? " flip" : "") - + "; }\n"; - } - - // Apply the style to the document. - var sheet = document.createElement('style'); - sheet.innerHTML = style; - document.body.appendChild(sheet); - </script> -</body>
--- a/layout/reftests/image/reftest.list +++ b/layout/reftests/image/reftest.list @@ -33,21 +33,16 @@ fuzzy(0-1,0-1) == image-orientation-from fuzzy(0-1,0-1) == image-orientation-from-image.html?270&flip image-orientation-ref.html?270&flip # Tests for image-orientation used with an explicit 'none' orientation: fuzzy(0-1,0-1) == image-orientation-explicit-none.html image-orientation-ref.html?0 # Tests for image-orientation:from-image used on generated content: fuzzy(0-1,0-1) == image-orientation-generated-content.html image-orientation-generated-content-ref.html -# Tests that image-orientation does not apply to decorative images: -fuzzy(0-1,0-1) == image-orientation-background.html?from-image image-orientation-ref.html?none -== image-orientation-border-image.html?from-image image-orientation-border-image.html?none -== image-orientation-list-style-image.html?from-image image-orientation-list-style-image.html?none - fuzzy(0-1,0-1) == image-orientation-dynamic.html image-orientation-dynamic-ref.html # <img srcset> tests == image-srcset-basic-selection-0.1x.html image-srcset-basic-selection-0.1x-ref.html == image-srcset-basic-selection-2x.html image-srcset-basic-selection-2x-ref.html == image-srcset-basic-selection-0.5x.html image-srcset-basic-selection-0.5x-ref.html == image-srcset-basic-selection-0.6x.html image-srcset-basic-selection-0.6x-ref.html random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == image-srcset-basic-selection-1.5x.html image-srcset-basic-selection-1.5x-ref.html # Bug 1392106
new file mode 100644 --- /dev/null +++ b/testing/web-platform/meta/2dcontext/drawing-images-to-the-canvas/image-orientation/__dir__.ini @@ -0,0 +1,1 @@ +prefs: [layout.css.image-orientation.initial-from-image:true, image.honor-orientation-metadata:true]
new file mode 100644 --- /dev/null +++ b/testing/web-platform/meta/2dcontext/drawing-images-to-the-canvas/image-orientation/drawImage-from-bitmap-orientation-none.tentative.html.ini @@ -0,0 +1,2 @@ +[drawImage-from-bitmap-orientation-none.tentative.html] + expected: FAIL
new file mode 100644 --- /dev/null +++ b/testing/web-platform/meta/2dcontext/drawing-images-to-the-canvas/image-orientation/drawImage-from-bitmap-swap-width-height-orientation-none.tentative.html.ini @@ -0,0 +1,2 @@ +[drawImage-from-bitmap-swap-width-height-orientation-none.tentative.html] + expected: FAIL
deleted file mode 100644 --- a/testing/web-platform/meta/2dcontext/drawing-images-to-the-canvas/image-orientation/drawImage-from-bitmap-swap-width-height.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[drawImage-from-bitmap-swap-width-height.tentative.html] - expected: FAIL
deleted file mode 100644 --- a/testing/web-platform/meta/2dcontext/drawing-images-to-the-canvas/image-orientation/drawImage-from-bitmap.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[drawImage-from-bitmap.tentative.html] - expected: FAIL
new file mode 100644 --- /dev/null +++ b/testing/web-platform/meta/2dcontext/drawing-images-to-the-canvas/image-orientation/drawImage-from-element-orientation-none.tentative.html.ini @@ -0,0 +1,2 @@ +[drawImage-from-element-orientation-none.tentative.html] + expected: FAIL
new file mode 100644 --- /dev/null +++ b/testing/web-platform/meta/2dcontext/drawing-images-to-the-canvas/image-orientation/drawImage-from-element-swap-width-height-orientation-none.tentative.html.ini @@ -0,0 +1,2 @@ +[drawImage-from-element-swap-width-height-orientation-none.tentative.html] + expected: FAIL
deleted file mode 100644 --- a/testing/web-platform/meta/2dcontext/drawing-images-to-the-canvas/image-orientation/drawImage-from-element-swap-width-height.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[drawImage-from-element-swap-width-height.tentative.html] - expected: FAIL
deleted file mode 100644 --- a/testing/web-platform/meta/2dcontext/drawing-images-to-the-canvas/image-orientation/drawImage-from-element.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[drawImage-from-element.tentative.html] - expected: FAIL
--- a/testing/web-platform/meta/css/css-images/image-orientation/__dir__.ini +++ b/testing/web-platform/meta/css/css-images/image-orientation/__dir__.ini @@ -1,1 +1,2 @@ leak-threshold: [default:51200] +prefs: [image.honor-orientation-metadata:true, layout.css.image-orientation.initial-from-image:true]
new file mode 100644 --- /dev/null +++ b/testing/web-platform/meta/css/css-images/image-orientation/image-orientation-background-image.html.ini @@ -0,0 +1,2 @@ +[image-orientation-background-image.html] + fuzzy: 2;40
new file mode 100644 --- /dev/null +++ b/testing/web-platform/meta/css/css-images/image-orientation/image-orientation-border-image.html.ini @@ -0,0 +1,2 @@ +[image-orientation-border-image.html] + fuzzy: 0-16;80-160
new file mode 100644 --- /dev/null +++ b/testing/web-platform/meta/css/css-images/image-orientation/image-orientation-list-style-image.html.ini @@ -0,0 +1,2 @@ +[image-orientation-list-style-image.html] + fuzzy: 0-4;0-41
new file mode 100644 --- /dev/null +++ b/testing/web-platform/meta/css/css-images/image-orientation/image-orientation-mask-image.html.ini @@ -0,0 +1,2 @@ +[image-orientation-mask-image.html] + fuzzy: 1;22
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/image-orientation/image-orientation-background-image.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Images Module Level 3: image-orientation does not apply to background-image</title> +<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au"> +<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation"> +<link rel="match" href="reference/image-orientation-background-image-ref.html"> +<meta name=fuzzy content="2;40"> +<style> +div { width: 100px; height: 50px; background-image: url(support/exif-orientation-2-ur.jpg); } +.no-orient { image-orientation: none; } +</style> +<div></div> +<div class="no-orient"></div>
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/image-orientation/image-orientation-border-image.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Images Module Level 3: image-orientation does not apply to border images</title> +<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au"> +<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation"> +<link rel="match" href="reference/image-orientation-border-image-ref.html"> +<style> +div { + width: 100px; + height: 50px; + border: 10px solid black; + border-image: url(support/exif-orientation-2-ur.jpg) 10; +} +.no-orient { image-orientation: none; } +</style> +<div></div> +<div class="no-orient"></div>
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/image-orientation/image-orientation-list-style-image.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Images Module Level 3: image-orientation does not apply to list-style-image</title> +<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au"> +<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation"> +<link rel="match" href="reference/image-orientation-list-style-image-ref.html"> +<meta name=fuzzy content="2;40"> +<style> +ul { margin-left: 100px; list-style-image: url(support/exif-orientation-2-ur.jpg); } +.no-orient { image-orientation: none; } +</style> +<ul><li> </li></ul> +<ul class="no-orient"><li> </li></ul>
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/image-orientation/image-orientation-mask-image.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Images Module Level 3: image-orientation does not apply to mask-image</title> +<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au"> +<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation"> +<link rel="match" href="reference/image-orientation-mask-image-ref.html"> +<meta name=fuzzy content="1;22"> +<style> +div { + width: 100px; + height: 50px; + background: blue; + mask-image: url(support/exif-orientation-2-ur.jpg); + mask-mode: luminance; +} +.no-orient { image-orientation: none; } +</style> +<div></div> +<div class="no-orient"></div>
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/image-orientation/reference/image-orientation-background-image-ref.html @@ -0,0 +1,9 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Reference</title> +<style> +div { width: 100px; height: 50px; background-image: url(../support/exif-orientation-2-ur-pre-rotated.jpg); } +</style> +<div></div> +<div></div> +
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/image-orientation/reference/image-orientation-border-image-ref.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Reference</title> +<style> +div { + width: 100px; + height: 50px; + border: 10px solid black; + border-image: url(../support/exif-orientation-2-ur-pre-rotated.jpg) 10; +} +</style> +<div></div> +<div></div>
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/image-orientation/reference/image-orientation-list-style-image-ref.html @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Reference</title> +<style> +ul { margin-left: 100px; list-style-image: url(../support/exif-orientation-2-ur-pre-rotated.jpg); } +</style> +<ul><li> </li></ul> +<ul><li> </li></ul>
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/image-orientation/reference/image-orientation-mask-image-ref.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Reference</title> +<style> +div { + width: 100px; + height: 50px; + background: blue; + mask-image: url(../support/exif-orientation-2-ur-pre-rotated.jpg); + mask-mode: luminance; +} +</style> +<div></div> +<div></div>