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

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

Issue 482063005: Allow paint invalidation containers to cross frame boundaries. (re-land #2) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Made it work with position:fixed. 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 870 matching lines...) Expand 10 before | Expand all | Expand 10 after
881 // 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. 881 // 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.
882 virtual void invalidateTreeIfNeeded(const PaintInvalidationState&); 882 virtual void invalidateTreeIfNeeded(const PaintInvalidationState&);
883 883
884 virtual void invalidatePaintForOverflow(); 884 virtual void invalidatePaintForOverflow();
885 void invalidatePaintForOverflowIfNeeded(); 885 void invalidatePaintForOverflowIfNeeded();
886 886
887 bool checkForPaintInvalidation() const; 887 bool checkForPaintInvalidation() const;
888 888
889 // Returns the rect that should have paint invalidated whenever this object changes. The rect is in the view's 889 // Returns the rect that should have paint invalidated whenever this object changes. The rect is in the view's
890 // coordinate space. This method deals with outlines and overflow. 890 // coordinate space. This method deals with outlines and overflow.
891 LayoutRect absoluteClippedOverflowRect() const 891 LayoutRect absoluteClippedOverflowRect() const;
892 {
893 return clippedOverflowRectForPaintInvalidation(0);
894 }
895 IntRect pixelSnappedAbsoluteClippedOverflowRect() const; 892 IntRect pixelSnappedAbsoluteClippedOverflowRect() const;
896 virtual LayoutRect clippedOverflowRectForPaintInvalidation(const RenderLayer ModelObject* paintInvalidationContainer, const PaintInvalidationState* = 0) cons t; 893 virtual LayoutRect clippedOverflowRectForPaintInvalidation(const RenderLayer ModelObject* paintInvalidationContainer, const PaintInvalidationState* = 0) cons t;
897 virtual LayoutRect rectWithOutlineForPaintInvalidation(const RenderLayerMode lObject* paintInvalidationContainer, LayoutUnit outlineWidth, const PaintInvalid ationState* = 0) const; 894 virtual LayoutRect rectWithOutlineForPaintInvalidation(const RenderLayerMode lObject* paintInvalidationContainer, LayoutUnit outlineWidth, const PaintInvalid ationState* = 0) const;
898 895
899 // Given a rect in the object's coordinate space, compute a rect suitable fo r invalidating paints of 896 // Given a rect in the object's coordinate space, compute a rect suitable fo r invalidating paints of
900 // that rect in the coordinate space of paintInvalidationContainer. 897 // that rect in the coordinate space of paintInvalidationContainer.
901 virtual void mapRectToPaintInvalidationBacking(const RenderLayerModelObject* paintInvalidationContainer, LayoutRect&, bool fixed = false, const PaintInvalid ationState* = 0) const; 898 virtual void mapRectToPaintInvalidationBacking(const RenderLayerModelObject* paintInvalidationContainer, LayoutRect&, bool fixed = false, const PaintInvalid ationState* = 0) const;
902 virtual void computeFloatRectForPaintInvalidation(const RenderLayerModelObje ct* paintInvalidationContainer, FloatRect& paintInvalidationRect, bool fixed = f alse, const PaintInvalidationState* = 0) const; 899 virtual void computeFloatRectForPaintInvalidation(const RenderLayerModelObje ct* paintInvalidationContainer, FloatRect& paintInvalidationRect, bool fixed = f alse, const PaintInvalidationState* = 0) const;
903 900
904 // Return the offset to the column in which the specified point (in flow-thr ead coordinates) 901 // Return the offset to the column in which the specified point (in flow-thr ead coordinates)
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after
1569 void showTree(const blink::RenderObject*); 1566 void showTree(const blink::RenderObject*);
1570 void showLineTree(const blink::RenderObject*); 1567 void showLineTree(const blink::RenderObject*);
1571 void showRenderTree(const blink::RenderObject* object1); 1568 void showRenderTree(const blink::RenderObject* object1);
1572 // We don't make object2 an optional parameter so that showRenderTree 1569 // We don't make object2 an optional parameter so that showRenderTree
1573 // can be called from gdb easily. 1570 // can be called from gdb easily.
1574 void showRenderTree(const blink::RenderObject* object1, const blink::RenderObjec t* object2); 1571 void showRenderTree(const blink::RenderObject* object1, const blink::RenderObjec t* object2);
1575 1572
1576 #endif 1573 #endif
1577 1574
1578 #endif // RenderObject_h 1575 #endif // RenderObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698