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

Side by Side Diff: Source/WebCore/rendering/RenderLayer.h

Issue 8520027: Merge 99752 - REGRESSION (r93614): Content remains despite parent element being scrolled off page... (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/912/
Patch Set: Created 9 years, 1 month 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) 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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698