Index: Source/core/paint/FrameSetPainter.cpp |
diff --git a/Source/core/paint/FrameSetPainter.cpp b/Source/core/paint/FrameSetPainter.cpp |
index 07e92c2fb91c56b4a18f7fd724fd2d7853feaf66..3a6bc5370fe8f099beeb7a27c30812414d7af0a1 100644 |
--- a/Source/core/paint/FrameSetPainter.cpp |
+++ b/Source/core/paint/FrameSetPainter.cpp |
@@ -8,6 +8,7 @@ |
#include "core/html/HTMLFrameSetElement.h" |
#include "core/layout/PaintInfo.h" |
#include "core/paint/GraphicsContextAnnotator.h" |
+#include "core/paint/RenderDrawingRecorder.h" |
#include "core/rendering/RenderFrameSet.h" |
namespace blink { |
@@ -34,6 +35,10 @@ void FrameSetPainter::paintColumnBorder(const PaintInfo& paintInfo, const IntRec |
// FIXME: We should do something clever when borders from distinct framesets meet at a join. |
+ RenderDrawingRecorder renderDrawingRecorder(paintInfo.context, m_renderFrameSet, paintInfo.phase, borderRect); |
jbroman
2015/02/26 00:22:35
For future reference, this will produce lots of di
|
+ if (renderDrawingRecorder.canUseCachedDrawing()) |
+ return; |
+ |
// Fill first. |
GraphicsContext* context = paintInfo.context; |
context->fillRect(borderRect, m_renderFrameSet.frameSet()->hasBorderColor() ? m_renderFrameSet.resolveColor(CSSPropertyBorderLeftColor) : borderFillColor()); |
@@ -53,6 +58,10 @@ void FrameSetPainter::paintRowBorder(const PaintInfo& paintInfo, const IntRect& |
// FIXME: We should do something clever when borders from distinct framesets meet at a join. |
+ RenderDrawingRecorder renderDrawingRecorder(paintInfo.context, m_renderFrameSet, paintInfo.phase, borderRect); |
+ if (renderDrawingRecorder.canUseCachedDrawing()) |
+ return; |
+ |
// Fill first. |
GraphicsContext* context = paintInfo.context; |
context->fillRect(borderRect, m_renderFrameSet.frameSet()->hasBorderColor() ? m_renderFrameSet.resolveColor(CSSPropertyBorderLeftColor) : borderFillColor()); |