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 346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
357 bool hasCompositedMask() const; | 357 bool hasCompositedMask() const; |
358 bool hasCompositedClippingMask() const; | 358 bool hasCompositedClippingMask() const; |
359 bool needsCompositedScrolling() const { return m_scrollableArea && m_scrolla
bleArea->needsCompositedScrolling(); } | 359 bool needsCompositedScrolling() const { return m_scrollableArea && m_scrolla
bleArea->needsCompositedScrolling(); } |
360 | 360 |
361 RenderLayer* scrollParent() const; | 361 RenderLayer* scrollParent() const; |
362 RenderLayer* clipParent() const; | 362 RenderLayer* clipParent() const; |
363 | 363 |
364 bool needsCompositingLayersRebuiltForClip(const RenderStyle* oldStyle, const
RenderStyle* newStyle) const; | 364 bool needsCompositingLayersRebuiltForClip(const RenderStyle* oldStyle, const
RenderStyle* newStyle) const; |
365 bool needsCompositingLayersRebuiltForOverflow(const RenderStyle* oldStyle, c
onst RenderStyle* newStyle) const; | 365 bool needsCompositingLayersRebuiltForOverflow(const RenderStyle* oldStyle, c
onst RenderStyle* newStyle) const; |
366 bool needsCompositingLayersRebuiltForFilters(const RenderStyle* oldStyle, co
nst RenderStyle* newStyle, bool didPaintWithFilters) const; | 366 bool needsCompositingLayersRebuiltForFilters(const RenderStyle* oldStyle, co
nst RenderStyle* newStyle, bool didPaintWithFilters) const; |
| 367 bool needsCompositingLayersRebuiltForBlending(const RenderStyle* oldStyle, c
onst RenderStyle* newStyle) const; |
367 | 368 |
368 bool paintsWithTransparency(PaintBehavior paintBehavior) const | 369 bool paintsWithTransparency(PaintBehavior paintBehavior) const |
369 { | 370 { |
370 return isTransparent() && ((paintBehavior & PaintBehaviorFlattenComposit
ingLayers) || compositingState() != PaintsIntoOwnBacking); | 371 return isTransparent() && ((paintBehavior & PaintBehaviorFlattenComposit
ingLayers) || compositingState() != PaintsIntoOwnBacking); |
371 } | 372 } |
372 | 373 |
373 bool paintsWithTransform(PaintBehavior) const; | 374 bool paintsWithTransform(PaintBehavior) const; |
374 | 375 |
375 // Returns true if background phase is painted opaque in the given rect. | 376 // Returns true if background phase is painted opaque in the given rect. |
376 // The query rect is given in local coordinates. | 377 // The query rect is given in local coordinates. |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
594 | 595 |
595 // FIXME: Temporary. Remove when new columns come online. | 596 // FIXME: Temporary. Remove when new columns come online. |
596 bool useRegionBasedColumns() const; | 597 bool useRegionBasedColumns() const; |
597 | 598 |
598 bool hasCompositingDescendant() const { return m_compositingProperties.hasCo
mpositingDescendant; } | 599 bool hasCompositingDescendant() const { return m_compositingProperties.hasCo
mpositingDescendant; } |
599 void setHasCompositingDescendant(bool b) { m_compositingProperties.hasCompo
sitingDescendant = b; } | 600 void setHasCompositingDescendant(bool b) { m_compositingProperties.hasCompo
sitingDescendant = b; } |
600 | 601 |
601 bool hasNonCompositedChild() const { return m_compositingProperties.hasNonCo
mpositedChild; } | 602 bool hasNonCompositedChild() const { return m_compositingProperties.hasNonCo
mpositedChild; } |
602 void setHasNonCompositedChild(bool b) { m_compositingProperties.hasNonCompo
sitedChild = b; } | 603 void setHasNonCompositedChild(bool b) { m_compositingProperties.hasNonCompo
sitedChild = b; } |
603 | 604 |
| 605 bool shouldIsolateCompositedDescendants() const { return m_compositingProper
ties.shouldIsolateCompositedDescendants; } |
| 606 void setShouldIsolateCompositedDescendants(bool b) { m_compositingPropertie
s.shouldIsolateCompositedDescendants = b; } |
| 607 |
604 void setCompositingReasons(CompositingReasons reasons) { m_compositingProper
ties.compositingReasons = reasons; } | 608 void setCompositingReasons(CompositingReasons reasons) { m_compositingProper
ties.compositingReasons = reasons; } |
605 CompositingReasons compositingReasons() const { return m_compositingProperti
es.compositingReasons; } | 609 CompositingReasons compositingReasons() const { return m_compositingProperti
es.compositingReasons; } |
606 | 610 |
607 friend class CompositedLayerMapping; | 611 friend class CompositedLayerMapping; |
608 friend class RenderLayerCompositor; | 612 friend class RenderLayerCompositor; |
609 friend class RenderLayerModelObject; | 613 friend class RenderLayerModelObject; |
610 | 614 |
611 protected: | 615 protected: |
612 unsigned m_isSelfPaintingLayer : 1; | 616 unsigned m_isSelfPaintingLayer : 1; |
613 | 617 |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
686 | 690 |
687 // Pointer to the enclosing RenderLayer that caused us to be paginated. It i
s 0 if we are not paginated. | 691 // Pointer to the enclosing RenderLayer that caused us to be paginated. It i
s 0 if we are not paginated. |
688 RenderLayer* m_enclosingPaginationLayer; | 692 RenderLayer* m_enclosingPaginationLayer; |
689 | 693 |
690 // Properties that are computed while updating compositing layers. These val
ues may be dirty/invalid if | 694 // Properties that are computed while updating compositing layers. These val
ues may be dirty/invalid if |
691 // compositing status is not up-to-date before using them. | 695 // compositing status is not up-to-date before using them. |
692 struct CompositingProperties { | 696 struct CompositingProperties { |
693 CompositingProperties() | 697 CompositingProperties() |
694 : hasCompositingDescendant(false) | 698 : hasCompositingDescendant(false) |
695 , hasNonCompositedChild(false) | 699 , hasNonCompositedChild(false) |
| 700 , shouldIsolateCompositedDescendants(false) |
696 , viewportConstrainedNotCompositedReason(NoNotCompositedReason) | 701 , viewportConstrainedNotCompositedReason(NoNotCompositedReason) |
697 , compositingReasons(CompositingReasonNone) | 702 , compositingReasons(CompositingReasonNone) |
698 { } | 703 { } |
699 | 704 |
700 // Used only while determining what layers should be composited. Applies
to the tree of z-order lists. | 705 // Used only while determining what layers should be composited. Applies
to the tree of z-order lists. |
701 bool hasCompositingDescendant : 1; | 706 bool hasCompositingDescendant : 1; |
702 | 707 |
703 // Applies to the real render layer tree (i.e., the tree determined by t
he layer's parent and children and | 708 // Applies to the real render layer tree (i.e., the tree determined by t
he layer's parent and children and |
704 // as opposed to the tree formed by the z-order and normal flow lists). | 709 // as opposed to the tree formed by the z-order and normal flow lists). |
705 bool hasNonCompositedChild : 1; | 710 bool hasNonCompositedChild : 1; |
706 | 711 |
| 712 // Should be for stacking contexts having unisolated blending descendant
s. |
| 713 bool shouldIsolateCompositedDescendants : 1; |
| 714 |
707 // The reason, if any exists, that a fixed-position layer is chosen not
to be composited. | 715 // The reason, if any exists, that a fixed-position layer is chosen not
to be composited. |
708 unsigned viewportConstrainedNotCompositedReason : 2; | 716 unsigned viewportConstrainedNotCompositedReason : 2; |
709 | 717 |
710 // Once computed, indicates all that a layer needs to become composited
using the CompositingReasons enum bitfield. | 718 // Once computed, indicates all that a layer needs to become composited
using the CompositingReasons enum bitfield. |
711 CompositingReasons compositingReasons; | 719 CompositingReasons compositingReasons; |
712 }; | 720 }; |
713 | 721 |
714 CompositingProperties m_compositingProperties; | 722 CompositingProperties m_compositingProperties; |
715 | 723 |
716 private: | 724 private: |
(...skipping 17 matching lines...) Expand all Loading... |
734 | 742 |
735 } // namespace WebCore | 743 } // namespace WebCore |
736 | 744 |
737 #ifndef NDEBUG | 745 #ifndef NDEBUG |
738 // Outside the WebCore namespace for ease of invocation from gdb. | 746 // Outside the WebCore namespace for ease of invocation from gdb. |
739 void showLayerTree(const WebCore::RenderLayer*); | 747 void showLayerTree(const WebCore::RenderLayer*); |
740 void showLayerTree(const WebCore::RenderObject*); | 748 void showLayerTree(const WebCore::RenderObject*); |
741 #endif | 749 #endif |
742 | 750 |
743 #endif // RenderLayer_h | 751 #endif // RenderLayer_h |
OLD | NEW |