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

Side by Side Diff: third_party/WebKit/Source/core/paint/PaintLayer.h

Issue 1308273010: Adapt and reland old position sticky implementation (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Merge with master (removing horizontal-bt test) Created 5 years 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, 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 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 213
214 bool isRootLayer() const { return m_isRootLayer; } 214 bool isRootLayer() const { return m_isRootLayer; }
215 215
216 PaintLayerCompositor* compositor() const; 216 PaintLayerCompositor* compositor() const;
217 217
218 // Notification from the layoutObject that its content changed (e.g. current frame of image changed). 218 // Notification from the layoutObject that its content changed (e.g. current frame of image changed).
219 // Allows updates of layer content without invalidating paint. 219 // Allows updates of layer content without invalidating paint.
220 void contentChanged(ContentChangeType); 220 void contentChanged(ContentChangeType);
221 221
222 void updateLayerPositionsAfterLayout(); 222 void updateLayerPositionsAfterLayout();
223 void updateLayerPositionAfterFrameScroll(const DoubleSize& scrollDelta);
223 void updateLayerPositionsAfterOverflowScroll(const DoubleSize& scrollDelta); 224 void updateLayerPositionsAfterOverflowScroll(const DoubleSize& scrollDelta);
224 225
225 PaintLayer* enclosingPaginationLayer() const { return m_enclosingPaginationL ayer; } 226 PaintLayer* enclosingPaginationLayer() const { return m_enclosingPaginationL ayer; }
226 227
227 void updateTransformationMatrix(); 228 void updateTransformationMatrix();
228 PaintLayer* renderingContextRoot(); 229 PaintLayer* renderingContextRoot();
229 230
230 const LayoutSize& offsetForInFlowPosition() const { return m_offsetForInFlow Position; } 231 const LayoutSize& offsetForInFlowPosition() const { return m_offsetForInFlow Position; }
231 232
232 void addBlockSelectionGapsBounds(const LayoutRect&); 233 void addBlockSelectionGapsBounds(const LayoutRect&);
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
533 // While we're updating the compositing inputs, these values may differ. 534 // While we're updating the compositing inputs, these values may differ.
534 // We should never be asking for this value when that is the case. 535 // We should never be asking for this value when that is the case.
535 ASSERT(m_needsDescendantDependentCompositingInputsUpdate == m_needsAnces torDependentCompositingInputsUpdate); 536 ASSERT(m_needsDescendantDependentCompositingInputsUpdate == m_needsAnces torDependentCompositingInputsUpdate);
536 return m_needsDescendantDependentCompositingInputsUpdate; 537 return m_needsDescendantDependentCompositingInputsUpdate;
537 } 538 }
538 539
539 void updateAncestorDependentCompositingInputs(const AncestorDependentComposi tingInputs&); 540 void updateAncestorDependentCompositingInputs(const AncestorDependentComposi tingInputs&);
540 void updateDescendantDependentCompositingInputs(const DescendantDependentCom positingInputs&); 541 void updateDescendantDependentCompositingInputs(const DescendantDependentCom positingInputs&);
541 void didUpdateCompositingInputs(); 542 void didUpdateCompositingInputs();
542 543
543 const AncestorDependentCompositingInputs& ancestorDependentCompositingInputs () const { ASSERT(!m_needsAncestorDependentCompositingInputsUpdate); return m_an cestorDependentCompositingInputs; } 544 const AncestorDependentCompositingInputs& ancestorDependentCompositingInputs () const
545 {
546 // TODO(flackr): When we process scroll updates after compositing update s we won't be querying ancestor
547 // dependent compositing inputs while they're still needed: http://crbug .com/420741.
548 ASSERT(isAllowedToQueryCompositingState() || !m_needsAncestorDependentCo mpositingInputsUpdate);
549 return m_ancestorDependentCompositingInputs;
550 }
544 const DescendantDependentCompositingInputs& descendantDependentCompositingIn puts() const { ASSERT(!m_needsDescendantDependentCompositingInputsUpdate); retur n m_descendantDependentCompositingInputs; } 551 const DescendantDependentCompositingInputs& descendantDependentCompositingIn puts() const { ASSERT(!m_needsDescendantDependentCompositingInputsUpdate); retur n m_descendantDependentCompositingInputs; }
545 552
546 IntRect clippedAbsoluteBoundingBox() const { return ancestorDependentComposi tingInputs().clippedAbsoluteBoundingBox; } 553 IntRect clippedAbsoluteBoundingBox() const { return ancestorDependentComposi tingInputs().clippedAbsoluteBoundingBox; }
547 const PaintLayer* opacityAncestor() const { return ancestorDependentComposit ingInputs().opacityAncestor; } 554 const PaintLayer* opacityAncestor() const { return ancestorDependentComposit ingInputs().opacityAncestor; }
548 const PaintLayer* transformAncestor() const { return ancestorDependentCompos itingInputs().transformAncestor; } 555 const PaintLayer* transformAncestor() const { return ancestorDependentCompos itingInputs().transformAncestor; }
549 const PaintLayer* filterAncestor() const { return ancestorDependentCompositi ngInputs().filterAncestor; } 556 const PaintLayer* filterAncestor() const { return ancestorDependentCompositi ngInputs().filterAncestor; }
550 const LayoutObject* clippingContainer() const { return ancestorDependentComp ositingInputs().clippingContainer; } 557 const LayoutObject* clippingContainer() const { return ancestorDependentComp ositingInputs().clippingContainer; }
551 const PaintLayer* ancestorScrollingLayer() const { return ancestorDependentC ompositingInputs().ancestorScrollingLayer; } 558 const PaintLayer* ancestorScrollingLayer() const { return ancestorDependentC ompositingInputs().ancestorScrollingLayer; }
552 const PaintLayer* nearestFixedPositionLayer() const { return ancestorDepende ntCompositingInputs().nearestFixedPositionLayer; } 559 const PaintLayer* nearestFixedPositionLayer() const { return ancestorDepende ntCompositingInputs().nearestFixedPositionLayer; }
553 PaintLayer* scrollParent() const { return const_cast<PaintLayer*>(ancestorDe pendentCompositingInputs().scrollParent); } 560 PaintLayer* scrollParent() const { return const_cast<PaintLayer*>(ancestorDe pendentCompositingInputs().scrollParent); }
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
816 823
817 } // namespace blink 824 } // namespace blink
818 825
819 #ifndef NDEBUG 826 #ifndef NDEBUG
820 // Outside the WebCore namespace for ease of invocation from gdb. 827 // Outside the WebCore namespace for ease of invocation from gdb.
821 void showLayerTree(const blink::PaintLayer*); 828 void showLayerTree(const blink::PaintLayer*);
822 void showLayerTree(const blink::LayoutObject*); 829 void showLayerTree(const blink::LayoutObject*);
823 #endif 830 #endif
824 831
825 #endif // Layer_h 832 #endif // Layer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698