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

Unified Diff: Source/core/paint/FrameSetPainter.cpp

Issue 930503003: [S.P.] Add drawing recorder for FrameSetPainter (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 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
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());
« LayoutTests/TestExpectations ('K') | « LayoutTests/virtual/slimmingpaint/fast/frames/README.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698