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

Unified Diff: Source/core/layout/PaintInvalidationState.cpp

Issue 1026823002: [S.P.] Don't draw frames of animated images that are offscreen (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 9 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
« no previous file with comments | « Source/core/layout/PaintInvalidationState.h ('k') | Source/core/layout/svg/LayoutSVGBlock.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/layout/PaintInvalidationState.cpp
diff --git a/Source/core/layout/PaintInvalidationState.cpp b/Source/core/layout/PaintInvalidationState.cpp
index 2da34af16ce0fb2828f8ca5e8adf81c7ff5eddbf..16cda58a2995e7b8b8c24b7cf1f43eed6017a4b2 100644
--- a/Source/core/layout/PaintInvalidationState.cpp
+++ b/Source/core/layout/PaintInvalidationState.cpp
@@ -14,11 +14,12 @@
namespace blink {
-PaintInvalidationState::PaintInvalidationState(const LayoutView& layoutView)
+PaintInvalidationState::PaintInvalidationState(const LayoutView& layoutView, Vector<LayoutObject*>& pendingDelayedPaintInvalidations)
: m_clipped(false)
, m_cachedOffsetsEnabled(true)
, m_forceCheckForPaintInvalidation(false)
, m_paintInvalidationContainer(*layoutView.containerForPaintInvalidation())
+ , m_pendingDelayedPaintInvalidations(pendingDelayedPaintInvalidations)
{
bool establishesPaintInvalidationContainer = layoutView == m_paintInvalidationContainer;
if (!establishesPaintInvalidationContainer) {
@@ -34,11 +35,12 @@ PaintInvalidationState::PaintInvalidationState(const LayoutView& layoutView)
m_clipped = true;
}
-PaintInvalidationState::PaintInvalidationState(const PaintInvalidationState& next, LayoutBoxModelObject& renderer, const LayoutBoxModelObject& paintInvalidationContainer)
+PaintInvalidationState::PaintInvalidationState(PaintInvalidationState& next, LayoutBoxModelObject& renderer, const LayoutBoxModelObject& paintInvalidationContainer)
: m_clipped(false)
, m_cachedOffsetsEnabled(true)
, m_forceCheckForPaintInvalidation(next.m_forceCheckForPaintInvalidation)
, m_paintInvalidationContainer(paintInvalidationContainer)
+ , m_pendingDelayedPaintInvalidations(next.pendingDelayedPaintInvalidationTargets())
{
// FIXME: SVG could probably benefit from a stack-based optimization like html does. crbug.com/391054
bool establishesPaintInvalidationContainer = renderer == m_paintInvalidationContainer;
@@ -89,13 +91,14 @@ PaintInvalidationState::PaintInvalidationState(const PaintInvalidationState& nex
// FIXME: <http://bugs.webkit.org/show_bug.cgi?id=13443> Apply control clip if present.
}
-PaintInvalidationState::PaintInvalidationState(const PaintInvalidationState& next, const LayoutSVGModelObject& renderer)
+PaintInvalidationState::PaintInvalidationState(PaintInvalidationState& next, const LayoutSVGModelObject& renderer)
: m_clipped(next.m_clipped)
, m_cachedOffsetsEnabled(next.m_cachedOffsetsEnabled)
, m_forceCheckForPaintInvalidation(next.m_forceCheckForPaintInvalidation)
, m_clipRect(next.m_clipRect)
, m_paintOffset(next.m_paintOffset)
, m_paintInvalidationContainer(next.m_paintInvalidationContainer)
+ , m_pendingDelayedPaintInvalidations(next.pendingDelayedPaintInvalidationTargets())
{
ASSERT(renderer != m_paintInvalidationContainer);
« no previous file with comments | « Source/core/layout/PaintInvalidationState.h ('k') | Source/core/layout/svg/LayoutSVGBlock.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698