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 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 #include "core/paint/PaintLayerClipper.h" | 51 #include "core/paint/PaintLayerClipper.h" |
52 #include "core/paint/PaintLayerFilterInfo.h" | 52 #include "core/paint/PaintLayerFilterInfo.h" |
53 #include "core/paint/PaintLayerFragment.h" | 53 #include "core/paint/PaintLayerFragment.h" |
54 #include "core/paint/PaintLayerPainter.h" | 54 #include "core/paint/PaintLayerPainter.h" |
55 #include "core/paint/PaintLayerReflectionInfo.h" | 55 #include "core/paint/PaintLayerReflectionInfo.h" |
56 #include "core/paint/PaintLayerScrollableArea.h" | 56 #include "core/paint/PaintLayerScrollableArea.h" |
57 #include "core/paint/PaintLayerStackingNode.h" | 57 #include "core/paint/PaintLayerStackingNode.h" |
58 #include "core/paint/PaintLayerStackingNodeIterator.h" | 58 #include "core/paint/PaintLayerStackingNodeIterator.h" |
59 #include "platform/graphics/CompositingReasons.h" | 59 #include "platform/graphics/CompositingReasons.h" |
60 #include "platform/graphics/SquashingDisallowedReasons.h" | 60 #include "platform/graphics/SquashingDisallowedReasons.h" |
61 #include "public/platform/WebBlendMode.h" | |
62 #include "wtf/Allocator.h" | 61 #include "wtf/Allocator.h" |
63 #include "wtf/AutoReset.h" | 62 #include "wtf/AutoReset.h" |
64 #include "wtf/PtrUtil.h" | 63 #include "wtf/PtrUtil.h" |
65 #include <memory> | 64 #include <memory> |
66 | 65 |
67 namespace blink { | 66 namespace blink { |
68 | 67 |
69 class CompositedLayerMapping; | 68 class CompositedLayerMapping; |
| 69 class CompositorFilterOperations; |
70 class ComputedStyle; | 70 class ComputedStyle; |
71 class FilterEffectBuilder; | 71 class FilterEffectBuilder; |
72 class FilterOperations; | 72 class FilterOperations; |
73 class HitTestRequest; | 73 class HitTestRequest; |
74 class HitTestResult; | 74 class HitTestResult; |
75 class HitTestingTransformState; | 75 class HitTestingTransformState; |
76 class PaintLayerCompositor; | 76 class PaintLayerCompositor; |
77 class PaintTiming; | 77 class PaintTiming; |
78 class TransformationMatrix; | 78 class TransformationMatrix; |
79 | 79 |
(...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
471 | 471 |
472 bool paintsWithTransform(GlobalPaintFlags) const; | 472 bool paintsWithTransform(GlobalPaintFlags) const; |
473 | 473 |
474 // Returns true if background phase is painted opaque in the given rect. | 474 // Returns true if background phase is painted opaque in the given rect. |
475 // The query rect is given in local coordinates. | 475 // The query rect is given in local coordinates. |
476 bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const; | 476 bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const; |
477 | 477 |
478 bool containsDirtyOverlayScrollbars() const { return m_containsDirtyOverlayS
crollbars; } | 478 bool containsDirtyOverlayScrollbars() const { return m_containsDirtyOverlayS
crollbars; } |
479 void setContainsDirtyOverlayScrollbars(bool dirtyScrollbars) { m_containsDir
tyOverlayScrollbars = dirtyScrollbars; } | 479 void setContainsDirtyOverlayScrollbars(bool dirtyScrollbars) { m_containsDir
tyOverlayScrollbars = dirtyScrollbars; } |
480 | 480 |
481 FilterOperations computeFilterOperations(const ComputedStyle&) const; | 481 CompositorFilterOperations createCompositorFilterOperationsForFilter(const C
omputedStyle&); |
482 FilterOperations computeBackdropFilterOperations(const ComputedStyle&) const
; | 482 CompositorFilterOperations createCompositorFilterOperationsForBackdropFilter
(const ComputedStyle&); |
483 bool paintsWithFilters() const; | 483 bool paintsWithFilters() const; |
484 bool paintsWithBackdropFilters() const; | 484 bool paintsWithBackdropFilters() const; |
485 FilterEffect* lastFilterEffect() const; | 485 FilterEffect* lastFilterEffect() const; |
486 | 486 |
487 // Maps "forward" to determine which pixels in a destination rect are | 487 // Maps "forward" to determine which pixels in a destination rect are |
488 // affected by pixels in the source rect. | 488 // affected by pixels in the source rect. |
489 // See also FilterEffect::mapRect. | 489 // See also FilterEffect::mapRect. |
490 FloatRect mapRectForFilter(const FloatRect&) const; | 490 FloatRect mapRectForFilter(const FloatRect&) const; |
491 | 491 |
492 // Calls the above, rounding outwards. | 492 // Calls the above, rounding outwards. |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
779 bool hitTestClippedOutByClipPath(PaintLayer* rootLayer, const HitTestLocatio
n&) const; | 779 bool hitTestClippedOutByClipPath(PaintLayer* rootLayer, const HitTestLocatio
n&) const; |
780 | 780 |
781 bool childBackgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const; | 781 bool childBackgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const; |
782 | 782 |
783 bool shouldBeSelfPaintingLayer() const; | 783 bool shouldBeSelfPaintingLayer() const; |
784 | 784 |
785 // FIXME: We should only create the stacking node if needed. | 785 // FIXME: We should only create the stacking node if needed. |
786 bool requiresStackingNode() const { return true; } | 786 bool requiresStackingNode() const { return true; } |
787 void updateStackingNode(); | 787 void updateStackingNode(); |
788 | 788 |
| 789 FilterOperations computeFilterOperations(const ComputedStyle&) const; |
789 void updateReflectionInfo(const ComputedStyle*); | 790 void updateReflectionInfo(const ComputedStyle*); |
790 FilterEffectBuilder* updateFilterEffectBuilder() const; | 791 FilterEffectBuilder* updateFilterEffectBuilder() const; |
791 | 792 |
792 // FIXME: We could lazily allocate our ScrollableArea based on style propert
ies ('overflow', ...) | 793 // FIXME: We could lazily allocate our ScrollableArea based on style propert
ies ('overflow', ...) |
793 // but for now, we are always allocating it for LayoutBox as it's safer. crb
ug.com/467721. | 794 // but for now, we are always allocating it for LayoutBox as it's safer. crb
ug.com/467721. |
794 bool requiresScrollableArea() const { return layoutBox(); } | 795 bool requiresScrollableArea() const { return layoutBox(); } |
795 void updateScrollableArea(); | 796 void updateScrollableArea(); |
796 | 797 |
797 void dirtyAncestorChainVisibleDescendantStatus(); | 798 void dirtyAncestorChainVisibleDescendantStatus(); |
798 | 799 |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
930 | 931 |
931 } // namespace blink | 932 } // namespace blink |
932 | 933 |
933 #ifndef NDEBUG | 934 #ifndef NDEBUG |
934 // Outside the WebCore namespace for ease of invocation from gdb. | 935 // Outside the WebCore namespace for ease of invocation from gdb. |
935 void showLayerTree(const blink::PaintLayer*); | 936 void showLayerTree(const blink::PaintLayer*); |
936 void showLayerTree(const blink::LayoutObject*); | 937 void showLayerTree(const blink::LayoutObject*); |
937 #endif | 938 #endif |
938 | 939 |
939 #endif // Layer_h | 940 #endif // Layer_h |
OLD | NEW |