Source/WebCore: [chromium] REGRESSION(r107389) Visible line artifacts on some JPEG...
authornoel.gordon@gmail.com <noel.gordon@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 10 May 2012 13:15:47 +0000 (13:15 +0000)
committernoel.gordon@gmail.com <noel.gordon@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 10 May 2012 13:15:47 +0000 (13:15 +0000)
https://bugs.webkit.org/show_bug.cgi?id=85772

Reviewed by Kent Tamura.

On some JPEG images, vertical and horizontal lines artifacts might appear in image
regions with very high frequency color variation when using DCT_IFAST decodes. Use
DCT_IFAST on small screen devices only (Chromium Android).

No new tests. Covered by existing tests.

* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(dctMethod): Permit DCT_IFAST decoding for Chromium Android only.

LayoutTests: [chromium] REGRESSION(r107389) Visible line artifacts on JPEG images
https://bugs.webkit.org/show_bug.cgi?id=85772

Reviewed by Kent Tamura.

* platform/chromium/test_expectations.txt: Add IMAGE expectations.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@116636 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/platform/chromium/test_expectations.txt
Source/WebCore/ChangeLog
Source/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp

index 172935f..5c6d5c5 100644 (file)
@@ -1,3 +1,12 @@
+2012-05-10  Noel Gordon  <noel.gordon@gmail.com>
+
+        [chromium] REGRESSION(r107389) Visible line artifacts on JPEG images
+        https://bugs.webkit.org/show_bug.cgi?id=85772
+
+        Reviewed by Kent Tamura.
+
+        * platform/chromium/test_expectations.txt: Add IMAGE expectations.
+
 2012-05-10  Thiago Marcos P. Santos  <thiago.santos@intel.com>
 
         [EFL] Gardening of flaky tests
index a64ad23..a067e1e 100644 (file)
@@ -2973,7 +2973,7 @@ BUGWK72530 SLOW DEBUG : fast/frames/sandboxed-iframe-navigation-targetlink.html
 BUGWK69998 LINUX WIN : plugins/refcount-leaks.html = PASS TEXT
 
 // ICC color profiles are not supported on WIN, LINUX so SKIP for now.
-BUGWK70001 SKIP LINUX WIN : fast/images/color-jpeg-with-color-profile.html = FAIL MISSING
+BUGWK70001 SKIP LINUX WIN : fast/images/color-jpeg-with-color-profile.html = FAIL IMAGE MISSING
 
 // V8 handles stack overflow exceptions differently than JSC
 BUGWK70210 : fast/js/stack-overflow-arrity-catch.html = TEXT
@@ -3358,10 +3358,10 @@ BUGWK37244 : tables/mozilla/bugs/bug27038-2.html = IMAGE+TEXT
 
 // Tests still flaky on the given platforms. They may not actually be flaky, but prior to
 // a rebaselining they were showing inconsistent results.
-BUGWK81631 WIN LINUX DEBUG : tables/mozilla_expected_failures/bugs/bug85016.html = IMAGE PASS
+BUGWK81631 WIN LINUX : tables/mozilla_expected_failures/bugs/bug85016.html = IMAGE PASS
 BUGWK81631 WIN LINUX DEBUG : fast/writing-mode/block-level-images.html = IMAGE PASS
 BUGWK81631 MAC : tables/mozilla_expected_failures/bugs/bug85016.html = IMAGE PASS
-BUGWK81631 MAC : fast/repaint/block-layout-inline-children-replaced.html = IMAGE PASS
+BUGWK81631 : fast/repaint/block-layout-inline-children-replaced.html = IMAGE PASS
 BUGWK81631 MAC : fast/writing-mode/block-level-images.html = IMAGE PASS
 BUGWK81631 MAC : fast/table/quote-text-around-iframe.html = IMAGE PASS
 
@@ -3867,7 +3867,7 @@ BUGWK83954 : fast/table/colspanMinWidth.html = TEXT
 BUGWK83954 : fast/table/overflowHidden.html = TEXT
 BUGWK83954 : fast/table/spanOverlapRepaint.html = TEXT
 BUGWK83954 : fast/table/text-field-baseline.html = TEXT
-BUGWK83954 : tables/mozilla/bugs/bug1188.html = TEXT
+BUGWK83954 : tables/mozilla/bugs/bug1188.html = IMAGE TEXT
 BUGWK83954 WIN LINUX : fast/block/float/avoiding-float-centered.html = TEXT
 BUGWK83954 WIN LINUX : fast/clip/008.html = TEXT
 BUGWK83954 WIN LINUX : fast/clip/011.html = TEXT
