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

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

Issue 398343003: Use unified invalidation path for repaint-only style changes (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Also handle layers 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
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 847 matching lines...) Expand 10 before | Expand all | Expand 10 after
858 858
859 // Invalidate the paint of a specific subrectangle within a given object. Th e rect |r| is in the object's coordinate space. 859 // Invalidate the paint of a specific subrectangle within a given object. Th e rect |r| is in the object's coordinate space.
860 void invalidatePaintRectangle(const LayoutRect&) const; 860 void invalidatePaintRectangle(const LayoutRect&) const;
861 861
862 bool invalidatePaintIfNeeded(const RenderLayerModelObject& paintInvalidation Container, 862 bool invalidatePaintIfNeeded(const RenderLayerModelObject& paintInvalidation Container,
863 const LayoutRect& oldBounds, const LayoutPoint& oldPositionFromPaintInva lidationContainer, const PaintInvalidationState&); 863 const LayoutRect& oldBounds, const LayoutPoint& oldPositionFromPaintInva lidationContainer, const PaintInvalidationState&);
864 864
865 // Walk the tree after layout issuing paint invalidations for renderers that have changed or moved, updating bounds that have changed, and clearing paint in validation state. 865 // Walk the tree after layout issuing paint invalidations for renderers that have changed or moved, updating bounds that have changed, and clearing paint in validation state.
866 virtual void invalidateTreeIfNeeded(const PaintInvalidationState&); 866 virtual void invalidateTreeIfNeeded(const PaintInvalidationState&);
867 867
868 // For now RenderBoxes and RenderSVGModelObjects know how to invalidate them selves in invalidateTreeIfNeeded.
869 // Other objects (e.g. RenderText, RenderInline, etc) depend on their contai ners for invalidation.
870 // crbug.com/394133.
871 bool canSelfInvalidateDuringTreeInvalidation() const { return isBox() || isS VG(); }
872
868 virtual void invalidatePaintForOverflow(); 873 virtual void invalidatePaintForOverflow();
869 void invalidatePaintForOverflowIfNeeded(); 874 void invalidatePaintForOverflowIfNeeded();
870 875
871 bool checkForPaintInvalidation() const; 876 bool checkForPaintInvalidation() const;
872 877
873 // Returns the rect that should have paint invalidated whenever this object changes. The rect is in the view's 878 // Returns the rect that should have paint invalidated whenever this object changes. The rect is in the view's
874 // coordinate space. This method deals with outlines and overflow. 879 // coordinate space. This method deals with outlines and overflow.
875 LayoutRect absoluteClippedOverflowRect() const 880 LayoutRect absoluteClippedOverflowRect() const
876 { 881 {
877 return clippedOverflowRectForPaintInvalidation(0); 882 return clippedOverflowRectForPaintInvalidation(0);
(...skipping 656 matching lines...) Expand 10 before | Expand all | Expand 10 after
1534 void showTree(const blink::RenderObject*); 1539 void showTree(const blink::RenderObject*);
1535 void showLineTree(const blink::RenderObject*); 1540 void showLineTree(const blink::RenderObject*);
1536 void showRenderTree(const blink::RenderObject* object1); 1541 void showRenderTree(const blink::RenderObject* object1);
1537 // We don't make object2 an optional parameter so that showRenderTree 1542 // We don't make object2 an optional parameter so that showRenderTree
1538 // can be called from gdb easily. 1543 // can be called from gdb easily.
1539 void showRenderTree(const blink::RenderObject* object1, const blink::RenderObjec t* object2); 1544 void showRenderTree(const blink::RenderObject* object1, const blink::RenderObjec t* object2);
1540 1545
1541 #endif 1546 #endif
1542 1547
1543 #endif // RenderObject_h 1548 #endif // RenderObject_h
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderLayerModelObject.cpp ('k') | Source/core/rendering/RenderObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698