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

Unified Diff: cc/scheduler/scheduler_unittest.cc

Issue 1194743002: cc: Remove ResourceUpdateQueue and ResourceUpdateController. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: resourcequeue: header Created 5 years, 6 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
« no previous file with comments | « cc/scheduler/scheduler.cc ('k') | cc/test/fake_painted_scrollbar_layer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/scheduler/scheduler_unittest.cc
diff --git a/cc/scheduler/scheduler_unittest.cc b/cc/scheduler/scheduler_unittest.cc
index 205be5140aa9349f83c4f839b925558032cd7e33..2727929eeec5cf4d7061f57f2e14ceef3868d9df 100644
--- a/cc/scheduler/scheduler_unittest.cc
+++ b/cc/scheduler/scheduler_unittest.cc
@@ -60,17 +60,11 @@ class FakeSchedulerClient : public SchedulerClient {
draw_will_happen_ = true;
swap_will_happen_if_draw_happens_ = true;
num_draws_ = 0;
- log_anticipated_draw_time_change_ = false;
begin_frame_args_sent_to_children_ = BeginFrameArgs();
}
void set_scheduler(TestScheduler* scheduler) { scheduler_ = scheduler; }
- // Most tests don't care about DidAnticipatedDrawTimeChange, so only record it
- // for tests that do.
- void set_log_anticipated_draw_time_change(bool log) {
- log_anticipated_draw_time_change_ = log;
- }
bool needs_begin_frames() {
return scheduler_->frame_source().NeedsBeginFrames();
}
@@ -147,10 +141,6 @@ class FakeSchedulerClient : public SchedulerClient {
actions_.push_back("ScheduledActionInvalidateOutputSurface");
states_.push_back(scheduler_->AsValue());
}
- void DidAnticipatedDrawTimeChange(base::TimeTicks) override {
- if (log_anticipated_draw_time_change_)
- PushAction("DidAnticipatedDrawTimeChange");
- }
base::TimeDelta DrawDurationEstimate() override { return base::TimeDelta(); }
base::TimeDelta BeginMainFrameToCommitDurationEstimate() override {
return base::TimeDelta();
@@ -195,7 +185,6 @@ class FakeSchedulerClient : public SchedulerClient {
bool swap_will_happen_if_draw_happens_;
bool automatic_swap_ack_;
int num_draws_;
- bool log_anticipated_draw_time_change_;
BeginFrameArgs begin_frame_args_sent_to_children_;
base::TimeTicks posted_begin_impl_frame_deadline_;
std::vector<const char*> actions_;
@@ -765,7 +754,6 @@ class SchedulerClientThatsetNeedsDrawInsideDraw : public FakeSchedulerClient {
}
void ScheduledActionCommit() override {}
- void DidAnticipatedDrawTimeChange(base::TimeTicks) override {}
private:
bool request_redraws_;
@@ -877,7 +865,6 @@ class SchedulerClientThatSetNeedsCommitInsideDraw : public FakeSchedulerClient {
}
void ScheduledActionCommit() override {}
- void DidAnticipatedDrawTimeChange(base::TimeTicks) override {}
void SetNeedsCommitOnNextDraw() { set_needs_commit_on_next_draw_ = true; }
@@ -1397,74 +1384,6 @@ TEST_F(SchedulerTest, NotSkipMainFrameInPreferImplLatencyMode) {
EXPECT_SCOPED(MainFrameInHighLatencyMode(1, 1, true, true));
}
-TEST_F(SchedulerTest,
- Deadlock_NotifyReadyToCommitMakesProgressWhileSwapTrottled) {
- // NPAPI plugins on Windows block the Browser UI thread on the Renderer main
- // thread. This prevents the scheduler from receiving any pending swap acks.
- // This test makes sure that we keep updating the TextureUploader with
- // DidAnticipatedDrawTimeChange's so that it can make forward progress and
- // upload all the textures needed for the commit to complete.
-
- // Since we are simulating a long commit, set up a client with draw duration
- // estimates that prevent skipping main frames to get to low latency mode.
- SchedulerClientWithFixedEstimates* client =
- new SchedulerClientWithFixedEstimates(
- base::TimeDelta::FromMilliseconds(1),
- base::TimeDelta::FromMilliseconds(32),
- base::TimeDelta::FromMilliseconds(32));
- scheduler_settings_.use_external_begin_frame_source = true;
- SetUpScheduler(make_scoped_ptr(client).Pass(), true);
-
- client->set_log_anticipated_draw_time_change(true);
-
- BeginFrameArgs frame_args =
- CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, now_src());
- frame_args.interval = base::TimeDelta::FromMilliseconds(1000);
-
- // At this point, we've drawn a frame. Start another commit, but hold off on
- // the NotifyReadyToCommit for now.
- EXPECT_FALSE(scheduler_->CommitPending());
- scheduler_->SetNeedsCommit();
- fake_external_begin_frame_source()->TestOnBeginFrame(frame_args);
- EXPECT_TRUE(scheduler_->CommitPending());
-
- // Draw and swap the frame, but don't ack the swap to simulate the Browser
- // blocking on the renderer.
- EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending());
- task_runner().RunPendingTasks(); // Run posted deadline.
- EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending());
- scheduler_->DidSwapBuffers();
-
- // Spin the event loop a few times and make sure we get more
- // DidAnticipateDrawTimeChange calls every time.
- int actions_so_far = client->num_actions_();
-
- // Does three iterations to make sure that the timer is properly repeating.
- for (int i = 0; i < 3; ++i) {
- EXPECT_EQ((frame_args.interval * 2).InMicroseconds(),
- task_runner().DelayToNextTaskTime().InMicroseconds())
- << scheduler_->AsValue()->ToString();
- task_runner().RunPendingTasks();
- EXPECT_GT(client->num_actions_(), actions_so_far);
- EXPECT_STREQ(client->Action(client->num_actions_() - 1),
- "DidAnticipatedDrawTimeChange");
- actions_so_far = client->num_actions_();
- }
-
- // Do the same thing after BeginMainFrame starts but still before activation.
- scheduler_->NotifyBeginMainFrameStarted();
- for (int i = 0; i < 3; ++i) {
- EXPECT_EQ((frame_args.interval * 2).InMicroseconds(),
- task_runner().DelayToNextTaskTime().InMicroseconds())
- << scheduler_->AsValue()->ToString();
- task_runner().RunPendingTasks();
- EXPECT_GT(client->num_actions_(), actions_so_far);
- EXPECT_STREQ(client->Action(client->num_actions_() - 1),
- "DidAnticipatedDrawTimeChange");
- actions_so_far = client->num_actions_();
- }
-}
-
TEST_F(
SchedulerTest,
Deadlock_CommitMakesProgressWhileSwapTrottledAndActiveTreeNeedsFirstDraw) {
« no previous file with comments | « cc/scheduler/scheduler.cc ('k') | cc/test/fake_painted_scrollbar_layer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698