Bug 77667 - [chromium] NOT FOR REVIEW Mark scrollbars as opaque.
Summary: [chromium] NOT FOR REVIEW Mark scrollbars as opaque.
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Jonathan Backer
URL:
Keywords:
Depends on:
Blocks: 77478
  Show dependency treegraph
 
Reported: 2012-02-02 12:18 PST by Jonathan Backer
Modified: 2012-02-10 11:38 PST (History)
3 users (show)

See Also:


Attachments
Patch (1.89 KB, patch)
2012-02-02 12:19 PST, Jonathan Backer
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Backer 2012-02-02 12:18:07 PST
[chromium] NOT FOR REVIEW Mark scrollbars as opaque.
Comment 1 Jonathan Backer 2012-02-02 12:19:27 PST
Created attachment 125160 [details]
Patch
Comment 2 Jonathan Backer 2012-02-02 12:23:42 PST
When working on https://bugs.webkit.org/show_bug.cgi?id=77478 , I discovered that we're blending our scroll bars with the debug blue that we're clearing to in LayerRendererChromium.cpp

I think that this is clearly an error. The attached patch fixes this.

We should also fix it so that Skia gives us an opaque layer (alpha = 1.0).

@danakj: How do we fix Skia? Is this a Skia error that I'm seeing?

@enne: Is there a better way to mark scrollbars opaque?
Comment 3 Dana Jansens 2012-02-02 12:55:22 PST
Yes. If the background is painted then the scrollbar is painted with alpha over top (those AA corner pixels) skia loses 1 on the alpha channel. Then when its drawn with blending you get the compositor blue coming through.

Theres a CL in the works but requires rebaselining the world and I havent worked on it since December.  I'll post the bug url later.
Comment 4 Dana Jansens 2012-02-02 12:57:02 PST
Secondly I would like to make chromium paint the scrollbars thru the webkit GraphicsContext instead of directly to canvas. Then opaque paint tracking will know they are opaque automatically.
Comment 5 Dana Jansens 2012-02-02 13:10:06 PST
http://codereview.appspot.com/5494076/
Comment 6 James Robinson 2012-02-02 16:14:41 PST
To state the blindingly obvious, scrollbars are often not opaque so this won't work generally.
Comment 7 Jonathan Backer 2012-02-10 11:09:22 PST
Just rebaselined the Linux image expectations to bake in the 1 off error in scrollbar alpha.
Comment 8 James Robinson 2012-02-10 11:20:45 PST
(In reply to comment #7)
> Just rebaselined the Linux image expectations to bake in the 1 off error in scrollbar alpha.

I switched us over to mock scrollbars - were you still seeing issues?
Comment 9 Jonathan Backer 2012-02-10 11:38:48 PST
(In reply to comment #8)
> (In reply to comment #7)
> > Just rebaselined the Linux image expectations to bake in the 1 off error in scrollbar alpha.
> 
> I switched us over to mock scrollbars - were you still seeing issues?

The baselines that I uploaded for the root clear patch were for the Release build (not root clear). I just ran DRT with a Debug build (still root clears to blue) and there is no error.

So you must have fixed it.