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

Unified Diff: third_party/WebKit/LayoutTests/fast/images/resources/color-checker-munsell-chart.js

Issue 2496663002: Merge css3/image/ and fast/images/ to images/ (Closed)
Patch Set: Address failing tests (3 of them) Created 4 years, 1 month 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/resources/color-checker-munsell-chart.js
diff --git a/third_party/WebKit/LayoutTests/fast/images/resources/color-checker-munsell-chart.js b/third_party/WebKit/LayoutTests/fast/images/resources/color-checker-munsell-chart.js
deleted file mode 100644
index 2f494b316a5d03ca9371c20f55af00922a007951..0000000000000000000000000000000000000000
--- a/third_party/WebKit/LayoutTests/fast/images/resources/color-checker-munsell-chart.js
+++ /dev/null
@@ -1,137 +0,0 @@
-function log(message) {
- document.getElementById('log').textContent += message + '\n';
-}
-
-function testImageColors(source) {
- var image = document.querySelector('img');
-
- image.onload = function() {
- runAfterLayoutAndPaint(window.testRunner ? changeColorProfile : profileChanged);
- };
-
- image.src = source;
-}
-
-function changeColorProfile() {
- /* The test image contains the Munsell colors in a known color space. Convert
- * the colors to sRGB color space and test the transformed color accuracy.
- */
- window.testRunner.setColorProfile('sRGB', profileChanged);
-}
-
-function profileChanged() {
- setTimeout(drawImageToCanvas, 0);
-}
-
-function drawImageToCanvas() {
- var image = document.querySelector('img');
-
- var canvas = document.querySelector('canvas');
- canvas.width = image.width;
- canvas.height = image.height;
-
- canvas.getContext('2d').drawImage(image, 0, 0, canvas.width, canvas.height);
- chartColorTransform(canvas);
-}
-
-function getCanvasColor(canvas, i) {
- var x = 40 + (i % 6) * (canvas.width / 6);
- var y = 40 + Math.floor(i / 6) * (canvas.height / 4);
- try {
- var data = canvas.getContext('2d').getImageData(x, y, 1, 1).data;
- if (data[3] == 255)
- return { rgb: [data[0], data[1], data[2]] };
- return { rgb: [0, 0, 0] };
- } catch (error) {
- console.error(error);
- return { rgb: [255, 255, 255] };
- }
-}
-
-function getMunsellColor(i) {
- if (!window.munsell_srgb_colors) {
- window.munsell_srgb_colors = new Array( // Munsell colors in sRGB space.
- { color: 'Dark Skin', rgb: [ 115, 80, 64 ] },
- { color: 'Light Skin', rgb: [ 195, 151, 130 ] },
- { color: 'Blue Sky', rgb: [ 94, 123, 156 ] },
- { color: 'Foliage', rgb: [ 88, 108, 65 ] },
- { color: 'Blue Flower', rgb: [ 130, 129, 177 ] },
- { color: 'Bluish Green', rgb: [ 100, 190, 171 ] },
- { color: 'Orange', rgb: [ 217, 122, 37 ] },
- { color: 'Purplish Blue', rgb: [ 72, 91, 165 ] },
- { color: 'Moderate Red', rgb: [ 194, 84, 98 ] },
- { color: 'Purple', rgb: [ 91, 59, 107 ] },
- { color: 'Yellow Green', rgb: [ 160, 188, 60 ] },
- { color: 'Orange Yellow', rgb: [ 230, 163, 42 ] },
- { color: 'Blue', rgb: [ 46, 60, 153 ] },
- { color: 'Green', rgb: [ 71, 150, 69 ] },
- { color: 'Red', rgb: [ 177, 44, 56 ] },
- { color: 'Yellow', rgb: [ 238, 200, 27 ] },
- { color: 'Magenta', rgb: [ 187, 82, 148 ] },
- { color: 'Cyan (*)', rgb: [ /* -49 */ 0, 135, 166 ] },
- { color: 'White', rgb: [ 243, 242, 237 ] },
- { color: 'Neutral 8', rgb: [ 201, 201, 201 ] },
- { color: 'Neutral 6.5', rgb: [ 161, 161, 161 ] },
- { color: 'Neutral 5', rgb: [ 122, 122, 121 ] },
- { color: 'Neutral 3.5', rgb: [ 83, 83, 83 ] },
- { color: 'Black', rgb: [ 50, 49, 50 ] }
- );
- }
-
- if (i < 0 && i >= munsell_srgb_colors.length)
- return { color: 'invalid-color', rgb: [ 0, 0, 0 ] };
- return munsell_srgb_colors[i];
-}
-
-function getColorError(cx, cy) {
- var dr = (cx[0] - cy[0]);
- var dg = (cx[1] - cy[1]);
- var db = (cx[2] - cy[2]);
- return Math.round(Math.sqrt((dr * dr) + (dg * dg) + (db * db)));
-}
-
-function pad(string, size) {
- size = size || 14;
- if (string.length < size)
- string += ' '.repeat(size - string.length);
- return string;
-}
-
-function drawRule(size) {
- log('-'.repeat(size || 44));
-}
-
-function chartColorTransform(canvas) {
- /*
- * Add header over table of color names, acutal and expected values, and the
- * per color error (Euclidean distance).
- */
- log(pad('Color') + pad('Actual') + pad('Expected') + 'dE');
- drawRule();
-
- var totalSquaredError = 0.0;
-
- /*
- * Report per color error dE, by comparing with the expected Munsell colors.
- */
- for (var i = 0; i < 24;) {
- var expected = getMunsellColor(i);
- var actual = getCanvasColor(canvas, i);
- var dE = getColorError(actual.rgb, expected.rgb);
-
- log(pad(expected.color) + pad(actual.rgb.join(',')) + pad(expected.rgb.join(',')) + dE);
- totalSquaredError += dE * dE;
-
- if (++i % 6 == 0 && i < 24)
- drawRule();
- }
-
- /*
- * Report the total RMS color error neglecting out-of-srgb-gamut color Cyan.
- */
- drawRule();
- log('\nResult: total RMS color error: ' + Math.sqrt(totalSquaredError / 24.0).toFixed(2));
-
- if (window.testRunner)
- window.testRunner.notifyDone();
-}

Powered by Google App Engine
This is Rietveld 408576698