Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(243)

Side by Side Diff: Source/core/rendering/RenderBox.cpp

Issue 306483011: Combine background repaint conditions in RenderStyle and RenderObject (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com)
5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com)
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed. 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed.
7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. 7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 1097 matching lines...) Expand 10 before | Expand all | Expand 10 after
1108 paintFillLayers(paintInfo, bgColor, bgLayer, view()->backgroundRect(this), B ackgroundBleedNone, CompositeSourceOver, rootBackgroundRenderer); 1108 paintFillLayers(paintInfo, bgColor, bgLayer, view()->backgroundRect(this), B ackgroundBleedNone, CompositeSourceOver, rootBackgroundRenderer);
1109 } 1109 }
1110 1110
1111 BackgroundBleedAvoidance RenderBox::determineBackgroundBleedAvoidance(GraphicsCo ntext* context) const 1111 BackgroundBleedAvoidance RenderBox::determineBackgroundBleedAvoidance(GraphicsCo ntext* context) const
1112 { 1112 {
1113 if (context->paintingDisabled()) 1113 if (context->paintingDisabled())
1114 return BackgroundBleedNone; 1114 return BackgroundBleedNone;
1115 1115
1116 const RenderStyle* style = this->style(); 1116 const RenderStyle* style = this->style();
1117 1117
1118 if (!style->hasBackground() || !style->hasBorder() || !style->hasBorderRadiu s() || borderImageIsLoadedAndCanBeRendered()) 1118 if (!style->hasBackground() || !style->hasBorder() || !style->hasBorderRadiu s() || canRenderBorderImage())
1119 return BackgroundBleedNone; 1119 return BackgroundBleedNone;
1120 1120
1121 AffineTransform ctm = context->getCTM(); 1121 AffineTransform ctm = context->getCTM();
1122 FloatSize contextScaling(static_cast<float>(ctm.xScale()), static_cast<float >(ctm.yScale())); 1122 FloatSize contextScaling(static_cast<float>(ctm.xScale()), static_cast<float >(ctm.yScale()));
1123 1123
1124 // Because RoundedRect uses IntRect internally the inset applied by the 1124 // Because RoundedRect uses IntRect internally the inset applied by the
1125 // BackgroundBleedShrinkBackground strategy cannot be less than one integer 1125 // BackgroundBleedShrinkBackground strategy cannot be less than one integer
1126 // layout coordinate, even with subpixel layout enabled. To take that into 1126 // layout coordinate, even with subpixel layout enabled. To take that into
1127 // account, we clamp the contextScaling to 1.0 for the following test so 1127 // account, we clamp the contextScaling to 1.0 for the following test so
1128 // that borderObscuresBackgroundEdge can only return true if the border 1128 // that borderObscuresBackgroundEdge can only return true if the border
(...skipping 3559 matching lines...) Expand 10 before | Expand all | Expand 10 after
4688 return 0; 4688 return 0;
4689 4689
4690 if (!layoutState && !flowThreadContainingBlock()) 4690 if (!layoutState && !flowThreadContainingBlock())
4691 return 0; 4691 return 0;
4692 4692
4693 RenderBlock* containerBlock = containingBlock(); 4693 RenderBlock* containerBlock = containingBlock();
4694 return containerBlock->offsetFromLogicalTopOfFirstPage() + logicalTop(); 4694 return containerBlock->offsetFromLogicalTopOfFirstPage() + logicalTop();
4695 } 4695 }
4696 4696
4697 } // namespace WebCore 4697 } // namespace WebCore
OLDNEW
« no previous file with comments | « LayoutTests/fast/repaint/resources/small-apple.jpg ('k') | Source/core/rendering/RenderObject.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698