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

Unified Diff: components/scheduler/renderer/renderer_scheduler_impl_unittest.cc

Issue 1165853002: Pipe impl_latency_takes_priority_ to the RenderScheduler. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased 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
Index: components/scheduler/renderer/renderer_scheduler_impl_unittest.cc
diff --git a/components/scheduler/renderer/renderer_scheduler_impl_unittest.cc b/components/scheduler/renderer/renderer_scheduler_impl_unittest.cc
index 9a6cb38d668df57ce96719abad6bca062267f8df..c2173fd6e68c0c6c1789cfa88b435fc23b68ffe7 100644
--- a/components/scheduler/renderer/renderer_scheduler_impl_unittest.cc
+++ b/components/scheduler/renderer/renderer_scheduler_impl_unittest.cc
@@ -101,7 +101,8 @@ void WillBeginFrameIdleTask(RendererScheduler* scheduler,
base::TimeTicks deadline) {
scheduler->WillBeginFrame(cc::BeginFrameArgs::Create(
BEGINFRAME_FROM_HERE, clock->Now(), base::TimeTicks(),
- base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL));
+ base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL,
+ true));
}
void UpdateClockToDeadlineIdleTestTask(
@@ -206,7 +207,8 @@ class RendererSchedulerImplTest : public testing::Test {
void DoMainFrame() {
scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create(
BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(),
- base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL));
+ base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL,
+ true));
scheduler_->DidCommitFrameToCompositor();
}
@@ -214,6 +216,10 @@ class RendererSchedulerImplTest : public testing::Test {
Policy CurrentPolicy() { return scheduler_->current_policy_; }
+ bool BeginMainFrameOnCriticalPath() {
+ return scheduler_->begin_main_frame_on_critical_path_;
+ }
+
// Helper for posting several tasks of specific types. |task_descriptor| is a
// string with space delimited task identifiers. The first letter of each
// task identifier specifies the task type:
@@ -388,7 +394,8 @@ TEST_F(RendererSchedulerImplTest, TestPostIdleTask) {
scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create(
BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(),
- base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL));
+ base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL,
+ true));
RunUntilIdle();
EXPECT_EQ(0, run_count); // Shouldn't run as no DidCommitFrameToCompositor.
@@ -399,7 +406,8 @@ TEST_F(RendererSchedulerImplTest, TestPostIdleTask) {
scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create(
BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(),
- base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL));
+ base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL,
+ true));
clock_->AdvanceNow(base::TimeDelta::FromMilliseconds(800));
scheduler_->DidCommitFrameToCompositor();
RunUntilIdle();
@@ -522,7 +530,8 @@ TEST_F(RendererSchedulerImplTest, TestDelayedEndIdlePeriodCanceled) {
// Trigger the beginning of an idle period for 1000ms.
scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create(
BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(),
- base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL));
+ base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL,
+ true));
DoMainFrame();
// End the idle period early (after 500ms), and send a WillBeginFrame which
@@ -530,7 +539,8 @@ TEST_F(RendererSchedulerImplTest, TestDelayedEndIdlePeriodCanceled) {
clock_->AdvanceNow(base::TimeDelta::FromMilliseconds(500));
scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create(
BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(),
- base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL));
+ base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL,
+ true));
RunUntilIdle();
EXPECT_EQ(0, run_count); // Not currently in an idle period.
@@ -1544,7 +1554,8 @@ TEST_F(RendererSchedulerImplTest, CanExceedIdleDeadlineIfRequired) {
// CanExceedIdleDeadlineIfRequired should return true.
scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create(
BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(),
- base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL));
+ base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL,
+ true));
EXPECT_FALSE(scheduler_->CanExceedIdleDeadlineIfRequired());
}
@@ -1642,4 +1653,20 @@ TEST_F(RendererSchedulerImplTest, MismatchedDidHandleInputEventOnMainThread) {
FakeInputEvent(blink::WebInputEvent::GestureFlingStart));
}
+TEST_F(RendererSchedulerImplTest, BeginMainFrameOnCriticalPath) {
+ ASSERT_FALSE(BeginMainFrameOnCriticalPath());
+
+ scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create(
+ BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(),
+ base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL,
+ true));
+ ASSERT_TRUE(BeginMainFrameOnCriticalPath());
+
+ scheduler_->WillBeginFrame(cc::BeginFrameArgs::Create(
+ BEGINFRAME_FROM_HERE, clock_->Now(), base::TimeTicks(),
+ base::TimeDelta::FromMilliseconds(1000), cc::BeginFrameArgs::NORMAL,
+ false));
+ ASSERT_FALSE(BeginMainFrameOnCriticalPath());
+}
+
} // namespace scheduler

Powered by Google App Engine
This is Rietveld 408576698