@@ -3876,6 +3876,108 @@ BUGWK83954 : fast/forms/input-text-double-click.html = TEXT
 BUGWK83954 : http/tests/navigation/javascriptlink-frames.html = TEXT
 BUGWK83954 : fast/forms/date/date-appearance.html = TEXT
 
+BUGNOEL : compositing/geometry/horizontal-scroll-composited.html = IMAGE
+BUGNOEL : compositing/geometry/vertical-scroll-composited.html = IMAGE
+BUGNOEL : fast/backgrounds/size/backgroundSize17.html = IMAGE
+BUGNOEL : fast/backgrounds/size/backgroundSize18.html = IMAGE
+BUGNOEL : fast/backgrounds/size/backgroundSize19.html = IMAGE
+BUGNOEL : fast/backgrounds/size/backgroundSize20.html = IMAGE
+BUGNOEL : fast/backgrounds/size/backgroundSize21.html = IMAGE
+BUGNOEL : fast/backgrounds/size/backgroundSize22.html = IMAGE
+BUGNOEL : fast/backgrounds/size/contain-and-cover-zoomed.html = IMAGE
+BUGNOEL : fast/backgrounds/size/contain-and-cover.html = IMAGE
+BUGNOEL : fast/block/float/014.html = IMAGE
+BUGNOEL : fast/css/line-height-determined-by-primary-font.html = IMAGE
+BUGNOEL : fast/images/gray-scale-jpeg-with-color-profile.html = IMAGE
+BUGNOEL : fast/images/image-css3-content-data.html = IMAGE
+BUGNOEL : fast/images/rgb-jpeg-with-adobe-marker-only.html = IMAGE
+BUGNOEL : fast/images/ycbcr-with-cmyk-color-profile.html = IMAGE
+BUGNOEL : fast/repaint/backgroundSizeRepaint.html = IMAGE
+BUGNOEL : fast/repaint/clipped-relative.html = IMAGE
+BUGNOEL : fast/repaint/selected-replaced.html = IMAGE
+BUGNOEL : fast/replaced/absolute-image-sizing.html = IMAGE
+BUGNOEL : fast/replaced/image-onload.html = IMAGE
+BUGNOEL : fast/replaced/image-sizing.html = IMAGE
+BUGNOEL : fast/replaced/image-tag.html = IMAGE
+BUGNOEL : fast/replaced/width100percent-image.html = IMAGE
+BUGNOEL : fast/writing-mode/background-horizontal-bt.html = IMAGE
+BUGNOEL : fast/writing-mode/background-vertical-lr.html = IMAGE
+BUGNOEL : fast/writing-mode/background-vertical-rl.html = IMAGE
+BUGNOEL : platform/chromium/compositing/img-layer-grow.html = IMAGE
+BUGNOEL : svg/W3C-SVG-1.1/animate-elem-30-t.svg = IMAGE
+BUGNOEL : svg/W3C-SVG-1.1/animate-elem-36-t.svg = IMAGE
+BUGNOEL : svg/W3C-SVG-1.1/animate-elem-39-t.svg = IMAGE
+BUGNOEL : svg/W3C-SVG-1.1/animate-elem-40-t.svg = IMAGE
+BUGNOEL : svg/W3C-SVG-1.1/coords-viewattr-02-b.svg = IMAGE
+BUGNOEL : svg/W3C-SVG-1.1/filters-image-01-b.svg = IMAGE
+BUGNOEL : svg/W3C-SVG-1.1/struct-image-01-t.svg = IMAGE
+BUGNOEL : svg/W3C-SVG-1.1/struct-image-02-b.svg = IMAGE
+BUGNOEL : svg/W3C-SVG-1.1/struct-image-04-t.svg = IMAGE
+BUGNOEL : svg/carto.net/scrollbar.svg = IMAGE
+BUGNOEL : svg/carto.net/selectionlist.svg = IMAGE
+BUGNOEL : svg/custom/image-rescale-clip.html = IMAGE
+BUGNOEL : svg/custom/image-rescale-scroll.html = IMAGE
+BUGNOEL : svg/custom/image-rescale.svg = IMAGE
+BUGNOEL : svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr.html = IMAGE
+BUGNOEL : svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop.html = IMAGE
+BUGNOEL : svg/repaint/image-href-change.svg = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug101674.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug10565.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug11026.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug120107.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug1271.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug12908-1.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug12908-2.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug1296.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug13169.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug1430.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug15544.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug17138.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug196870.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug29314.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug2981-2.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug4093.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug4284.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug4427.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug50695-2.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug56563.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug5797.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug625.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug6404.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug82946-2.html = IMAGE
+BUGNOEL : tables/mozilla/bugs/bug86708.html = IMAGE
+BUGNOEL : tables/mozilla/core/bloomberg.html = IMAGE
+BUGNOEL : tables/mozilla/core/col_widths_auto_autoFix.html = IMAGE
+BUGNOEL : tables/mozilla/core/misc.html = IMAGE
+BUGNOEL : tables/mozilla/core/row_span.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/tbody_valign_baseline.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/tbody_valign_bottom.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/tbody_valign_middle.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/tbody_valign_top.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/td_valign_baseline.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/td_valign_bottom.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/td_valign_middle.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/td_valign_top.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/tfoot_valign_baseline.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/tfoot_valign_bottom.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/tfoot_valign_middle.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/tfoot_valign_top.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/th_valign_baseline.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/th_valign_bottom.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/th_valign_middle.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/th_valign_top.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/thead_valign_baseline.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/thead_valign_bottom.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/thead_valign_middle.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/thead_valign_top.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/tr_valign_baseline.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/tr_valign_bottom.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/tr_valign_middle.html = IMAGE
+BUGNOEL : tables/mozilla/marvin/tr_valign_top.html = IMAGE
+BUGNOEL : tables/mozilla/other/cell_widths.html = IMAGE
+BUGNOEL : tables/mozilla_expected_failures/bugs/bug6933.html = IMAGE
+BUGNOEL : tables/mozilla_expected_failures/other/test4.html = IMAGE
+
 // Skip until SUBPIXEL_LAYOUT is enabled 
 BUGWK85532 SKIP : fast/sub-pixel/client-width-height-snapping.html = FAIL
 BUGWK85532 SKIP : fast/sub-pixel/layout-boxes-with-zoom.html  = FAIL
