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

Side by Side Diff: Source/core/rendering/svg/RenderSVGImage.cpp

Issue 264963004: Mark when we may have been invalidated to early out on repaintTreeAfterLayout. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006 Alexander Kellett <lypanov@kde.org> 2 * Copyright (C) 2006 Alexander Kellett <lypanov@kde.org>
3 * Copyright (C) 2006 Apple Computer, Inc. 3 * Copyright (C) 2006 Apple Computer, Inc.
4 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> 4 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org>
5 * Copyright (C) 2007, 2008, 2009 Rob Buis <buis@kde.org> 5 * Copyright (C) 2007, 2008, 2009 Rob Buis <buis@kde.org>
6 * Copyright (C) 2009 Google, Inc. 6 * Copyright (C) 2009 Google, Inc.
7 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> 7 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org>
8 * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com> 8 * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com>
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 return updatedViewport; 88 return updatedViewport;
89 } 89 }
90 90
91 void RenderSVGImage::layout() 91 void RenderSVGImage::layout()
92 { 92 {
93 ASSERT(needsLayout()); 93 ASSERT(needsLayout());
94 94
95 LayoutRepainter repainter(*this, SVGRenderSupport::checkForSVGRepaintDuringL ayout(this) && selfNeedsLayout()); 95 LayoutRepainter repainter(*this, SVGRenderSupport::checkForSVGRepaintDuringL ayout(this) && selfNeedsLayout());
96 updateImageViewport(); 96 updateImageViewport();
97 97
98 setMayNeedInvalidation(true);
fs 2014/05/02 17:21:42 When I see "sprinkles" in this RenderObject, I exp
dsinclair 2014/05/02 19:18:53 De-sprinkled and piggy-backed on layoutWasCalled.
99
98 bool transformOrBoundariesUpdate = m_needsTransformUpdate || m_needsBoundari esUpdate; 100 bool transformOrBoundariesUpdate = m_needsTransformUpdate || m_needsBoundari esUpdate;
99 if (m_needsTransformUpdate) { 101 if (m_needsTransformUpdate) {
100 m_localTransform = toSVGImageElement(element())->animatedLocalTransform( ); 102 m_localTransform = toSVGImageElement(element())->animatedLocalTransform( );
101 m_needsTransformUpdate = false; 103 m_needsTransformUpdate = false;
102 } 104 }
103 105
104 if (m_needsBoundariesUpdate) { 106 if (m_needsBoundariesUpdate) {
105 m_repaintBoundingBox = m_objectBoundingBox; 107 m_repaintBoundingBox = m_objectBoundingBox;
106 SVGRenderSupport::intersectRepaintRectWithResources(this, m_repaintBound ingBox); 108 SVGRenderSupport::intersectRepaintRectWithResources(this, m_repaintBound ingBox);
107 109
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 230
229 void RenderSVGImage::addFocusRingRects(Vector<IntRect>& rects, const LayoutPoint &, const RenderLayerModelObject*) 231 void RenderSVGImage::addFocusRingRects(Vector<IntRect>& rects, const LayoutPoint &, const RenderLayerModelObject*)
230 { 232 {
231 // this is called from paint() after the localTransform has already been app lied 233 // this is called from paint() after the localTransform has already been app lied
232 IntRect contentRect = enclosingIntRect(repaintRectInLocalCoordinates()); 234 IntRect contentRect = enclosingIntRect(repaintRectInLocalCoordinates());
233 if (!contentRect.isEmpty()) 235 if (!contentRect.isEmpty())
234 rects.append(contentRect); 236 rects.append(contentRect);
235 } 237 }
236 238
237 } // namespace WebCore 239 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698