| Index: third_party/WebKit/Source/core/paint/ReplacedPainter.cpp
|
| diff --git a/third_party/WebKit/Source/core/paint/ReplacedPainter.cpp b/third_party/WebKit/Source/core/paint/ReplacedPainter.cpp
|
| index 96793b41e7d4479c10bedf713d7317c7b3e04165..1d890afc1a4d8bb93a89a94ad75a572621991717 100644
|
| --- a/third_party/WebKit/Source/core/paint/ReplacedPainter.cpp
|
| +++ b/third_party/WebKit/Source/core/paint/ReplacedPainter.cpp
|
| @@ -7,6 +7,7 @@
|
|
|
| #include "core/layout/LayoutReplaced.h"
|
| #include "core/layout/api/SelectionState.h"
|
| +#include "core/layout/svg/LayoutSVGRoot.h"
|
| #include "core/paint/BoxPainter.h"
|
| #include "core/paint/LayoutObjectDrawingRecorder.h"
|
| #include "core/paint/ObjectPainter.h"
|
| @@ -59,16 +60,18 @@ void ReplacedPainter::paint(const PaintInfo& paintInfo, const LayoutPoint& paint
|
| if (borderRect.isEmpty()) {
|
| completelyClippedOut = true;
|
| } else {
|
| - // Push a clip if we have a border radius, since we want to round the foreground content that gets painted.
|
| - FloatRoundedRect roundedInnerRect = m_layoutReplaced.style()->getRoundedInnerBorderFor(borderRect,
|
| - LayoutRectOutsets(
|
| - -(m_layoutReplaced.paddingTop() + m_layoutReplaced.borderTop()),
|
| - -(m_layoutReplaced.paddingRight() + m_layoutReplaced.borderRight()),
|
| - -(m_layoutReplaced.paddingBottom() + m_layoutReplaced.borderBottom()),
|
| - -(m_layoutReplaced.paddingLeft() + m_layoutReplaced.borderLeft())),
|
| - true, true);
|
| -
|
| - clipper.emplace(m_layoutReplaced, paintInfo, borderRect, roundedInnerRect, ApplyToDisplayList);
|
| + if (!m_layoutReplaced.isSVGRoot() || toLayoutSVGRoot(&m_layoutReplaced)->shouldApplyViewportClip()) {
|
| + // Push a clip if we have a border radius, since we want to round the foreground content that gets painted.
|
| + FloatRoundedRect roundedInnerRect = m_layoutReplaced.style()->getRoundedInnerBorderFor(borderRect,
|
| + LayoutRectOutsets(
|
| + -(m_layoutReplaced.paddingTop() + m_layoutReplaced.borderTop()),
|
| + -(m_layoutReplaced.paddingRight() + m_layoutReplaced.borderRight()),
|
| + -(m_layoutReplaced.paddingBottom() + m_layoutReplaced.borderBottom()),
|
| + -(m_layoutReplaced.paddingLeft() + m_layoutReplaced.borderLeft())),
|
| + true, true);
|
| +
|
| + clipper.emplace(m_layoutReplaced, paintInfo, borderRect, roundedInnerRect, ApplyToDisplayList);
|
| + }
|
| }
|
| }
|
|
|
|
|