index c5cb9c1..d48329a 100644 (file)
@@ -1,3 +1,19 @@
+2012-05-10  Noel Gordon  <noel.gordon@gmail.com>
+
+        [chromium] REGRESSION(r107389) Visible line artifacts on some JPEG images
+        https://bugs.webkit.org/show_bug.cgi?id=85772
+
+        Reviewed by Kent Tamura.
+
+        On some JPEG images, vertical and horizontal lines artifacts might appear in image
+        regions with very high frequency color variation when using DCT_IFAST decodes. Use
+        DCT_IFAST on small screen devices only (Chromium Android).
+
+        No new tests. Covered by existing tests.
+
+        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
+        (dctMethod): Permit DCT_IFAST decoding for Chromium Android only.
+
 2012-05-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
 
         [Qt] Implement fit-to-width behaviour
index fb86753..bf3998b 100644 (file)
@@ -70,7 +70,6 @@ extern "C" {
 #endif
 
 #if defined(JCS_ALPHA_EXTENSIONS) && ASSUME_LITTLE_ENDIAN
-inline J_DCT_METHOD dctMethod() { return JDCT_IFAST; }
 #define TURBO_JPEG_RGB_SWIZZLE
 #if USE(SKIA) && (!SK_R32_SHIFT && SK_G32_SHIFT == 8 && SK_B32_SHIFT == 16)
 inline J_COLOR_SPACE rgbOutputColorSpace() { return JCS_EXT_RGBA; }
@@ -79,14 +78,15 @@ inline J_COLOR_SPACE rgbOutputColorSpace() { return JCS_EXT_BGRA; }
 #endif
 inline bool turboSwizzled(J_COLOR_SPACE colorSpace) { return colorSpace == rgbOutputColorSpace(); }
 #else
-inline J_DCT_METHOD dctMethod() { return JDCT_ISLOW; }
 inline J_COLOR_SPACE rgbOutputColorSpace() { return JCS_RGB; }
 #endif
 
 #if OS(ANDROID)
+inline J_DCT_METHOD dctMethod() { return JDCT_IFAST; }
 inline J_DITHER_MODE ditherMode() { return JDITHER_NONE; }
 inline bool doFancyUpsampling() { return false; }
 #else
+inline J_DCT_METHOD dctMethod() { return JDCT_ISLOW; }
 inline J_DITHER_MODE ditherMode() { return JDITHER_FS; }
 inline bool doFancyUpsampling() { return true; }
 #endif