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

Unified Diff: cc/trees/layer_tree_host_unittest.cc

Issue 884243004: cc: Record frame timing composite events in the tracker. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: test Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
« cc/trees/layer_tree_host_impl.cc ('K') | « cc/trees/layer_tree_host_impl.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/layer_tree_host_unittest.cc
diff --git a/cc/trees/layer_tree_host_unittest.cc b/cc/trees/layer_tree_host_unittest.cc
index a3c37ed627e3908fda61e47fbbaf96ee8b0425d0..6cbba72c2b7a73e4e6218fe15e24b4447de8bd6a 100644
--- a/cc/trees/layer_tree_host_unittest.cc
+++ b/cc/trees/layer_tree_host_unittest.cc
@@ -6120,6 +6120,66 @@ class LayerTreeHostTestOneActivatePerPrepareTiles : public LayerTreeHostTest {
MULTI_THREAD_IMPL_TEST_F(LayerTreeHostTestOneActivatePerPrepareTiles);
+class LayerTreeHostTestFrameTimingRequestsSaveTimestamps
+ : public LayerTreeHostTest {
+ public:
+ LayerTreeHostTestFrameTimingRequestsSaveTimestamps()
+ : check_results_on_commit_(false) {}
+
+ void SetupTree() override {
+ client_.set_fill_with_nonsolid_color(true);
+ scoped_refptr<FakePictureLayer> root_layer =
+ FakePictureLayer::Create(&client_);
+ root_layer->SetBounds(gfx::Size(1500, 1500));
+ root_layer->SetIsDrawable(true);
+
+ std::vector<FrameTimingRequest> requests;
+ requests.push_back(FrameTimingRequest(1, gfx::Rect(0, 0, 100, 100)));
+ requests.push_back(FrameTimingRequest(2, gfx::Rect(300, 0, 100, 100)));
+ root_layer->SetFrameTimingRequests(requests);
+
+ layer_tree_host()->SetRootLayer(root_layer);
+ LayerTreeHostTest::SetupTree();
+ }
+
+ void BeginTest() override {
+ layer_tree_host()->SetViewportSize(gfx::Size(16, 16));
+ PostSetNeedsCommitToMainThread();
+ }
+
+ void BeginCommitOnThread(LayerTreeHostImpl* host_impl) override {
+ if (!check_results_on_commit_)
+ return;
+
+ FrameTimingTracker* tracker = host_impl->frame_timing_tracker();
+ scoped_ptr<FrameTimingTracker::CompositeTimingSet> timing_set =
+ tracker->GroupCountsByRectId();
+ EXPECT_EQ(1u, timing_set->size());
+ auto rect_1_it = timing_set->find(1);
+ EXPECT_TRUE(rect_1_it != timing_set->end());
+ const auto& timing_events = rect_1_it->second;
+ EXPECT_EQ(1u, timing_events.size());
+ EXPECT_EQ(host_impl->active_tree()->source_frame_number(),
+ timing_events[0].frame_id);
+ EXPECT_GT(timing_events[0].timestamp, base::TimeTicks());
+
+ EndTest();
+ }
+
+ void DrawLayersOnThread(LayerTreeHostImpl* host_impl) override {
+ check_results_on_commit_ = true;
+ PostSetNeedsCommitToMainThread();
+ }
+
+ void AfterTest() override {}
+
+ private:
+ FakeContentLayerClient client_;
+ bool check_results_on_commit_;
+};
+
+MULTI_THREAD_IMPL_TEST_F(LayerTreeHostTestFrameTimingRequestsSaveTimestamps);
+
class LayerTreeHostTestActivationCausesPrepareTiles : public LayerTreeHostTest {
public:
LayerTreeHostTestActivationCausesPrepareTiles()
« cc/trees/layer_tree_host_impl.cc ('K') | « cc/trees/layer_tree_host_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698