OLD | NEW |
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 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 bool hasBoxDecorationsOrBackground() const; | 254 bool hasBoxDecorationsOrBackground() const; |
255 bool hasVisibleBoxDecorations() const; | 255 bool hasVisibleBoxDecorations() const; |
256 // True if this layer container layoutObjects that paint. | 256 // True if this layer container layoutObjects that paint. |
257 bool hasNonEmptyChildLayoutObjects() const; | 257 bool hasNonEmptyChildLayoutObjects() const; |
258 | 258 |
259 // Will ensure that hasNonCompositiedChild are up to date. | 259 // Will ensure that hasNonCompositiedChild are up to date. |
260 void updateScrollingStateAfterCompositingChange(); | 260 void updateScrollingStateAfterCompositingChange(); |
261 bool hasVisibleNonLayerContent() const { return m_hasVisibleNonLayerContent;
} | 261 bool hasVisibleNonLayerContent() const { return m_hasVisibleNonLayerContent;
} |
262 bool hasNonCompositedChild() const { ASSERT(isAllowedToQueryCompositingState
()); return m_hasNonCompositedChild; } | 262 bool hasNonCompositedChild() const { ASSERT(isAllowedToQueryCompositingState
()); return m_hasNonCompositedChild; } |
263 | 263 |
264 // Gets the ancestor layer that serves as the containing block of this layer
. It is assumed | 264 // Gets the ancestor layer that serves as the containing block of this layer
. This is either |
265 // that this layer is established by an out-of-flow positioned layout object
(i.e. either | 265 // another out of flow positioned layer, or one that contains paint. |
266 // absolutely or fixed positioned). | |
267 // If |ancestor| is specified, |*skippedAncestor| will be set to true if |an
cestor| is found in | 266 // If |ancestor| is specified, |*skippedAncestor| will be set to true if |an
cestor| is found in |
268 // the ancestry chain between this layer and the containing block layer; if
not found, it will | 267 // the ancestry chain between this layer and the containing block layer; if
not found, it will |
269 // be set to false. Either both |ancestor| and |skippedAncestor| should be n
ullptr, or none of | 268 // be set to false. Either both |ancestor| and |skippedAncestor| should be n
ullptr, or none of |
270 // them should. | 269 // them should. |
271 PaintLayer* enclosingPositionedAncestor(const PaintLayer* ancestor = nullptr
, bool* skippedAncestor = nullptr) const; | 270 PaintLayer* containingLayerForOutOfFlowPositioned(const PaintLayer* ancestor
= nullptr, bool* skippedAncestor = nullptr) const; |
272 | 271 |
273 bool isPaintInvalidationContainer() const; | 272 bool isPaintInvalidationContainer() const; |
274 | 273 |
275 // Do *not* call this method unless you know what you are dooing. You probab
ly want to call enclosingCompositingLayerForPaintInvalidation() instead. | 274 // Do *not* call this method unless you know what you are dooing. You probab
ly want to call enclosingCompositingLayerForPaintInvalidation() instead. |
276 // If includeSelf is true, may return this. | 275 // If includeSelf is true, may return this. |
277 PaintLayer* enclosingLayerWithCompositedLayerMapping(IncludeSelfOrNot) const
; | 276 PaintLayer* enclosingLayerWithCompositedLayerMapping(IncludeSelfOrNot) const
; |
278 | 277 |
279 // Returns the enclosing layer root into which this layer paints, inclusive
of this one. Note that the enclosing layer may or may not have its own | 278 // Returns the enclosing layer root into which this layer paints, inclusive
of this one. Note that the enclosing layer may or may not have its own |
280 // GraphicsLayer backing, but is nevertheless the root for a call to the Lay
er::paint*() methods. | 279 // GraphicsLayer backing, but is nevertheless the root for a call to the Lay
er::paint*() methods. |
281 PaintLayer* enclosingLayerForPaintInvalidation() const; | 280 PaintLayer* enclosingLayerForPaintInvalidation() const; |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
452 void addLayerHitTestRects(LayerHitTestRects&) const; | 451 void addLayerHitTestRects(LayerHitTestRects&) const; |
453 | 452 |
454 // Compute rects only for this layer | 453 // Compute rects only for this layer |
455 void computeSelfHitTestRects(LayerHitTestRects&) const; | 454 void computeSelfHitTestRects(LayerHitTestRects&) const; |
456 | 455 |
457 // FIXME: This should probably return a ScrollableArea but a lot of internal
methods are mistakenly exposed. | 456 // FIXME: This should probably return a ScrollableArea but a lot of internal
methods are mistakenly exposed. |
458 PaintLayerScrollableArea* scrollableArea() const { return m_scrollableArea.g
et(); } | 457 PaintLayerScrollableArea* scrollableArea() const { return m_scrollableArea.g
et(); } |
459 PaintLayerClipper& clipper() { return m_clipper; } | 458 PaintLayerClipper& clipper() { return m_clipper; } |
460 const PaintLayerClipper& clipper() const { return m_clipper; } | 459 const PaintLayerClipper& clipper() const { return m_clipper; } |
461 | 460 |
462 inline bool isPositionedContainer() const | |
463 { | |
464 // FIXME: This is not in sync with containingBlock. | |
465 // LayoutObject::canContainFixedPositionObjects() should probably be use
d | |
466 // instead. | |
467 LayoutBoxModelObject* layerlayoutObject = layoutObject(); | |
468 return isRootLayer() || layerlayoutObject->isPositioned() || hasTransfor
mRelatedProperty(); | |
469 } | |
470 | |
471 bool scrollsOverflow() const; | 461 bool scrollsOverflow() const; |
472 | 462 |
473 CompositingReasons potentialCompositingReasonsFromStyle() const { return m_p
otentialCompositingReasonsFromStyle; } | 463 CompositingReasons potentialCompositingReasonsFromStyle() const { return m_p
otentialCompositingReasonsFromStyle; } |
474 void setPotentialCompositingReasonsFromStyle(CompositingReasons reasons) { A
SSERT(reasons == (reasons & CompositingReasonComboAllStyleDeterminedReasons)); m
_potentialCompositingReasonsFromStyle = reasons; } | 464 void setPotentialCompositingReasonsFromStyle(CompositingReasons reasons) { A
SSERT(reasons == (reasons & CompositingReasonComboAllStyleDeterminedReasons)); m
_potentialCompositingReasonsFromStyle = reasons; } |
475 | 465 |
476 bool hasStyleDeterminedDirectCompositingReasons() const { return m_potential
CompositingReasonsFromStyle & CompositingReasonComboAllDirectStyleDeterminedReas
ons; } | 466 bool hasStyleDeterminedDirectCompositingReasons() const { return m_potential
CompositingReasonsFromStyle & CompositingReasonComboAllDirectStyleDeterminedReas
ons; } |
477 | 467 |
478 class AncestorDependentCompositingInputs { | 468 class AncestorDependentCompositingInputs { |
479 DISALLOW_NEW(); | 469 DISALLOW_NEW(); |
480 public: | 470 public: |
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
815 | 805 |
816 } // namespace blink | 806 } // namespace blink |
817 | 807 |
818 #ifndef NDEBUG | 808 #ifndef NDEBUG |
819 // Outside the WebCore namespace for ease of invocation from gdb. | 809 // Outside the WebCore namespace for ease of invocation from gdb. |
820 void showLayerTree(const blink::PaintLayer*); | 810 void showLayerTree(const blink::PaintLayer*); |
821 void showLayerTree(const blink::LayoutObject*); | 811 void showLayerTree(const blink::LayoutObject*); |
822 #endif | 812 #endif |
823 | 813 |
824 #endif // Layer_h | 814 #endif // Layer_h |
OLD | NEW |