| Index: third_party/WebKit/Source/core/paint/ObjectPainter.cpp
|
| diff --git a/third_party/WebKit/Source/core/paint/ObjectPainter.cpp b/third_party/WebKit/Source/core/paint/ObjectPainter.cpp
|
| index d51dbd3c0c76ac0868a6b0d4a12cf1335b6e4750..00b1c4d2e0ca3867e5e260152bb22f28c877cc1c 100644
|
| --- a/third_party/WebKit/Source/core/paint/ObjectPainter.cpp
|
| +++ b/third_party/WebKit/Source/core/paint/ObjectPainter.cpp
|
| @@ -699,11 +699,14 @@ void ObjectPainter::doCheckPaintOffset(const PaintInfo& paintInfo,
|
| const LayoutPoint& paintOffset) {
|
| DCHECK(RuntimeEnabledFeatures::slimmingPaintV2Enabled());
|
|
|
| - // Actual paint offsets of SVGInline and SVGInlineText include location()
|
| - // of the containing SVGText, but PaintPropertyTreeBuilder doesn't output
|
| - // the paint offsets. TODO(wangxianzhu): Avoid the special treatment.
|
| - if (m_layoutObject.isSVGInline() || m_layoutObject.isSVGInlineText())
|
| + // TODO(pdr,wangxianzhu): Refactor to avoid the special treatment for SVGText,
|
| + // SVGInline, SVGInlineText and SVGForeignObject.
|
| + if (m_layoutObject.isSVG() && !m_layoutObject.isSVGRoot() &&
|
| + !m_layoutObject.isSVGForeignObject()) {
|
| + if (!m_layoutObject.isSVGInline() && !m_layoutObject.isSVGInlineText())
|
| + DCHECK(paintOffset == LayoutPoint());
|
| return;
|
| + }
|
|
|
| // TODO(pdr): Let painter and paint property tree builder generate the same
|
| // paint offset for LayoutScrollbarPart. crbug.com/664249.
|
| @@ -711,8 +714,7 @@ void ObjectPainter::doCheckPaintOffset(const PaintInfo& paintInfo,
|
| return;
|
|
|
| LayoutPoint adjustedPaintOffset = paintOffset;
|
| - // TODO(wangxianzhu): Avoid the special treatment for SVGText.
|
| - if (m_layoutObject.isBox() && !m_layoutObject.isSVGText())
|
| + if (m_layoutObject.isBox())
|
| adjustedPaintOffset += toLayoutBox(m_layoutObject).location();
|
| DCHECK(m_layoutObject.previousPaintOffset() == adjustedPaintOffset)
|
| << " Paint offset mismatch: " << m_layoutObject.debugName()
|
|
|