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

Unified Diff: Source/platform/graphics/GraphicsLayer.cpp

Issue 702633002: Move ViewDisplayList to GraphicsLayer (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: copy & pasted test expectation from the wrong window. sorry. :( Created 6 years, 1 month 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
« no previous file with comments | « Source/platform/graphics/GraphicsLayer.h ('k') | Source/platform/graphics/paint/ClipDisplayItem.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/platform/graphics/GraphicsLayer.cpp
diff --git a/Source/platform/graphics/GraphicsLayer.cpp b/Source/platform/graphics/GraphicsLayer.cpp
index 057dda0a514e0ebd433223767ac9da4cf07e0471..f8097beb8df897d7ea819d7a105dd9e99b72d98a 100644
--- a/Source/platform/graphics/GraphicsLayer.cpp
+++ b/Source/platform/graphics/GraphicsLayer.cpp
@@ -28,13 +28,16 @@
#include "SkImageFilter.h"
#include "SkMatrix44.h"
+#include "platform/RuntimeEnabledFeatures.h"
#include "platform/TraceEvent.h"
#include "platform/geometry/FloatRect.h"
#include "platform/geometry/LayoutRect.h"
#include "platform/graphics/FirstPaintInvalidationTracking.h"
+#include "platform/graphics/GraphicsContext.h"
#include "platform/graphics/GraphicsLayerFactory.h"
#include "platform/graphics/Image.h"
#include "platform/graphics/filters/SkiaImageFilterBuilder.h"
+#include "platform/graphics/paint/DisplayItemList.h"
#include "platform/graphics/skia/NativeImageSkia.h"
#include "platform/scroll/ScrollableArea.h"
#include "platform/text/TextStream.h"
@@ -271,6 +274,20 @@ void GraphicsLayer::paintGraphicsLayerContents(GraphicsContext& context, const I
m_debugInfo.clearAnnotatedInvalidateRects();
incrementPaintCount();
m_client->paintContents(this, context, m_paintingPhase, clip);
+
+ if (RuntimeEnabledFeatures::slimmingPaintEnabled()) {
+
+#ifndef NDEBUG
+ context.fillRect(clip, Color(0xFF, 0, 0));
+#endif
+ // FIXME: This is incorrect for squashed layers.
+ // We should do proper translation in CompositedLayerMapping once transform paint item is implemented.
+ context.translate(-m_offsetFromRenderer.width(), -m_offsetFromRenderer.height());
+ const PaintList& paintList = displayItemList().paintList();
+ for (PaintList::const_iterator it = paintList.begin(); it != paintList.end(); ++it)
+ (*it)->replay(&context);
+ context.translate(m_offsetFromRenderer.width(), m_offsetFromRenderer.height());
+ }
}
void GraphicsLayer::updateChildList()
@@ -1055,6 +1072,14 @@ void GraphicsLayer::didScroll()
}
}
+DisplayItemList& GraphicsLayer::displayItemList()
+{
+ ASSERT(RuntimeEnabledFeatures::slimmingPaintEnabled());
+ if (!m_displayItemList)
+ m_displayItemList = adoptPtr(new DisplayItemList());
+ return *m_displayItemList;
+}
+
} // namespace blink
#ifndef NDEBUG
« no previous file with comments | « Source/platform/graphics/GraphicsLayer.h ('k') | Source/platform/graphics/paint/ClipDisplayItem.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698