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

Unified Diff: Source/core/rendering/RenderBoxModelObject.cpp

Issue 165213005: Avoid using transparency layer for fancy borders. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: expanded test expectations Created 6 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/rendering/RenderBoxModelObject.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/rendering/RenderBoxModelObject.cpp
diff --git a/Source/core/rendering/RenderBoxModelObject.cpp b/Source/core/rendering/RenderBoxModelObject.cpp
index 1d44050e571da898540dddd6dacd956a3c35ae83..08e2a7d610a772eb9bdff8b74825b85693cf85b9 100644
--- a/Source/core/rendering/RenderBoxModelObject.cpp
+++ b/Source/core/rendering/RenderBoxModelObject.cpp
@@ -537,7 +537,7 @@ void RenderBoxModelObject::paintFillLayerExtended(const PaintInfo& paintInfo, co
if (boxShadowShouldBeAppliedToBackground)
applyBoxShadowForBackground(context, this);
- if (hasRoundedBorder && bleedAvoidance != BackgroundBleedUseTransparencyLayer) {
+ if (hasRoundedBorder && bleedAvoidance != BackgroundBleedClipBackground) {
RoundedRect border = backgroundRoundedRectAdjustedForBleedAvoidance(context, rect, bleedAvoidance, box, boxSize, includeLeftEdge, includeRightEdge);
if (border.isRenderable())
context->fillRoundedRect(border, bgColor);
@@ -554,8 +554,8 @@ void RenderBoxModelObject::paintFillLayerExtended(const PaintInfo& paintInfo, co
return;
}
- // BorderFillBox radius clipping is taken care of by BackgroundBleedUseTransparencyLayer
- bool clipToBorderRadius = hasRoundedBorder && !(isBorderFill && bleedAvoidance == BackgroundBleedUseTransparencyLayer);
+ // BorderFillBox radius clipping is taken care of by BackgroundBleedClipBackground
+ bool clipToBorderRadius = hasRoundedBorder && !(isBorderFill && bleedAvoidance == BackgroundBleedClipBackground);
GraphicsContextStateSaver clipToBorderStateSaver(*context, clipToBorderRadius);
if (clipToBorderRadius) {
RoundedRect border = isBorderFill ? backgroundRoundedRectAdjustedForBleedAvoidance(context, rect, bleedAvoidance, box, boxSize, includeLeftEdge, includeRightEdge) : getBackgroundRoundedRect(rect, box, boxSize.width(), boxSize.height(), includeLeftEdge, includeRightEdge);
@@ -1762,7 +1762,7 @@ void RenderBoxModelObject::paintBorder(const PaintInfo& info, const LayoutRect&
&& (haveAllSolidEdges || (!outerBorder.isRounded() && !innerBorder.isRounded()))) {
Path path;
- if (outerBorder.isRounded() && bleedAvoidance != BackgroundBleedUseTransparencyLayer)
+ if (outerBorder.isRounded() && bleedAvoidance != BackgroundBleedClipBackground)
path.addRoundedRect(outerBorder);
else
path.addRect(outerBorder.rect());
@@ -1795,12 +1795,12 @@ void RenderBoxModelObject::paintBorder(const PaintInfo& info, const LayoutRect&
innerThird.setRect(innerThirdRect);
outerThird.setRect(outerThirdRect);
- if (outerThird.isRounded() && bleedAvoidance != BackgroundBleedUseTransparencyLayer)
+ if (outerThird.isRounded() && bleedAvoidance != BackgroundBleedClipBackground)
path.addRoundedRect(outerThird);
else
path.addRect(outerThird.rect());
- if (innerThird.isRounded() && bleedAvoidance != BackgroundBleedUseTransparencyLayer)
+ if (innerThird.isRounded() && bleedAvoidance != BackgroundBleedClipBackground)
path.addRoundedRect(innerThird);
else
path.addRect(innerThird.rect());
@@ -1839,7 +1839,7 @@ void RenderBoxModelObject::paintBorder(const PaintInfo& info, const LayoutRect&
GraphicsContextStateSaver stateSaver(*graphicsContext, clipToOuterBorder);
if (clipToOuterBorder) {
// Clip to the inner and outer radii rects.
- if (bleedAvoidance != BackgroundBleedUseTransparencyLayer)
+ if (bleedAvoidance != BackgroundBleedClipBackground)
graphicsContext->clipRoundedRect(outerBorder);
// isRenderable() check avoids issue described in https://bugs.webkit.org/show_bug.cgi?id=38787
// The inside will be clipped out later (in clipBorderSideForComplexInnerPath)
@@ -1945,7 +1945,7 @@ void RenderBoxModelObject::drawBoxSideFromPath(GraphicsContext* graphicsContext,
{
GraphicsContextStateSaver stateSaver(*graphicsContext);
LayoutRect outerRect = borderRect;
- if (bleedAvoidance == BackgroundBleedUseTransparencyLayer) {
+ if (bleedAvoidance == BackgroundBleedClipBackground) {
outerRect.inflate(1);
++outerBorderTopWidth;
++outerBorderBottomWidth;
« no previous file with comments | « Source/core/rendering/RenderBoxModelObject.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698