[Webkit-unassigned] [Bug 59540] REGRESSION: white overlay scrollbars on apple.com/startpage

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Apr 26 17:27:49 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=59540


Simon Fraser (smfr) <simon.fraser at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #91191|review?, commit-queue?      |review-, commit-queue-
               Flag|                            |




--- Comment #4 from Simon Fraser (smfr) <simon.fraser at apple.com>  2011-04-26 17:27:49 PST ---
(From update of attachment 91191)
View in context: https://bugs.webkit.org/attachment.cgi?id=91191&action=review

> Source/WebCore/page/Frame.cpp:510
> +    // <https://bugs.webkit.org/show_bug.cgi?id=59540> To find the aggregate background color
> +    // of the document, we look at the background color of the document and the body, and blend
> +    // them against the base background color of the frame view. Ideally we should include
> +    // background images, but including them in this calculation is time-intensive,
> +    // and would lead to unpredictable results.

I think this is too verbose (imagine if every change had such comments!).

> Source/WebCore/page/Frame.cpp:530
> +        return htmlBackgroundColor;

What if htmlBackgroundColor is transparent? Shouldn't this return the base background color?

> Source/WebCore/page/Frame.cpp:534
> +    if (!htmlBackgroundColor.isValid())
> +        return bodyBackgroundColor;

bodyBackgroundColor may be transparent here also, so you you'd need to return the baseBackgroundColor.

> Source/WebCore/page/Frame.cpp:543
> +    return view()->baseBackgroundColor().blend(htmlBackgroundColor.blend(bodyBackgroundColor));

Blend does linear interpolation, which is not the same as what is used for compositing. I think you want to combine them using the "normal" blend mode (aka Porter Duff's "source over"): R = S + D*(1 - Sa)

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list