| OLD | NEW |
| 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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 #include "wtf/Allocator.h" | 60 #include "wtf/Allocator.h" |
| 61 #include "wtf/AutoReset.h" | 61 #include "wtf/AutoReset.h" |
| 62 #include "wtf/PtrUtil.h" | 62 #include "wtf/PtrUtil.h" |
| 63 #include <memory> | 63 #include <memory> |
| 64 | 64 |
| 65 namespace blink { | 65 namespace blink { |
| 66 | 66 |
| 67 class CompositedLayerMapping; | 67 class CompositedLayerMapping; |
| 68 class CompositorFilterOperations; | 68 class CompositorFilterOperations; |
| 69 class ComputedStyle; | 69 class ComputedStyle; |
| 70 class FilterEffect; |
| 70 class FilterOperations; | 71 class FilterOperations; |
| 71 class HitTestRequest; | 72 class HitTestRequest; |
| 72 class HitTestResult; | 73 class HitTestResult; |
| 73 class HitTestingTransformState; | 74 class HitTestingTransformState; |
| 74 class PaintLayerCompositor; | 75 class PaintLayerCompositor; |
| 75 class PaintTiming; | 76 class PaintTiming; |
| 76 class TransformationMatrix; | 77 class TransformationMatrix; |
| 77 | 78 |
| 78 enum IncludeSelfOrNot { IncludeSelf, ExcludeSelf }; | 79 enum IncludeSelfOrNot { IncludeSelf, ExcludeSelf }; |
| 79 | 80 |
| (...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 587 | 588 |
| 588 // Calls the above, rounding outwards. | 589 // Calls the above, rounding outwards. |
| 589 LayoutRect mapLayoutRectForFilter(const LayoutRect&) const; | 590 LayoutRect mapLayoutRectForFilter(const LayoutRect&) const; |
| 590 | 591 |
| 591 bool hasFilterThatMovesPixels() const; | 592 bool hasFilterThatMovesPixels() const; |
| 592 | 593 |
| 593 PaintLayerFilterInfo* filterInfo() const { | 594 PaintLayerFilterInfo* filterInfo() const { |
| 594 return m_rareData ? m_rareData->filterInfo.get() : nullptr; | 595 return m_rareData ? m_rareData->filterInfo.get() : nullptr; |
| 595 } | 596 } |
| 596 PaintLayerFilterInfo& ensureFilterInfo(); | 597 PaintLayerFilterInfo& ensureFilterInfo(); |
| 598 void removeFilterInfo(); |
| 597 | 599 |
| 598 void updateFilters(const ComputedStyle* oldStyle, | 600 void updateFilters(const ComputedStyle* oldStyle, |
| 599 const ComputedStyle& newStyle); | 601 const ComputedStyle& newStyle); |
| 600 | 602 |
| 601 Node* enclosingNode() const; | 603 Node* enclosingNode() const; |
| 602 | 604 |
| 603 bool isInTopLayer() const; | 605 bool isInTopLayer() const; |
| 604 | 606 |
| 605 bool scrollsWithViewport() const; | 607 bool scrollsWithViewport() const; |
| 606 bool scrollsWithRespectTo(const PaintLayer*) const; | 608 bool scrollsWithRespectTo(const PaintLayer*) const; |
| (...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 819 void setHasCompositingDescendant(bool); | 821 void setHasCompositingDescendant(bool); |
| 820 | 822 |
| 821 bool shouldIsolateCompositedDescendants() const { | 823 bool shouldIsolateCompositedDescendants() const { |
| 822 DCHECK(isAllowedToQueryCompositingState()); | 824 DCHECK(isAllowedToQueryCompositingState()); |
| 823 return m_shouldIsolateCompositedDescendants; | 825 return m_shouldIsolateCompositedDescendants; |
| 824 } | 826 } |
| 825 void setShouldIsolateCompositedDescendants(bool); | 827 void setShouldIsolateCompositedDescendants(bool); |
| 826 | 828 |
| 827 void updateDescendantDependentFlags(); | 829 void updateDescendantDependentFlags(); |
| 828 | 830 |
| 829 void updateOrRemoveFilterEffect(); | |
| 830 | |
| 831 void updateSelfPaintingLayer(); | 831 void updateSelfPaintingLayer(); |
| 832 // This is O(depth) so avoid calling this in loops. Instead use optimizations | 832 // This is O(depth) so avoid calling this in loops. Instead use optimizations |
| 833 // like those in PaintInvalidationState. | 833 // like those in PaintInvalidationState. |
| 834 PaintLayer* enclosingSelfPaintingLayer(); | 834 PaintLayer* enclosingSelfPaintingLayer(); |
| 835 | 835 |
| 836 PaintLayer* enclosingTransformedAncestor() const; | 836 PaintLayer* enclosingTransformedAncestor() const; |
| 837 LayoutPoint computeOffsetFromTransformedAncestor() const; | 837 LayoutPoint computeOffsetFromTransformedAncestor() const; |
| 838 | 838 |
| 839 void didUpdateNeedsCompositedScrolling(); | 839 void didUpdateNeedsCompositedScrolling(); |
| 840 | 840 |
| (...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1073 | 1073 |
| 1074 bool childBackgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const; | 1074 bool childBackgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const; |
| 1075 | 1075 |
| 1076 bool shouldBeSelfPaintingLayer() const; | 1076 bool shouldBeSelfPaintingLayer() const; |
| 1077 | 1077 |
| 1078 // FIXME: We should only create the stacking node if needed. | 1078 // FIXME: We should only create the stacking node if needed. |
| 1079 bool requiresStackingNode() const { return true; } | 1079 bool requiresStackingNode() const { return true; } |
| 1080 void updateStackingNode(); | 1080 void updateStackingNode(); |
| 1081 | 1081 |
| 1082 FilterOperations addReflectionToFilterOperations(const ComputedStyle&) const; | 1082 FilterOperations addReflectionToFilterOperations(const ComputedStyle&) const; |
| 1083 FilterEffect* updateFilterEffect() const; | |
| 1084 | 1083 |
| 1085 // FIXME: We could lazily allocate our ScrollableArea based on style | 1084 // FIXME: We could lazily allocate our ScrollableArea based on style |
| 1086 // properties ('overflow', ...) but for now, we are always allocating it for | 1085 // properties ('overflow', ...) but for now, we are always allocating it for |
| 1087 // LayoutBox as it's safer. crbug.com/467721. | 1086 // LayoutBox as it's safer. crbug.com/467721. |
| 1088 bool requiresScrollableArea() const { return layoutBox(); } | 1087 bool requiresScrollableArea() const { return layoutBox(); } |
| 1089 void updateScrollableArea(); | 1088 void updateScrollableArea(); |
| 1090 | 1089 |
| 1091 void dirtyAncestorChainVisibleDescendantStatus(); | 1090 void dirtyAncestorChainVisibleDescendantStatus(); |
| 1092 | 1091 |
| 1093 bool attemptDirectCompositingUpdate(StyleDifference, | 1092 bool attemptDirectCompositingUpdate(StyleDifference, |
| 1094 const ComputedStyle* oldStyle); | 1093 const ComputedStyle* oldStyle); |
| 1095 void updateTransform(const ComputedStyle* oldStyle, | 1094 void updateTransform(const ComputedStyle* oldStyle, |
| 1096 const ComputedStyle& newStyle); | 1095 const ComputedStyle& newStyle); |
| 1097 | 1096 |
| 1098 void removeAncestorOverflowLayer(const PaintLayer* removedLayer); | 1097 void removeAncestorOverflowLayer(const PaintLayer* removedLayer); |
| 1099 | 1098 |
| 1100 void updateOrRemoveFilterClients(); | |
| 1101 | |
| 1102 void updatePaginationRecursive(bool needsPaginationUpdate = false); | 1099 void updatePaginationRecursive(bool needsPaginationUpdate = false); |
| 1103 void clearPaginationRecursive(); | 1100 void clearPaginationRecursive(); |
| 1104 | 1101 |
| 1105 void setNeedsRepaintInternal(); | 1102 void setNeedsRepaintInternal(); |
| 1106 void markCompositingContainerChainForNeedsRepaint(); | 1103 void markCompositingContainerChainForNeedsRepaint(); |
| 1107 | 1104 |
| 1108 PaintLayerRareData& ensureRareData() { | 1105 PaintLayerRareData& ensureRareData() { |
| 1109 if (!m_rareData) | 1106 if (!m_rareData) |
| 1110 m_rareData = wrapUnique(new PaintLayerRareData); | 1107 m_rareData = wrapUnique(new PaintLayerRareData); |
| 1111 return *m_rareData; | 1108 return *m_rareData; |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1237 | 1234 |
| 1238 } // namespace blink | 1235 } // namespace blink |
| 1239 | 1236 |
| 1240 #ifndef NDEBUG | 1237 #ifndef NDEBUG |
| 1241 // Outside the WebCore namespace for ease of invocation from gdb. | 1238 // Outside the WebCore namespace for ease of invocation from gdb. |
| 1242 CORE_EXPORT void showLayerTree(const blink::PaintLayer*); | 1239 CORE_EXPORT void showLayerTree(const blink::PaintLayer*); |
| 1243 CORE_EXPORT void showLayerTree(const blink::LayoutObject*); | 1240 CORE_EXPORT void showLayerTree(const blink::LayoutObject*); |
| 1244 #endif | 1241 #endif |
| 1245 | 1242 |
| 1246 #endif // Layer_h | 1243 #endif // Layer_h |
| OLD | NEW |