| Index: Source/core/page/FrameView.cpp
|
| diff --git a/Source/core/page/FrameView.cpp b/Source/core/page/FrameView.cpp
|
| index 26badff745b01edc786294db90f39d5761b6e9c3..69aa73ea389dab9e49dfc5f72f60a70444a0664e 100644
|
| --- a/Source/core/page/FrameView.cpp
|
| +++ b/Source/core/page/FrameView.cpp
|
| @@ -373,13 +373,13 @@ void FrameView::recalculateScrollbarOverlayStyle()
|
| ScrollbarOverlayStyle oldOverlayStyle = scrollbarOverlayStyle();
|
| ScrollbarOverlayStyle overlayStyle = ScrollbarOverlayStyleDefault;
|
|
|
| - Color backgroundColor = documentBackgroundColor();
|
| + StyleColor backgroundColor = documentBackgroundColor();
|
| if (backgroundColor.isValid()) {
|
| // Reduce the background color from RGB to a lightness value
|
| // and determine which scrollbar style to use based on a lightness
|
| // heuristic.
|
| double hue, saturation, lightness;
|
| - backgroundColor.getHSL(hue, saturation, lightness);
|
| + backgroundColor.color().getHSL(hue, saturation, lightness);
|
| if (lightness <= .5)
|
| overlayStyle = ScrollbarOverlayStyleLight;
|
| }
|
| @@ -2034,19 +2034,19 @@ Color FrameView::baseBackgroundColor() const
|
| return m_baseBackgroundColor;
|
| }
|
|
|
| -void FrameView::setBaseBackgroundColor(const Color& backgroundColor)
|
| +void FrameView::setBaseBackgroundColor(const StyleColor& backgroundColor)
|
| {
|
| if (!backgroundColor.isValid())
|
| m_baseBackgroundColor = Color::white;
|
| else
|
| - m_baseBackgroundColor = backgroundColor;
|
| + m_baseBackgroundColor = backgroundColor.color();
|
|
|
| if (renderView() && renderView()->layer()->backing())
|
| renderView()->layer()->backing()->updateContentsOpaque();
|
| recalculateScrollbarOverlayStyle();
|
| }
|
|
|
| -void FrameView::updateBackgroundRecursively(const Color& backgroundColor, bool transparent)
|
| +void FrameView::updateBackgroundRecursively(const StyleColor& backgroundColor, bool transparent)
|
| {
|
| for (Frame* frame = m_frame.get(); frame; frame = frame->tree()->traverseNext(m_frame.get())) {
|
| if (FrameView* view = frame->view()) {
|
| @@ -2734,7 +2734,7 @@ void FrameView::paintScrollbar(GraphicsContext* context, Scrollbar* bar, const I
|
| ScrollView::paintScrollbar(context, bar, rect);
|
| }
|
|
|
| -Color FrameView::documentBackgroundColor() const
|
| +StyleColor FrameView::documentBackgroundColor() const
|
| {
|
| // <https://bugs.webkit.org/show_bug.cgi?id=59540> We blend the background color of
|
| // the document and the body against the base background color of the frame view.
|
| @@ -2748,21 +2748,21 @@ Color FrameView::documentBackgroundColor() const
|
| Element* bodyElement = frame()->document()->body();
|
|
|
| // Start with invalid colors.
|
| - Color htmlBackgroundColor;
|
| - Color bodyBackgroundColor;
|
| + StyleColor htmlBackgroundColor;
|
| + StyleColor bodyBackgroundColor;
|
| if (htmlElement && htmlElement->renderer())
|
| - htmlBackgroundColor = htmlElement->renderer()->style()->visitedDependentColor(CSSPropertyBackgroundColor);
|
| + htmlBackgroundColor = htmlElement->renderer()->resolveStyleColor(CSSPropertyBackgroundColor);
|
| if (bodyElement && bodyElement->renderer())
|
| - bodyBackgroundColor = bodyElement->renderer()->style()->visitedDependentColor(CSSPropertyBackgroundColor);
|
| + bodyBackgroundColor = bodyElement->renderer()->resolveStyleColor(CSSPropertyBackgroundColor);
|
|
|
| if (!bodyBackgroundColor.isValid()) {
|
| if (!htmlBackgroundColor.isValid())
|
| - return Color();
|
| - return baseBackgroundColor().blend(htmlBackgroundColor);
|
| + return StyleColor();
|
| + return baseBackgroundColor().blend(htmlBackgroundColor.color());
|
| }
|
|
|
| if (!htmlBackgroundColor.isValid())
|
| - return baseBackgroundColor().blend(bodyBackgroundColor);
|
| + return baseBackgroundColor().blend(bodyBackgroundColor.color());
|
|
|
| // We take the aggregate of the base background color
|
| // the <html> background color, and the <body>
|
| @@ -2771,7 +2771,7 @@ Color FrameView::documentBackgroundColor() const
|
| // technically part of the document background, but it
|
| // otherwise poses problems when the aggregate is not
|
| // fully opaque.
|
| - return baseBackgroundColor().blend(htmlBackgroundColor).blend(bodyBackgroundColor);
|
| + return baseBackgroundColor().blend(htmlBackgroundColor.color()).blend(bodyBackgroundColor.color());
|
| }
|
|
|
| bool FrameView::hasCustomScrollbars() const
|
|
|