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

Side by Side Diff: Source/core/rendering/svg/RenderSVGRoot.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) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> 2 * Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org>
3 * Copyright (C) 2004, 2005, 2007, 2008, 2009 Rob Buis <buis@kde.org> 3 * Copyright (C) 2004, 2005, 2007, 2008, 2009 Rob Buis <buis@kde.org>
4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> 4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org>
5 * Copyright (C) 2009 Google, Inc. 5 * Copyright (C) 2009 Google, Inc.
6 * Copyright (C) Research In Motion Limited 2011. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2011. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 return RenderReplaced::computeReplacedLogicalHeight(); 161 return RenderReplaced::computeReplacedLogicalHeight();
162 } 162 }
163 163
164 void RenderSVGRoot::layout() 164 void RenderSVGRoot::layout()
165 { 165 {
166 ASSERT(needsLayout()); 166 ASSERT(needsLayout());
167 167
168 // Arbitrary affine transforms are incompatible with LayoutState. 168 // Arbitrary affine transforms are incompatible with LayoutState.
169 LayoutStateDisabler layoutStateDisabler(*this); 169 LayoutStateDisabler layoutStateDisabler(*this);
170 170
171 setMayNeedInvalidation(true);
172
171 bool needsLayout = selfNeedsLayout(); 173 bool needsLayout = selfNeedsLayout();
172 LayoutRepainter repainter(*this, checkForRepaintDuringLayout() && needsLayou t); 174 LayoutRepainter repainter(*this, checkForRepaintDuringLayout() && needsLayou t);
173 175
174 LayoutSize oldSize = size(); 176 LayoutSize oldSize = size();
175 updateLogicalWidth(); 177 updateLogicalWidth();
176 updateLogicalHeight(); 178 updateLogicalHeight();
177 buildLocalToBorderBoxTransform(); 179 buildLocalToBorderBoxTransform();
178 180
179 SVGRenderSupport::layoutResourcesIfNeeded(this); 181 SVGRenderSupport::layoutResourcesIfNeeded(this);
180 182
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 updateHitTestResult(result, pointInBorderBox); 454 updateHitTestResult(result, pointInBorderBox);
453 if (!result.addNodeToRectBasedTestResult(node(), request, locationIn Container, boundsRect)) 455 if (!result.addNodeToRectBasedTestResult(node(), request, locationIn Container, boundsRect))
454 return true; 456 return true;
455 } 457 }
456 } 458 }
457 459
458 return false; 460 return false;
459 } 461 }
460 462
461 } 463 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698