summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/RenderLayerBacking.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/rendering/RenderLayerBacking.cpp')
-rw-r--r--Source/WebCore/rendering/RenderLayerBacking.cpp35
1 files changed, 4 insertions, 31 deletions
diff --git a/Source/WebCore/rendering/RenderLayerBacking.cpp b/Source/WebCore/rendering/RenderLayerBacking.cpp
index 917d2869e..aa617f6bd 100644
--- a/Source/WebCore/rendering/RenderLayerBacking.cpp
+++ b/Source/WebCore/rendering/RenderLayerBacking.cpp
@@ -777,40 +777,13 @@ static bool hasBoxDecorationsOrBackgroundImage(const RenderStyle* style)
return hasBoxDecorations(style) || style->hasBackgroundImage();
}
-bool RenderLayerBacking::rendererHasBackground() const
-{
- // FIXME: share more code here
- if (renderer()->node() && renderer()->node()->isDocumentNode()) {
- RenderObject* htmlObject = renderer()->firstChild();
- if (!htmlObject)
- return false;
-
- if (htmlObject->hasBackground())
- return true;
-
- RenderObject* bodyObject = htmlObject->firstChild();
- if (!bodyObject)
- return false;
-
- return bodyObject->hasBackground();
- }
-
- return renderer()->hasBackground();
-}
-
Color RenderLayerBacking::rendererBackgroundColor() const
{
- // FIXME: share more code here
- if (renderer()->node() && renderer()->node()->isDocumentNode()) {
- RenderObject* htmlObject = renderer()->firstChild();
- if (htmlObject->hasBackground())
- return htmlObject->style()->visitedDependentColor(CSSPropertyBackgroundColor);
-
- RenderObject* bodyObject = htmlObject->firstChild();
- return bodyObject->style()->visitedDependentColor(CSSPropertyBackgroundColor);
- }
+ RenderObject* backgroundRenderer = renderer();
+ if (backgroundRenderer->isRoot())
+ backgroundRenderer = backgroundRenderer->rendererForRootBackground();
- return renderer()->style()->visitedDependentColor(CSSPropertyBackgroundColor);
+ return backgroundRenderer->style()->visitedDependentColor(CSSPropertyBackgroundColor);
}
void RenderLayerBacking::updateBackgroundColor()