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

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

Powered by Google App Engine
This is Rietveld 408576698