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

Side by Side Diff: Source/core/rendering/RenderObject.h

Issue 412083003: Disable paint invalidatin optimization about SVG transform change (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: More rebaselines Created 6 years, 4 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
« no previous file with comments | « LayoutTests/TestExpectations ('k') | Source/core/rendering/svg/RenderSVGModelObject.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) 3 * (C) 2000 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com)
6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2009 Google Inc. All rights reserved. 7 * Copyright (C) 2009 Google Inc. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 #ifndef NDEBUG 255 #ifndef NDEBUG
256 if (paintInvalidationStateIsDirty()) { 256 if (paintInvalidationStateIsDirty()) {
257 showRenderTreeForThis(); 257 showRenderTreeForThis();
258 ASSERT_NOT_REACHED(); 258 ASSERT_NOT_REACHED();
259 } 259 }
260 #endif 260 #endif
261 } 261 }
262 262
263 void assertSubtreeClearedPaintInvalidationState() const 263 void assertSubtreeClearedPaintInvalidationState() const
264 { 264 {
265 for (const RenderObject* renderer = this; renderer; renderer = renderer- >nextInPreOrder()) { 265 for (const RenderObject* renderer = this; renderer; renderer = renderer- >nextInPreOrder())
266 renderer->assertRendererClearedPaintInvalidationState(); 266 renderer->assertRendererClearedPaintInvalidationState();
267
268 // Currently we skip some SVG containers for performance (see Render SVGModelObject::invalidateTreeAfterLayout)
269 // so we just skip the underlying subtree. This is not strictly the condition in the previous function but
270 // it makes little sense to cover SVG subtrees if we know they are s kipped anyway.
271 if (renderer->isSVGContainer())
272 return;
273 }
274 } 267 }
275 268
276 #endif 269 #endif
277 270
278 bool skipInvalidationWhenLaidOutChildren() const; 271 bool skipInvalidationWhenLaidOutChildren() const;
279 272
280 // FIXME: This could be used when changing the size of a renderer without ch ildren to skip some invalidations. 273 // FIXME: This could be used when changing the size of a renderer without ch ildren to skip some invalidations.
281 bool rendererHasNoBoxEffect() const 274 bool rendererHasNoBoxEffect() const
282 { 275 {
283 return !style()->hasVisualOverflowingEffect() && !style()->hasBorder() & & !style()->hasBackground(); 276 return !style()->hasVisualOverflowingEffect() && !style()->hasBorder() & & !style()->hasBackground();
(...skipping 1255 matching lines...) Expand 10 before | Expand all | Expand 10 after
1539 void showTree(const blink::RenderObject*); 1532 void showTree(const blink::RenderObject*);
1540 void showLineTree(const blink::RenderObject*); 1533 void showLineTree(const blink::RenderObject*);
1541 void showRenderTree(const blink::RenderObject* object1); 1534 void showRenderTree(const blink::RenderObject* object1);
1542 // We don't make object2 an optional parameter so that showRenderTree 1535 // We don't make object2 an optional parameter so that showRenderTree
1543 // can be called from gdb easily. 1536 // can be called from gdb easily.
1544 void showRenderTree(const blink::RenderObject* object1, const blink::RenderObjec t* object2); 1537 void showRenderTree(const blink::RenderObject* object1, const blink::RenderObjec t* object2);
1545 1538
1546 #endif 1539 #endif
1547 1540
1548 #endif // RenderObject_h 1541 #endif // RenderObject_h
OLDNEW
« no previous file with comments | « LayoutTests/TestExpectations ('k') | Source/core/rendering/svg/RenderSVGModelObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698