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

Side by Side Diff: Source/core/paint/DeprecatedPaintLayer.h

Issue 1313953006: Never include ancestorLayer transform when testing for overlap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 3 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) 2003, 2009, 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved.
3 * Copyright (C) 2013 Intel Corporation. All rights reserved. 3 * Copyright (C) 2013 Intel Corporation. All rights reserved.
4 * 4 *
5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
6 * 6 *
7 * Other contributors: 7 * Other contributors:
8 * Robert O'Callahan <roc+@cs.cmu.edu> 8 * Robert O'Callahan <roc+@cs.cmu.edu>
9 * David Baron <dbaron@fas.harvard.edu> 9 * David Baron <dbaron@fas.harvard.edu>
10 * Christian Biesinger <cbiesinger@web.de> 10 * Christian Biesinger <cbiesinger@web.de>
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 LayoutRect physicalBoundingBox(const DeprecatedPaintLayer* ancestorLayer, co nst LayoutPoint* offsetFromRoot = 0) const; 243 LayoutRect physicalBoundingBox(const DeprecatedPaintLayer* ancestorLayer, co nst LayoutPoint* offsetFromRoot = 0) const;
244 LayoutRect physicalBoundingBoxIncludingReflectionAndStackingChildren(const D eprecatedPaintLayer* ancestorLayer, const LayoutPoint& offsetFromRoot) const; 244 LayoutRect physicalBoundingBoxIncludingReflectionAndStackingChildren(const D eprecatedPaintLayer* ancestorLayer, const LayoutPoint& offsetFromRoot) const;
245 LayoutRect fragmentsBoundingBox(const DeprecatedPaintLayer* ancestorLayer) c onst; 245 LayoutRect fragmentsBoundingBox(const DeprecatedPaintLayer* ancestorLayer) c onst;
246 246
247 LayoutRect boundingBoxForCompositingOverlapTest() const; 247 LayoutRect boundingBoxForCompositingOverlapTest() const;
248 248
249 // If true, this layer's children are included in its bounds for overlap tes ting. 249 // If true, this layer's children are included in its bounds for overlap tes ting.
250 // We can't rely on the children's positions if this layer has a filter that could have moved the children's pixels around. 250 // We can't rely on the children's positions if this layer has a filter that could have moved the children's pixels around.
251 bool overlapBoundsIncludeChildren() const { return hasFilter() && layoutObje ct()->style()->filter().hasFilterThatMovesPixels(); } 251 bool overlapBoundsIncludeChildren() const { return hasFilter() && layoutObje ct()->style()->filter().hasFilterThatMovesPixels(); }
252 252
253 // MaybeIncludeTransformForAncestorLayer means that a transform on |ancestor Layer| may be applied to the bounding box,
254 // in particular if paintsWithTransform() is true.
253 enum CalculateBoundsOptions { 255 enum CalculateBoundsOptions {
254 ApplyBoundsChickenEggHacks, 256 MaybeIncludeTransformForAncestorLayer,
255 DoNotApplyBoundsChickenEggHacks, 257 NeverIncludeTransformForAncestorLayer,
256 }; 258 };
257 LayoutRect boundingBoxForCompositing(const DeprecatedPaintLayer* ancestorLay er = 0, CalculateBoundsOptions = DoNotApplyBoundsChickenEggHacks) const; 259 LayoutRect boundingBoxForCompositing(const DeprecatedPaintLayer* ancestorLay er = 0, CalculateBoundsOptions = MaybeIncludeTransformForAncestorLayer) const;
258 260
259 LayoutUnit staticInlinePosition() const { return m_staticInlinePosition; } 261 LayoutUnit staticInlinePosition() const { return m_staticInlinePosition; }
260 LayoutUnit staticBlockPosition() const { return m_staticBlockPosition; } 262 LayoutUnit staticBlockPosition() const { return m_staticBlockPosition; }
261 263
262 void setStaticInlinePosition(LayoutUnit position) { m_staticInlinePosition = position; } 264 void setStaticInlinePosition(LayoutUnit position) { m_staticInlinePosition = position; }
263 void setStaticBlockPosition(LayoutUnit position) { m_staticBlockPosition = p osition; } 265 void setStaticBlockPosition(LayoutUnit position) { m_staticBlockPosition = p osition; }
264 266
265 LayoutSize subpixelAccumulation() const; 267 LayoutSize subpixelAccumulation() const;
266 void setSubpixelAccumulation(const LayoutSize&); 268 void setSubpixelAccumulation(const LayoutSize&);
267 269
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after
721 723
722 } // namespace blink 724 } // namespace blink
723 725
724 #ifndef NDEBUG 726 #ifndef NDEBUG
725 // Outside the WebCore namespace for ease of invocation from gdb. 727 // Outside the WebCore namespace for ease of invocation from gdb.
726 void showLayerTree(const blink::DeprecatedPaintLayer*); 728 void showLayerTree(const blink::DeprecatedPaintLayer*);
727 void showLayerTree(const blink::LayoutObject*); 729 void showLayerTree(const blink::LayoutObject*);
728 #endif 730 #endif
729 731
730 #endif // Layer_h 732 #endif // Layer_h
OLDNEW
« no previous file with comments | « LayoutTests/compositing/overlap-test-with-filter-expected.txt ('k') | Source/core/paint/DeprecatedPaintLayer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698