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

Side by Side Diff: third_party/WebKit/Source/core/frame/FrameView.h

Issue 2322073006: Turn off the old compositing path for SPv2. (Closed)
Patch Set: none 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) 1997 Martin Jones (mjones@kde.org) 2 Copyright (C) 1997 Martin Jones (mjones@kde.org)
3 (C) 1998 Waldo Bastian (bastian@kde.org) 3 (C) 1998 Waldo Bastian (bastian@kde.org)
4 (C) 1998, 1999 Torben Weis (weis@kde.org) 4 (C) 1998, 1999 Torben Weis (weis@kde.org)
5 (C) 1999 Lars Knoll (knoll@kde.org) 5 (C) 1999 Lars Knoll (knoll@kde.org)
6 (C) 1999 Antti Koivisto (koivisto@kde.org) 6 (C) 1999 Antti Koivisto (koivisto@kde.org)
7 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed. 7 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed.
8 8
9 This library is free software; you can redistribute it and/or 9 This library is free software; you can redistribute it and/or
10 modify it under the terms of the GNU Library General Public 10 modify it under the terms of the GNU Library General Public
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 class LocalFrame; 72 class LocalFrame;
73 class KURL; 73 class KURL;
74 class Node; 74 class Node;
75 class LayoutAnalyzer; 75 class LayoutAnalyzer;
76 class LayoutBox; 76 class LayoutBox;
77 class LayoutEmbeddedObject; 77 class LayoutEmbeddedObject;
78 class LayoutObject; 78 class LayoutObject;
79 class LayoutReplaced; 79 class LayoutReplaced;
80 class LayoutScrollbarPart; 80 class LayoutScrollbarPart;
81 class LayoutView; 81 class LayoutView;
82 class PaintController;
82 class PaintInvalidationState; 83 class PaintInvalidationState;
83 class Page; 84 class Page;
84 class ScrollingCoordinator; 85 class ScrollingCoordinator;
85 class TracedValue; 86 class TracedValue;
86 struct AnnotatedRegionValue; 87 struct AnnotatedRegionValue;
87 struct CompositedSelection; 88 struct CompositedSelection;
88 89
89 typedef unsigned long long DOMTimeStamp; 90 typedef unsigned long long DOMTimeStamp;
90 91
91 class CORE_EXPORT FrameView final : public Widget, public PaintInvalidationCapab leScrollableArea { 92 class CORE_EXPORT FrameView final : public Widget, public PaintInvalidationCapab leScrollableArea {
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 Color documentBackgroundColor() const; 244 Color documentBackgroundColor() const;
244 245
245 // Run all needed lifecycle stages. After calling this method, all frames wi ll be in the lifecycle state PaintInvalidationClean. 246 // Run all needed lifecycle stages. After calling this method, all frames wi ll be in the lifecycle state PaintInvalidationClean.
246 // If lifecycle throttling is allowed (see DocumentLifecycle::AllowThrottlin gScope), some frames may skip the lifecycle update 247 // If lifecycle throttling is allowed (see DocumentLifecycle::AllowThrottlin gScope), some frames may skip the lifecycle update
247 // (e.g., based on visibility) and will not end up being PaintInvalidationCl ean. 248 // (e.g., based on visibility) and will not end up being PaintInvalidationCl ean.
248 void updateAllLifecyclePhases(); 249 void updateAllLifecyclePhases();
249 250
250 // Everything except paint (the last phase). 251 // Everything except paint (the last phase).
251 void updateAllLifecyclePhasesExceptPaint(); 252 void updateAllLifecyclePhasesExceptPaint();
252 253
253 // Computes the style, layout and compositing lifecycle stages if needed. Af ter calling this method, all frames will be in a lifecycle
254 // state >= CompositingClean, and scrolling has been updated (unless throttl ing is allowed).
255 void updateLifecycleToCompositingCleanPlusScrolling();
256
257 // Computes only the style and layout lifecycle stages. 254 // Computes only the style and layout lifecycle stages.
258 // After calling this method, all frames will be in a lifecycle state >= Lay outClean (unless throttling is allowed). 255 // After calling this method, all frames will be in a lifecycle state >= Lay outClean (unless throttling is allowed).
259 void updateLifecycleToLayoutClean(); 256 void updateLifecycleToLayoutClean();
260 257
261 void scheduleVisualUpdateForPaintInvalidationIfNeeded(); 258 void scheduleVisualUpdateForPaintInvalidationIfNeeded();
262 259
263 bool invalidateViewportConstrainedObjects(); 260 bool invalidateViewportConstrainedObjects();
264 261
265 void incrementLayoutObjectCount() { m_layoutObjectCounter.increment(); } 262 void incrementLayoutObjectCount() { m_layoutObjectCounter.increment(); }
266 void incrementVisuallyNonEmptyCharacterCount(unsigned); 263 void incrementVisuallyNonEmptyCharacterCount(unsigned);
(...skipping 677 matching lines...) Expand 10 before | Expand all | Expand 10 after
944 bool m_needsScrollbarsUpdate; 941 bool m_needsScrollbarsUpdate;
945 bool m_suppressAdjustViewSize; 942 bool m_suppressAdjustViewSize;
946 bool m_allowsLayoutInvalidationAfterLayoutClean; 943 bool m_allowsLayoutInvalidationAfterLayoutClean;
947 944
948 // For testing. 945 // For testing.
949 struct ObjectPaintInvalidation { 946 struct ObjectPaintInvalidation {
950 String name; 947 String name;
951 PaintInvalidationReason reason; 948 PaintInvalidationReason reason;
952 }; 949 };
953 std::unique_ptr<Vector<ObjectPaintInvalidation>> m_trackedObjectPaintInvalid ations; 950 std::unique_ptr<Vector<ObjectPaintInvalidation>> m_trackedObjectPaintInvalid ations;
951
952 // For Slimming Paint v2 only.
953 std::unique_ptr<PaintController> m_paintController;
954 }; 954 };
955 955
956 inline void FrameView::incrementVisuallyNonEmptyCharacterCount(unsigned count) 956 inline void FrameView::incrementVisuallyNonEmptyCharacterCount(unsigned count)
957 { 957 {
958 if (m_isVisuallyNonEmpty) 958 if (m_isVisuallyNonEmpty)
959 return; 959 return;
960 m_visuallyNonEmptyCharacterCount += count; 960 m_visuallyNonEmptyCharacterCount += count;
961 // Use a threshold value to prevent very small amounts of visible content fr om triggering didMeaningfulLayout. 961 // Use a threshold value to prevent very small amounts of visible content fr om triggering didMeaningfulLayout.
962 // The first few hundred characters rarely contain the interesting content o f the page. 962 // The first few hundred characters rarely contain the interesting content o f the page.
963 static const unsigned visualCharacterThreshold = 200; 963 static const unsigned visualCharacterThreshold = 200;
(...skipping 11 matching lines...) Expand all
975 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold) 975 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold)
976 setIsVisuallyNonEmpty(); 976 setIsVisuallyNonEmpty();
977 } 977 }
978 978
979 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView()); 979 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView());
980 DEFINE_TYPE_CASTS(FrameView, ScrollableArea, scrollableArea, scrollableArea->isF rameView(), scrollableArea.isFrameView()); 980 DEFINE_TYPE_CASTS(FrameView, ScrollableArea, scrollableArea, scrollableArea->isF rameView(), scrollableArea.isFrameView());
981 981
982 } // namespace blink 982 } // namespace blink
983 983
984 #endif // FrameView_h 984 #endif // FrameView_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698