| 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 8d5887eecc475256ffc669a340df39d05d754e76..83018b8343d34b8fc5a3eb69726e7f6dd3063909 100644
|
| --- a/third_party/WebKit/Source/core/paint/ObjectPainter.cpp
|
| +++ b/third_party/WebKit/Source/core/paint/ObjectPainter.cpp
|
| @@ -534,4 +534,25 @@ void ObjectPainter::drawSolidBoxSide(GraphicsContext& graphicsContext, int x1, i
|
| graphicsContext.fillPolygon(4, quad, color, antialias);
|
| }
|
|
|
| +void ObjectPainter::paintAsPseudoStackingContext(const PaintInfo& paintInfo, const LayoutPoint& paintOffset)
|
| +{
|
| + bool preservePhase = paintInfo.phase == PaintPhaseSelection || paintInfo.phase == PaintPhaseTextClip;
|
| + if (!preservePhase && paintInfo.phase != PaintPhaseForeground)
|
| + return;
|
| +
|
| + PaintInfo info(paintInfo);
|
| + info.phase = preservePhase ? paintInfo.phase : PaintPhaseBlockBackground;
|
| + m_layoutObject.paint(info, paintOffset);
|
| + if (!preservePhase) {
|
| + info.phase = PaintPhaseChildBlockBackgrounds;
|
| + m_layoutObject.paint(info, paintOffset);
|
| + info.phase = PaintPhaseFloat;
|
| + m_layoutObject.paint(info, paintOffset);
|
| + info.phase = PaintPhaseForeground;
|
| + m_layoutObject.paint(info, paintOffset);
|
| + info.phase = PaintPhaseOutline;
|
| + m_layoutObject.paint(info, paintOffset);
|
| + }
|
| +}
|
| +
|
| } // namespace blink
|
|
|