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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutObject.h

Issue 2203123004: Don't adjust for scrolling of the ancestor, rather than un-adjusting for it later. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: none Created 4 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
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 1124 matching lines...) Expand 10 before | Expand all | Expand 10 after
1135 // coordinate space. This method deals with outlines and overflow. 1135 // coordinate space. This method deals with outlines and overflow.
1136 virtual LayoutRect absoluteClippedOverflowRect() const; 1136 virtual LayoutRect absoluteClippedOverflowRect() const;
1137 1137
1138 // Returns the rect that should have paint invalidated whenever this object changes. The rect is in the object's 1138 // Returns the rect that should have paint invalidated whenever this object changes. The rect is in the object's
1139 // local coordinate space. This is for non-SVG objects and LayoutSVGRoot onl y. SVG objects (except LayoutSVGRoot) 1139 // local coordinate space. This is for non-SVG objects and LayoutSVGRoot onl y. SVG objects (except LayoutSVGRoot)
1140 // should use paintInvalidationRectInLocalSVGCoordinates() and map with SVG transforms instead. 1140 // should use paintInvalidationRectInLocalSVGCoordinates() and map with SVG transforms instead.
1141 virtual LayoutRect localOverflowRectForPaintInvalidation() const; 1141 virtual LayoutRect localOverflowRectForPaintInvalidation() const;
1142 1142
1143 // Given a rect in the object's coordinate space, mutates the rect into one representing the size of its visual painted 1143 // Given a rect in the object's coordinate space, mutates the rect into one representing the size of its visual painted
1144 // output as if |ancestor| was the root of the page: the rect is modified by any intervening clips, transforms 1144 // output as if |ancestor| was the root of the page: the rect is modified by any intervening clips, transforms
1145 // and scrolls between |this| and |ancestor|, but not any above |ancestor|. 1145 // and scrolls between |this| and |ancestor| (not inclusive of |ancestor|), but not any above |ancestor|.
1146 // The output is in the physical, painted coordinate pixel space of |ancesto r|. 1146 // The output is in the physical, painted coordinate pixel space of |ancesto r|.
1147 // Overflow clipping is *not* applied for |ancestor| itself if |ancestor| sc rolls overflow. 1147 // Overflow clipping and scrolling is *not* applied for |ancestor| itself if |ancestor| scrolls overflow.
1148 // The output rect is suitable for purposes such as paint invalidation. 1148 // The output rect is suitable for purposes such as paint invalidation.
1149 // 1149 //
1150 // If visualRectFlags has the EdgeInclusive bit set, clipping operations wil l use 1150 // If visualRectFlags has the EdgeInclusive bit set, clipping operations wil l use
1151 // LayoutRect::inclusiveIntersect, and the return value of inclusiveIntersec t will be propagated 1151 // LayoutRect::inclusiveIntersect, and the return value of inclusiveIntersec t will be propagated
1152 // to the return value of this method. Otherwise, clipping operations will use LayoutRect::intersect, 1152 // to the return value of this method. Otherwise, clipping operations will use LayoutRect::intersect,
1153 // and the return value will be true only if the clipped rect has non-zero a rea. 1153 // and the return value will be true only if the clipped rect has non-zero a rea.
1154 // See the documentation for LayoutRect::inclusiveIntersect for more informa tion. 1154 // See the documentation for LayoutRect::inclusiveIntersect for more informa tion.
1155 virtual bool mapToVisualRectInAncestorSpace(const LayoutBoxModelObject* ance stor, LayoutRect&, VisualRectFlags = DefaultVisualRectFlags) const; 1155 virtual bool mapToVisualRectInAncestorSpace(const LayoutBoxModelObject* ance stor, LayoutRect&, VisualRectFlags = DefaultVisualRectFlags) const;
1156 1156
1157 // Return the offset to the column in which the specified point (in flow-thr ead coordinates) 1157 // Return the offset to the column in which the specified point (in flow-thr ead coordinates)
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
1405 }; 1405 };
1406 MutableForPainting getMutableForPainting() const { return MutableForPainting (*this); } 1406 MutableForPainting getMutableForPainting() const { return MutableForPainting (*this); }
1407 1407
1408 void setIsScrollAnchorObject() { m_bitfields.setIsScrollAnchorObject(true); } 1408 void setIsScrollAnchorObject() { m_bitfields.setIsScrollAnchorObject(true); }
1409 // Clears the IsScrollAnchorObject bit, unless any ScrollAnchor still refers to us. 1409 // Clears the IsScrollAnchorObject bit, unless any ScrollAnchor still refers to us.
1410 void maybeClearIsScrollAnchorObject(); 1410 void maybeClearIsScrollAnchorObject();
1411 1411
1412 void clearChildNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setChildN eedsOverflowRecalcAfterStyleChange(false); } 1412 void clearChildNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setChildN eedsOverflowRecalcAfterStyleChange(false); }
1413 1413
1414 bool compositedScrollsWithRespectTo(const LayoutBoxModelObject& paintInvalid ationContainer) const; 1414 bool compositedScrollsWithRespectTo(const LayoutBoxModelObject& paintInvalid ationContainer) const;
1415 IntSize scrollAdjustmentForPaintInvalidation(const LayoutBoxModelObject& pai ntInvalidationContainer) const;
1415 1416
1416 protected: 1417 protected:
1417 enum LayoutObjectType { 1418 enum LayoutObjectType {
1418 LayoutObjectBr, 1419 LayoutObjectBr,
1419 LayoutObjectCanvas, 1420 LayoutObjectCanvas,
1420 LayoutObjectFieldset, 1421 LayoutObjectFieldset,
1421 LayoutObjectCounter, 1422 LayoutObjectCounter,
1422 LayoutObjectDetailsMarker, 1423 LayoutObjectDetailsMarker,
1423 LayoutObjectEmbeddedObject, 1424 LayoutObjectEmbeddedObject,
1424 LayoutObjectFileUploadControl, 1425 LayoutObjectFileUploadControl,
(...skipping 762 matching lines...) Expand 10 before | Expand all | Expand 10 after
2187 void showTree(const blink::LayoutObject*); 2188 void showTree(const blink::LayoutObject*);
2188 void showLineTree(const blink::LayoutObject*); 2189 void showLineTree(const blink::LayoutObject*);
2189 void showLayoutTree(const blink::LayoutObject* object1); 2190 void showLayoutTree(const blink::LayoutObject* object1);
2190 // We don't make object2 an optional parameter so that showLayoutTree 2191 // We don't make object2 an optional parameter so that showLayoutTree
2191 // can be called from gdb easily. 2192 // can be called from gdb easily.
2192 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2); 2193 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2);
2193 2194
2194 #endif 2195 #endif
2195 2196
2196 #endif // LayoutObject_h 2197 #endif // LayoutObject_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutBox.cpp ('k') | third_party/WebKit/Source/core/layout/LayoutObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698