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

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

Issue 2773593005: Move logic of recording main thread scrolling reasons from cc to blink::ScrollManager (Closed)
Patch Set: fix incorrect test for android devices Created 3 years, 8 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 7 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
8 reserved. 8 reserved.
9 9
10 This library is free software; you can redistribute it and/or 10 This library is free software; you can redistribute it and/or
(...skipping 785 matching lines...) Expand 10 before | Expand all | Expand 10 after
796 // don't, both A and C should scroll on cc. Frame D should 796 // don't, both A and C should scroll on cc. Frame D should
797 // scrolled on main thread as its ancestor B. 797 // scrolled on main thread as its ancestor B.
798 void UpdateSubFrameScrollOnMainReason(const Frame&, 798 void UpdateSubFrameScrollOnMainReason(const Frame&,
799 MainThreadScrollingReasons); 799 MainThreadScrollingReasons);
800 String MainThreadScrollingReasonsAsText() const; 800 String MainThreadScrollingReasonsAsText() const;
801 // Main thread scrolling reasons including reasons from ancestors. 801 // Main thread scrolling reasons including reasons from ancestors.
802 MainThreadScrollingReasons GetMainThreadScrollingReasons() const; 802 MainThreadScrollingReasons GetMainThreadScrollingReasons() const;
803 // Main thread scrolling reasons for this object only. For all reasons, 803 // Main thread scrolling reasons for this object only. For all reasons,
804 // see: mainThreadScrollingReasons(). 804 // see: mainThreadScrollingReasons().
805 MainThreadScrollingReasons MainThreadScrollingReasonsPerFrame() const; 805 MainThreadScrollingReasons MainThreadScrollingReasonsPerFrame() const;
806 void AdjustStyleRelatedMainThreadScrollingReasons(const uint32_t reason,
807 bool increase);
808 MainThreadScrollingReasons GetStyleRelatedMainThreadScrollingReasons() const;
809 806
810 bool HasVisibleSlowRepaintViewportConstrainedObjects() const; 807 bool HasVisibleSlowRepaintViewportConstrainedObjects() const;
811 808
812 // Called on a view for a LocalFrame with a RemoteFrame parent. This makes 809 // Called on a view for a LocalFrame with a RemoteFrame parent. This makes
813 // viewport intersection available that accounts for remote ancestor frames 810 // viewport intersection available that accounts for remote ancestor frames
814 // and their respective scroll positions, clips, etc. 811 // and their respective scroll positions, clips, etc.
815 void SetViewportIntersectionFromParent(const IntRect&); 812 void SetViewportIntersectionFromParent(const IntRect&);
816 IntRect RemoteViewportIntersection(); 813 IntRect RemoteViewportIntersection();
817 814
818 // This method uses localToAncestorQuad to map a rect into an ancestor's 815 // This method uses localToAncestorQuad to map a rect into an ancestor's
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after
1214 }; 1211 };
1215 std::unique_ptr<Vector<ObjectPaintInvalidation>> 1212 std::unique_ptr<Vector<ObjectPaintInvalidation>>
1216 tracked_object_paint_invalidations_; 1213 tracked_object_paint_invalidations_;
1217 1214
1218 // For Slimming Paint v2 only. 1215 // For Slimming Paint v2 only.
1219 std::unique_ptr<PaintController> paint_controller_; 1216 std::unique_ptr<PaintController> paint_controller_;
1220 std::unique_ptr<PaintArtifactCompositor> paint_artifact_compositor_; 1217 std::unique_ptr<PaintArtifactCompositor> paint_artifact_compositor_;
1221 1218
1222 bool is_storing_composited_layer_debug_info_; 1219 bool is_storing_composited_layer_debug_info_;
1223 MainThreadScrollingReasons main_thread_scrolling_reasons_; 1220 MainThreadScrollingReasons main_thread_scrolling_reasons_;
1224 // For recording main thread scrolling reasons
1225 // due to layout object properties. e.g. opacity, transform.
1226 // The size of the vector depends on the number of
1227 // main thread scrolling reasons.
1228 Vector<int> main_thread_scrolling_reasons_counter_;
1229 1221
1230 // TODO(kenrb): Remove these when https://crbug.com/680606 is resolved. 1222 // TODO(kenrb): Remove these when https://crbug.com/680606 is resolved.
1231 std::unique_ptr<CompositorAnimationTimeline> animation_timeline_; 1223 std::unique_ptr<CompositorAnimationTimeline> animation_timeline_;
1232 std::unique_ptr<CompositorAnimationHost> animation_host_; 1224 std::unique_ptr<CompositorAnimationHost> animation_host_;
1233 1225
1234 Member<PrintContext> print_context_; 1226 Member<PrintContext> print_context_;
1235 1227
1236 FRIEND_TEST_ALL_PREFIXES(WebViewTest, DeviceEmulationResetScrollbars); 1228 FRIEND_TEST_ALL_PREFIXES(WebViewTest, DeviceEmulationResetScrollbars);
1237 }; 1229 };
1238 1230
(...skipping 28 matching lines...) Expand all
1267 frameViewBase.IsFrameView()); 1259 frameViewBase.IsFrameView());
1268 DEFINE_TYPE_CASTS(FrameView, 1260 DEFINE_TYPE_CASTS(FrameView,
1269 ScrollableArea, 1261 ScrollableArea,
1270 scrollableArea, 1262 scrollableArea,
1271 scrollableArea->IsFrameView(), 1263 scrollableArea->IsFrameView(),
1272 scrollableArea.IsFrameView()); 1264 scrollableArea.IsFrameView());
1273 1265
1274 } // namespace blink 1266 } // namespace blink
1275 1267
1276 #endif // FrameView_h 1268 #endif // FrameView_h
OLDNEW
« no previous file with comments | « cc/input/main_thread_scrolling_reason.h ('k') | third_party/WebKit/Source/core/frame/FrameView.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698