OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2003, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2003, 2009 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. | 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. |
5 * | 5 * |
6 * Other contributors: | 6 * Other contributors: |
7 * Robert O'Callahan <roc+@cs.cmu.edu> | 7 * Robert O'Callahan <roc+@cs.cmu.edu> |
8 * David Baron <dbaron@fas.harvard.edu> | 8 * David Baron <dbaron@fas.harvard.edu> |
9 * Christian Biesinger <cbiesinger@web.de> | 9 * Christian Biesinger <cbiesinger@web.de> |
10 * Randall Jesup <rjesup@wgate.com> | 10 * Randall Jesup <rjesup@wgate.com> |
(...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
459 LayoutRect absoluteBoundingBox() const; | 459 LayoutRect absoluteBoundingBox() const; |
460 | 460 |
461 void updateHoverActiveState(const HitTestRequest&, HitTestResult&); | 461 void updateHoverActiveState(const HitTestRequest&, HitTestResult&); |
462 | 462 |
463 // WARNING: This method returns the offset for the parent as this is what up
dateLayerPositions expects. | 463 // WARNING: This method returns the offset for the parent as this is what up
dateLayerPositions expects. |
464 LayoutPoint computeOffsetFromRoot(bool& hasLayerOffset) const; | 464 LayoutPoint computeOffsetFromRoot(bool& hasLayerOffset) const; |
465 | 465 |
466 // Return a cached repaint rect, computed relative to the layer renderer's c
ontainerForRepaint. | 466 // Return a cached repaint rect, computed relative to the layer renderer's c
ontainerForRepaint. |
467 LayoutRect repaintRect() const { return m_repaintRect; } | 467 LayoutRect repaintRect() const { return m_repaintRect; } |
468 LayoutRect repaintRectIncludingDescendants() const; | 468 LayoutRect repaintRectIncludingDescendants() const; |
469 void updateLayerPositionsAfterScroll(bool fixed = false); | 469 |
| 470 enum UpdateLayerPositionsAfterScrollFlag { |
| 471 NoFlag = 0, |
| 472 HasSeenFixedPositionedAncestor = 1 << 0, |
| 473 HasSeenAncestorWithOverflowClip = 1 << 1 |
| 474 }; |
| 475 |
| 476 typedef unsigned UpdateLayerPositionsAfterScrollFlags; |
| 477 void updateLayerPositionsAfterScroll(UpdateLayerPositionsAfterScrollFlags =
NoFlag); |
470 void setNeedsFullRepaint(bool f = true) { m_needsFullRepaint = f; } | 478 void setNeedsFullRepaint(bool f = true) { m_needsFullRepaint = f; } |
471 | 479 |
472 LayoutUnit staticInlinePosition() const { return m_staticInlinePosition; } | 480 LayoutUnit staticInlinePosition() const { return m_staticInlinePosition; } |
473 LayoutUnit staticBlockPosition() const { return m_staticBlockPosition; } | 481 LayoutUnit staticBlockPosition() const { return m_staticBlockPosition; } |
474 | 482 |
475 void setStaticInlinePosition(LayoutUnit position) { m_staticInlinePosition =
position; } | 483 void setStaticInlinePosition(LayoutUnit position) { m_staticInlinePosition =
position; } |
476 void setStaticBlockPosition(LayoutUnit position) { m_staticBlockPosition = p
osition; } | 484 void setStaticBlockPosition(LayoutUnit position) { m_staticBlockPosition = p
osition; } |
477 | 485 |
478 bool hasTransform() const { return renderer()->hasTransform(); } | 486 bool hasTransform() const { return renderer()->hasTransform(); } |
479 // Note that this transform has the transform-origin baked in. | 487 // Note that this transform has the transform-origin baked in. |
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
728 bool m_3DTransformedDescendantStatusDirty : 1; | 736 bool m_3DTransformedDescendantStatusDirty : 1; |
729 bool m_has3DTransformedDescendant : 1; // Set on a stacking context layer t
hat has 3D descendants anywhere | 737 bool m_has3DTransformedDescendant : 1; // Set on a stacking context layer t
hat has 3D descendants anywhere |
730 // in a preserves3D hierarchy. Hint
to do 3D-aware hit testing. | 738 // in a preserves3D hierarchy. Hint
to do 3D-aware hit testing. |
731 #if USE(ACCELERATED_COMPOSITING) | 739 #if USE(ACCELERATED_COMPOSITING) |
732 bool m_hasCompositingDescendant : 1; // In the z-order tree. | 740 bool m_hasCompositingDescendant : 1; // In the z-order tree. |
733 bool m_mustOverlapCompositedLayers : 1; | 741 bool m_mustOverlapCompositedLayers : 1; |
734 #endif | 742 #endif |
735 | 743 |
736 bool m_containsDirtyOverlayScrollbars : 1; | 744 bool m_containsDirtyOverlayScrollbars : 1; |
737 | 745 |
| 746 // This is an optimization added for <table>. |
| 747 // Currently cells do not need to update their repaint rectangles when scrol
ling. This also |
| 748 // saves a lot of time when scrolling on a table. |
| 749 bool m_canSkipRepaintRectsUpdateOnScroll : 1; |
| 750 |
738 RenderBoxModelObject* m_renderer; | 751 RenderBoxModelObject* m_renderer; |
739 | 752 |
740 RenderLayer* m_parent; | 753 RenderLayer* m_parent; |
741 RenderLayer* m_previous; | 754 RenderLayer* m_previous; |
742 RenderLayer* m_next; | 755 RenderLayer* m_next; |
743 RenderLayer* m_first; | 756 RenderLayer* m_first; |
744 RenderLayer* m_last; | 757 RenderLayer* m_last; |
745 | 758 |
746 LayoutRect m_repaintRect; // Cached repaint rects. Used by layout. | 759 LayoutRect m_repaintRect; // Cached repaint rects. Used by layout. |
747 LayoutRect m_outlineBox; | 760 LayoutRect m_outlineBox; |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
812 | 825 |
813 } // namespace WebCore | 826 } // namespace WebCore |
814 | 827 |
815 #ifndef NDEBUG | 828 #ifndef NDEBUG |
816 // Outside the WebCore namespace for ease of invocation from gdb. | 829 // Outside the WebCore namespace for ease of invocation from gdb. |
817 void showLayerTree(const WebCore::RenderLayer*); | 830 void showLayerTree(const WebCore::RenderLayer*); |
818 void showLayerTree(const WebCore::RenderObject*); | 831 void showLayerTree(const WebCore::RenderObject*); |
819 #endif | 832 #endif |
820 | 833 |
821 #endif // RenderLayer_h | 834 #endif // RenderLayer_h |
OLD | NEW |