Bug 111855 - Rendered colors shift when element gets a layer
Summary: Rendered colors shift when element gets a layer
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-08 07:09 PST by Mihai Balan
Modified: 2013-03-08 10:49 PST (History)
4 users (show)

See Also:


Attachments
Test-case (726 bytes, text/html)
2013-03-08 07:10 PST, Mihai Balan
no flags Details
Screenshot of the bug in action :) (13.66 KB, image/png)
2013-03-08 07:14 PST, Mihai Balan
no flags Details
Magnified shot of the bug (4.46 KB, image/png)
2013-03-08 07:22 PST, Mihai Balan
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mihai Balan 2013-03-08 07:09:19 PST
Elements that have the same CSS color get actually rendered with slightly different hues if one of them is on a layer.

This doesn't happen on all configurations - from my testing, on the Mac platform, it seems to be limited to Mac 10.8 if the video card is not an Intel chip (e.g. ATi or nVidia)

See the attached sample - on configurations where the bug is present, the second line of text will be slightly redder (purple-blue) than the first line of text. The attached .png file shows how this bug manifests.
Comment 1 Mihai Balan 2013-03-08 07:10:39 PST
Created attachment 192220 [details]
Test-case

On platforms/configurations exhibiting the bug, the second line will be slightly purpler than the first line.
Comment 2 Mihai Balan 2013-03-08 07:14:55 PST
Created attachment 192223 [details]
Screenshot of the bug in action :)

Screenshot made on a MacBook Pro with an nVidia graphics chip, running Mac OS X 10.8.2

The second line of text is slightly purpler than the first line of text.
Comment 3 Mihai Balan 2013-03-08 07:21:23 PST
On further investigation of the PNG, it seems that the problem lies in the way anti-aliasing is done. In the case of the first line of text (that does not get a layer), anti-aliasing between blue and white is expectedly done via lighter, whiter blue.
In the case of the second line of text, however (that gets a layer), anti-aliasing between blue and white is done via a lighter, *redder* blue.
Comment 4 Mihai Balan 2013-03-08 07:22:26 PST
Created attachment 192225 [details]
Magnified shot of the bug

Magnified shot of the bug. The anti-alias difference are obvious here. The "main" color of the  text does not change between the two lines of text.
Comment 5 Alexey Proskuryakov 2013-03-08 10:01:36 PST
That sounds like bug 23364.
Comment 6 Mihai Balan 2013-03-08 10:31:52 PST
While the two do sound similar, I'm not convinced this is a dupe of bug 23364.

Bug 23364 is about anti-aliasing going on and off, this one is about anti-aliasing being done differently. Also, it seems to be specific to some (hardware) configurations.
Comment 7 Simon Fraser (smfr) 2013-03-08 10:49:25 PST
This is not bug 23364 but it is a known issue in the frameworks below WebKit.