Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(72)

Unified Diff: third_party/WebKit/LayoutTests/fast/images/cmyk-jpeg-with-color-profile.html

Issue 2228333003: Use testharness.js in fast/images/ for border/cmyk tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Code changed as per comments. Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/fast/images/cmyk-jpeg-with-color-profile.html
diff --git a/third_party/WebKit/LayoutTests/fast/images/cmyk-jpeg-with-color-profile.html b/third_party/WebKit/LayoutTests/fast/images/cmyk-jpeg-with-color-profile.html
index 0aebbcfb19cc32f11a330c356c824a78c8a91736..28fae6d64ee601ec1a3f95ee4be09b9b712be578 100644
--- a/third_party/WebKit/LayoutTests/fast/images/cmyk-jpeg-with-color-profile.html
+++ b/third_party/WebKit/LayoutTests/fast/images/cmyk-jpeg-with-color-profile.html
@@ -1,9 +1,44 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="../../resources/js-test.js"></script>
-</head>
-<body>
-<script src="script-tests/cmyk-jpeg-with-color-profile.js"></script>
-</body>
-</html>
+<title>Test that we can render a CMYK JPEG without color corruption.</title>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script type="text/javascript">
+async_test(function(t) {
+ // The colors used for verifying the test results.
+ var red = 0, green = 0, blue = 0, alpha = 0;
+ // Create a canvas element. This element is used for pasting a CMYK JPEG and
+ // reading its pixels.
+ var canvas = document.createElement("canvas");
+ canvas.width = 64;
+ canvas.height = 64;
+ // Create an image object and load a CMYK JPEG.
+ var image = new Image();
+ image.onload = t.step_func_done(function() {
+ // Paste the loaded JPEG ('resources/cmyk-jpeg.jpg') to the canvas.
+ var context = canvas.getContext("2d");
+ context.drawImage(image, 0, 0);
+
+ // Read the pixels in the canvas and calculate their average values.
+ // (DumpRenderTree always allows to read them.)
+ var data = context.getImageData(0, 0, canvas.width, canvas.height);
+ var pixels = canvas.width * canvas.height;
+ for (var i = 0; i < pixels * 4; i += 4) {
+ red += data.data[i + 0];
+ green += data.data[i + 1];
+ blue += data.data[i + 2];
+ alpha += data.data[i + 3];
+ }
+ red /= pixels;
+ green /= pixels;
+ blue /= pixels;
+ alpha /= pixels;
+
+ // Even though the output colors depend on color-profiles (i.e. they depend
+ // on devices), green must be the most prominent color because the source
+ // image only consists of green. So, we test it.
+ assert_greater_than(green, red);
+ assert_greater_than(green, blue);
+ });
+ image.src = "resources/cmyk-jpeg.jpg";
+});
+</script>

Powered by Google App Engine
This is Rietveld 408576698