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

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

Issue 449723003: Simply rules for compositing fixed position elements (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Deleted Created 6 years, 4 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 | Annotate | Revision Log
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 358 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 369
370 bool hasFilterInfo() const { return m_hasFilterInfo; } 370 bool hasFilterInfo() const { return m_hasFilterInfo; }
371 void setHasFilterInfo(bool hasFilterInfo) { m_hasFilterInfo = hasFilterInfo; } 371 void setHasFilterInfo(bool hasFilterInfo) { m_hasFilterInfo = hasFilterInfo; }
372 372
373 void updateFilters(const RenderStyle* oldStyle, const RenderStyle* newStyle) ; 373 void updateFilters(const RenderStyle* oldStyle, const RenderStyle* newStyle) ;
374 374
375 Node* enclosingElement() const; 375 Node* enclosingElement() const;
376 376
377 bool isInTopLayer() const; 377 bool isInTopLayer() const;
378 378
379 enum ViewportConstrainedNotCompositedReason {
380 NoNotCompositedReason = 0,
381 NotCompositedForBoundsOutOfView,
382 NotCompositedForNonViewContainer,
383 NotCompositedForNoVisibleContent,
384 NotCompositedForUnscrollableAncestors,
385 NumNotCompositedReasons,
386
387 // This is the number of bits used to store the viewport constrained not composited
388 // reasons. We define this constant since sizeof won't return the number of bits, and we
389 // shouldn't duplicate the constant.
390 ViewportConstrainedNotCompositedReasonBits = 3
391 };
392
393 void setViewportConstrainedNotCompositedReason(ViewportConstrainedNotComposi tedReason reason) { m_viewportConstrainedNotCompositedReason = reason; }
394 ViewportConstrainedNotCompositedReason viewportConstrainedNotCompositedReaso n() const { ASSERT(isAllowedToQueryCompositingState()); return static_cast<Viewp ortConstrainedNotCompositedReason>(m_viewportConstrainedNotCompositedReason); }
395
396 bool scrollsWithViewport() const; 379 bool scrollsWithViewport() const;
397 bool scrollsWithRespectTo(const RenderLayer*) const; 380 bool scrollsWithRespectTo(const RenderLayer*) const;
398 381
399 void addLayerHitTestRects(LayerHitTestRects&) const; 382 void addLayerHitTestRects(LayerHitTestRects&) const;
400 383
401 // Compute rects only for this layer 384 // Compute rects only for this layer
402 void computeSelfHitTestRects(LayerHitTestRects&) const; 385 void computeSelfHitTestRects(LayerHitTestRects&) const;
403 386
404 // FIXME: This should probably return a ScrollableArea but a lot of internal methods are mistakenly exposed. 387 // FIXME: This should probably return a ScrollableArea but a lot of internal methods are mistakenly exposed.
405 RenderLayerScrollableArea* scrollableArea() const { return m_scrollableArea. get(); } 388 RenderLayerScrollableArea* scrollableArea() const { return m_scrollableArea. get(); }
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 // as opposed to the tree formed by the z-order and normal flow lists). 689 // as opposed to the tree formed by the z-order and normal flow lists).
707 unsigned m_hasNonCompositedChild : 1; 690 unsigned m_hasNonCompositedChild : 1;
708 691
709 // Should be for stacking contexts having unisolated blending descendants. 692 // Should be for stacking contexts having unisolated blending descendants.
710 unsigned m_shouldIsolateCompositedDescendants : 1; 693 unsigned m_shouldIsolateCompositedDescendants : 1;
711 694
712 // True if this render layer just lost its grouped mapping due to the Compos itedLayerMapping being destroyed, 695 // True if this render layer just lost its grouped mapping due to the Compos itedLayerMapping being destroyed,
713 // and we don't yet know to what graphics layer this RenderLayer will be ass igned. 696 // and we don't yet know to what graphics layer this RenderLayer will be ass igned.
714 unsigned m_lostGroupedMapping : 1; 697 unsigned m_lostGroupedMapping : 1;
715 698
716 // The reason, if any exists, that a fixed-position layer is chosen not to b e composited.
717 unsigned m_viewportConstrainedNotCompositedReason : ViewportConstrainedNotCo mpositedReasonBits;
718
719 RenderLayerModelObject* m_renderer; 699 RenderLayerModelObject* m_renderer;
720 700
721 RenderLayer* m_parent; 701 RenderLayer* m_parent;
722 RenderLayer* m_previous; 702 RenderLayer* m_previous;
723 RenderLayer* m_next; 703 RenderLayer* m_next;
724 RenderLayer* m_first; 704 RenderLayer* m_first;
725 RenderLayer* m_last; 705 RenderLayer* m_last;
726 706
727 // Our current relative position offset. 707 // Our current relative position offset.
728 LayoutSize m_offsetForInFlowPosition; 708 LayoutSize m_offsetForInFlowPosition;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
770 750
771 } // namespace blink 751 } // namespace blink
772 752
773 #ifndef NDEBUG 753 #ifndef NDEBUG
774 // Outside the WebCore namespace for ease of invocation from gdb. 754 // Outside the WebCore namespace for ease of invocation from gdb.
775 void showLayerTree(const blink::RenderLayer*); 755 void showLayerTree(const blink::RenderLayer*);
776 void showLayerTree(const blink::RenderObject*); 756 void showLayerTree(const blink::RenderObject*);
777 #endif 757 #endif
778 758
779 #endif // RenderLayer_h 759 #endif // RenderLayer_h
OLDNEW
« no previous file with comments | « Source/core/page/scrolling/ScrollingCoordinator.cpp ('k') | Source/core/rendering/RenderLayer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698