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

Side by Side Diff: third_party/WebKit/Source/core/paint/PaintLayer.h

Issue 2335253002: Push CompositorFilterOperations creation out of GraphicsLayer (Closed)
Patch Set: The right FilterOperations Created 4 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 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698