Bug 94372

Summary: [CSS Filters] Filters should render using sRGB until the specification says how it works
Product: WebKit Reporter: Alexandru Chiculita <achicu>
Component: Layout and RenderingAssignee: Alexandru Chiculita <achicu>
Status: RESOLVED FIXED    
Severity: Normal CC: dglazkov, eric, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 95308    
Bug Blocks: 96580    
Attachments:
Description Flags
Patch V1
webkit.review.bot: commit-queue-
Archive of layout-test-results from gce-cr-linux-08
none
Patch V2
webkit.review.bot: commit-queue-
Archive of layout-test-results from gce-cr-linux-04
none
Patch V3
webkit.review.bot: commit-queue-
Archive of layout-test-results from gce-cr-linux-02
none
Patch V4
none
Patch V5 krit: review+

Description Alexandru Chiculita 2012-08-17 11:48:56 PDT
CSS Filters specification doesn't say the color space used to apply the effects for the short-hand version of the filters, so for now we are just going to use device RGB by default.

There's already an issue added on the spec, see it at the following link:
https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#color-interpolation-filters
Comment 1 Alexandru Chiculita 2012-08-23 11:33:37 PDT
Created attachment 160202 [details]
Patch V1
Comment 2 Alexandru Chiculita 2012-08-23 11:33:52 PDT
*** Bug 94120 has been marked as a duplicate of this bug. ***
Comment 3 WebKit Review Bot 2012-08-23 12:14:53 PDT
Comment on attachment 160202 [details]
Patch V1

Attachment 160202 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13568758

New failing tests:
css3/filters/effect-sepia.html
css3/filters/effect-brightness-clamping.html
css3/filters/custom/custom-filter-shader-cache.html
css3/filters/nested-filters.html
css3/filters/effect-blur.html
css3/filters/effect-grayscale.html
css3/filters/effect-combined.html
css3/filters/blur-filter-page-scroll-parents.html
css3/filters/add-filter-rendering.html
css3/filters/custom/effect-custom-combined-missing.html
css3/filters/filtered-inline.html
css3/filters/effect-saturate.html
css3/filters/effect-hue-rotate.html
css3/filters/effect-drop-shadow.html
css3/filters/effect-invert.html
css3/filters/effect-contrast.html
css3/filters/effect-brightness.html
css3/filters/simple-filter-rendering.html
css3/filters/effect-reference-ordering.html
css3/filters/crash-hw-sw-switch.html
css3/filters/effect-opacity.html
css3/filters/effect-reference-hw.html
css3/filters/multiple-filters-invalidation.html
css3/filters/regions-expanding.html
css3/filters/crash-filter-change.html
css3/filters/effect-reference-external.html
css3/filters/effect-reference.html
css3/filters/custom/effect-color-check.html
Comment 4 WebKit Review Bot 2012-08-23 12:14:56 PDT
Created attachment 160211 [details]
Archive of layout-test-results from gce-cr-linux-08

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: gce-cr-linux-08  Port: <class 'webkitpy.common.config.ports.ChromiumXVFBPort'>  Platform: Linux-2.6.39-gcg-201203291735-x86_64-with-Ubuntu-10.04-lucid
Comment 5 Alexandru Chiculita 2012-08-23 14:30:12 PDT
Created attachment 160248 [details]
Patch V2

Updated the expected results for mac, chromium mac and linux.
Comment 6 WebKit Review Bot 2012-08-23 17:15:35 PDT
Comment on attachment 160248 [details]
Patch V2

Attachment 160248 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13558950

New failing tests:
css3/filters/effect-combined.html
css3/filters/filter-repaint-sepia.html
css3/filters/effect-blur.html
css3/filters/filter-repaint-blur.html
css3/filters/effect-grayscale.html
css3/filters/filter-repaint-composited-fallback-crash.html
css3/filters/add-filter-rendering.html
css3/filters/filter-repaint-child-layers.html
css3/filters/filtered-inline.html
css3/filters/effect-saturate.html
css3/filters/effect-hue-rotate.html
css3/filters/effect-drop-shadow.html
css3/filters/effect-sepia.html
css3/filters/effect-invert.html
css3/filters/filter-repaint-shadow-rotated.html
css3/filters/effect-contrast.html
css3/filters/effect-opacity.html
css3/filters/effect-reference-ordering.html
css3/filters/filter-repaint-composited-fallback.html
css3/filters/filter-repaint.html
css3/filters/effect-reference-hw.html
css3/filters/multiple-filters-invalidation.html
css3/filters/crash-filter-change.html
css3/filters/effect-reference-external.html
css3/filters/effect-reference.html
css3/filters/filter-repaint-shadow.html
css3/filters/filter-repaint-shadow-clipped.html
Comment 7 WebKit Review Bot 2012-08-23 17:15:38 PDT
Created attachment 160289 [details]
Archive of layout-test-results from gce-cr-linux-04

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: gce-cr-linux-04  Port: <class 'webkitpy.common.config.ports.ChromiumXVFBPort'>  Platform: Linux-2.6.39-gcg-201203291735-x86_64-with-Ubuntu-10.04-lucid
Comment 8 Alexandru Chiculita 2012-08-27 11:25:16 PDT
Created attachment 160753 [details]
Patch V3
Comment 9 Eric Seidel (no email) 2012-08-27 12:37:22 PDT
We've been using the device colorspace for everything in WebKit except color-matched images for two reasons:
1.  Speed.  (Colormatching is an added cost which most pages don't care about.)
2.  Matching flash and other non-colormatched content.  (Imagine an author has flash-based text with a background color, over a page with a non-colormatched background color.  He expects the backgrounds to match.  If we started colormatching css backgrounds we'd make his page ugly.  This same argument may apply to filters. It's unclear.)
Comment 10 WebKit Review Bot 2012-08-27 13:40:07 PDT
Comment on attachment 160753 [details]
Patch V3

Attachment 160753 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13616317

New failing tests:
css3/filters/filter-empty-element-crash.html
css3/filters/crash-hw-sw-switch.html
Comment 11 WebKit Review Bot 2012-08-27 13:40:10 PDT
Created attachment 160792 [details]
Archive of layout-test-results from gce-cr-linux-02

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: gce-cr-linux-02  Port: <class 'webkitpy.common.config.ports.ChromiumXVFBPort'>  Platform: Linux-2.6.39-gcg-201203291735-x86_64-with-Ubuntu-10.04-lucid
Comment 12 Alexandru Chiculita 2012-08-27 16:51:27 PDT
Created attachment 160856 [details]
Patch V4

Used the results from the linux ews instead.
Comment 13 Alexandru Chiculita 2012-08-27 16:52:29 PDT
Created attachment 160858 [details]
Patch V5

This time using git diff --binary.
Comment 14 Dirk Schulze 2012-08-28 10:17:48 PDT
Comment on attachment 160858 [details]
Patch V5

LGTM. r=me.
Comment 15 Alexandru Chiculita 2012-08-28 14:02:33 PDT
Landed in http://trac.webkit.org/changeset/126927 .