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

Side by Side Diff: third_party/WebKit/Source/core/layout/compositing/CompositingReasonFinder.h

Issue 2565073002: Implement the algorithm to test merging and overlap in PaintArtifactCompositor. (Closed)
Patch Set: none Created 4 years 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CompositingReasonFinder_h 5 #ifndef CompositingReasonFinder_h
6 #define CompositingReasonFinder_h 6 #define CompositingReasonFinder_h
7 7
8 #include "core/layout/compositing/CompositingTriggers.h" 8 #include "core/layout/compositing/CompositingTriggers.h"
9 #include "platform/graphics/CompositingReasons.h" 9 #include "platform/graphics/CompositingReasons.h"
10 #include "wtf/Allocator.h" 10 #include "wtf/Allocator.h"
11 #include "wtf/Noncopyable.h" 11 #include "wtf/Noncopyable.h"
12 12
13 namespace blink { 13 namespace blink {
14 14
15 class PaintLayer; 15 class PaintLayer;
16 class LayoutObject; 16 class LayoutObject;
17 class ComputedStyle; 17 class ComputedStyle;
18 class LayoutView; 18 class LayoutView;
19 19
20 class CompositingReasonFinder { 20 class CompositingReasonFinder {
21 DISALLOW_NEW();
22 WTF_MAKE_NONCOPYABLE(CompositingReasonFinder); 21 WTF_MAKE_NONCOPYABLE(CompositingReasonFinder);
23 22
24 public: 23 public:
25 explicit CompositingReasonFinder(LayoutView&); 24 explicit CompositingReasonFinder(LayoutView&);
26 25
27 CompositingReasons potentialCompositingReasonsFromStyle(LayoutObject*) const; 26 CompositingReasons potentialCompositingReasonsFromStyle(LayoutObject*) const;
28 CompositingReasons directReasons(const PaintLayer*) const; 27 CompositingReasons directReasons(const PaintLayer*) const;
29 28
30 void updateTriggers(); 29 void updateTriggers();
31 30
32 bool hasOverflowScrollTrigger() const; 31 bool hasOverflowScrollTrigger() const;
33 bool requiresCompositingForScrollableFrame() const; 32 bool requiresCompositingForScrollableFrame() const;
34 bool requiresCompositingForAnimation(const ComputedStyle&) const; 33 bool requiresCompositingForAnimation(const ComputedStyle&) const;
35 34
36 private: 35 private:
37 bool isMainFrame() const; 36 bool isMainFrame() const;
38 37
39 CompositingReasons nonStyleDeterminedDirectReasons(const PaintLayer*) const; 38 CompositingReasons nonStyleDeterminedDirectReasons(const PaintLayer*) const;
40 39
41 bool requiresCompositingForTransform(LayoutObject*) const; 40 bool requiresCompositingForTransform(LayoutObject*) const;
42 bool requiresCompositingForScrollDependentPosition(const PaintLayer*) const; 41 bool requiresCompositingForScrollDependentPosition(const PaintLayer*) const;
43 42
44 LayoutView& m_layoutView; 43 LayoutView& m_layoutView;
45 CompositingTriggerFlags m_compositingTriggers; 44 CompositingTriggerFlags m_compositingTriggers;
46 }; 45 };
47 46
48 } // namespace blink 47 } // namespace blink
49 48
50 #endif // CompositingReasonFinder_h 49 #endif // CompositingReasonFinder_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698