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

Side by Side Diff: Source/core/paint/DeprecatedPaintLayer.h

Issue 1308273010: Adapt and reland old position sticky implementation (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fix style errors and remaining layout tests. Created 5 years, 3 months 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 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 } 383 }
384 384
385 bool hasFilterInfo() const { return m_hasFilterInfo; } 385 bool hasFilterInfo() const { return m_hasFilterInfo; }
386 void setHasFilterInfo(bool hasFilterInfo) { m_hasFilterInfo = hasFilterInfo; } 386 void setHasFilterInfo(bool hasFilterInfo) { m_hasFilterInfo = hasFilterInfo; }
387 387
388 void updateFilters(const ComputedStyle* oldStyle, const ComputedStyle& newSt yle); 388 void updateFilters(const ComputedStyle* oldStyle, const ComputedStyle& newSt yle);
389 389
390 Node* enclosingElement() const; 390 Node* enclosingElement() const;
391 391
392 bool scrollsWithViewport() const; 392 bool scrollsWithViewport() const;
393 bool scrollsWithScrollAncestor() const;
393 bool scrollsWithRespectTo(const DeprecatedPaintLayer*) const; 394 bool scrollsWithRespectTo(const DeprecatedPaintLayer*) const;
394 395
395 void addLayerHitTestRects(LayerHitTestRects&) const; 396 void addLayerHitTestRects(LayerHitTestRects&) const;
396 397
397 // Compute rects only for this layer 398 // Compute rects only for this layer
398 void computeSelfHitTestRects(LayerHitTestRects&) const; 399 void computeSelfHitTestRects(LayerHitTestRects&) const;
399 400
400 // FIXME: This should probably return a ScrollableArea but a lot of internal methods are mistakenly exposed. 401 // FIXME: This should probably return a ScrollableArea but a lot of internal methods are mistakenly exposed.
401 DeprecatedPaintLayerScrollableArea* scrollableArea() const { return m_scroll ableArea.get(); } 402 DeprecatedPaintLayerScrollableArea* scrollableArea() const { return m_scroll ableArea.get(); }
402 DeprecatedPaintLayerClipper& clipper() { return m_clipper; } 403 DeprecatedPaintLayerClipper& clipper() { return m_clipper; }
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
478 // While we're updating the compositing inputs, these values may differ. 479 // While we're updating the compositing inputs, these values may differ.
479 // We should never be asking for this value when that is the case. 480 // We should never be asking for this value when that is the case.
480 ASSERT(m_needsDescendantDependentCompositingInputsUpdate == m_needsAnces torDependentCompositingInputsUpdate); 481 ASSERT(m_needsDescendantDependentCompositingInputsUpdate == m_needsAnces torDependentCompositingInputsUpdate);
481 return m_needsDescendantDependentCompositingInputsUpdate; 482 return m_needsDescendantDependentCompositingInputsUpdate;
482 } 483 }
483 484
484 void updateAncestorDependentCompositingInputs(const AncestorDependentComposi tingInputs&); 485 void updateAncestorDependentCompositingInputs(const AncestorDependentComposi tingInputs&);
485 void updateDescendantDependentCompositingInputs(const DescendantDependentCom positingInputs&); 486 void updateDescendantDependentCompositingInputs(const DescendantDependentCom positingInputs&);
486 void didUpdateCompositingInputs(); 487 void didUpdateCompositingInputs();
487 488
488 const AncestorDependentCompositingInputs& ancestorDependentCompositingInputs () const { ASSERT(!m_needsAncestorDependentCompositingInputsUpdate); return m_an cestorDependentCompositingInputs; } 489 const AncestorDependentCompositingInputs& ancestorDependentCompositingInputs () const
490 {
491 // TODO(flackr): When we process scroll updates after compositing update s we won't be querying ancestor
492 // dependent compositing inputs while they're still needed: http://crbug .com/420741.
493 ASSERT(isAllowedToQueryCompositingState() || !m_needsAncestorDependentCo mpositingInputsUpdate);
494 return m_ancestorDependentCompositingInputs;
495 }
489 const DescendantDependentCompositingInputs& descendantDependentCompositingIn puts() const { ASSERT(!m_needsDescendantDependentCompositingInputsUpdate); retur n m_descendantDependentCompositingInputs; } 496 const DescendantDependentCompositingInputs& descendantDependentCompositingIn puts() const { ASSERT(!m_needsDescendantDependentCompositingInputsUpdate); retur n m_descendantDependentCompositingInputs; }
490 497
491 IntRect clippedAbsoluteBoundingBox() const { return ancestorDependentComposi tingInputs().clippedAbsoluteBoundingBox; } 498 IntRect clippedAbsoluteBoundingBox() const { return ancestorDependentComposi tingInputs().clippedAbsoluteBoundingBox; }
492 const DeprecatedPaintLayer* opacityAncestor() const { return ancestorDepende ntCompositingInputs().opacityAncestor; } 499 const DeprecatedPaintLayer* opacityAncestor() const { return ancestorDepende ntCompositingInputs().opacityAncestor; }
493 const DeprecatedPaintLayer* transformAncestor() const { return ancestorDepen dentCompositingInputs().transformAncestor; } 500 const DeprecatedPaintLayer* transformAncestor() const { return ancestorDepen dentCompositingInputs().transformAncestor; }
494 const DeprecatedPaintLayer* filterAncestor() const { return ancestorDependen tCompositingInputs().filterAncestor; } 501 const DeprecatedPaintLayer* filterAncestor() const { return ancestorDependen tCompositingInputs().filterAncestor; }
495 const LayoutObject* clippingContainer() const { return ancestorDependentComp ositingInputs().clippingContainer; } 502 const LayoutObject* clippingContainer() const { return ancestorDependentComp ositingInputs().clippingContainer; }
496 const DeprecatedPaintLayer* ancestorScrollingLayer() const { return ancestor DependentCompositingInputs().ancestorScrollingLayer; } 503 const DeprecatedPaintLayer* ancestorScrollingLayer() const { return ancestor DependentCompositingInputs().ancestorScrollingLayer; }
497 const DeprecatedPaintLayer* nearestFixedPositionLayer() const { return ances torDependentCompositingInputs().nearestFixedPositionLayer; } 504 const DeprecatedPaintLayer* nearestFixedPositionLayer() const { return ances torDependentCompositingInputs().nearestFixedPositionLayer; }
498 DeprecatedPaintLayer* scrollParent() const { return const_cast<DeprecatedPai ntLayer*>(ancestorDependentCompositingInputs().scrollParent); } 505 DeprecatedPaintLayer* scrollParent() const { return const_cast<DeprecatedPai ntLayer*>(ancestorDependentCompositingInputs().scrollParent); }
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
746 753
747 } // namespace blink 754 } // namespace blink
748 755
749 #ifndef NDEBUG 756 #ifndef NDEBUG
750 // Outside the WebCore namespace for ease of invocation from gdb. 757 // Outside the WebCore namespace for ease of invocation from gdb.
751 void showLayerTree(const blink::DeprecatedPaintLayer*); 758 void showLayerTree(const blink::DeprecatedPaintLayer*);
752 void showLayerTree(const blink::LayoutObject*); 759 void showLayerTree(const blink::LayoutObject*);
753 #endif 760 #endif
754 761
755 #endif // Layer_h 762 #endif // Layer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698