| Index: chrome/browser/ui/cocoa/fullscreen_low_power_coordinator_unittest.mm
|
| diff --git a/chrome/browser/ui/cocoa/fullscreen_low_power_coordinator_unittest.mm b/chrome/browser/ui/cocoa/fullscreen_low_power_coordinator_unittest.mm
|
| index a870b523b95bcb3f209f9a3512db24953532a366..0b2c451fd97fc5245d7392b4d80c045e4dfd06d7 100644
|
| --- a/chrome/browser/ui/cocoa/fullscreen_low_power_coordinator_unittest.mm
|
| +++ b/chrome/browser/ui/cocoa/fullscreen_low_power_coordinator_unittest.mm
|
| @@ -61,6 +61,13 @@ void SendFrames(int count, bool low_power_valid) {
|
| widget_->GotCALayerFrame(content_layer_, low_power_valid,
|
| low_power_layer_, gfx::Size(1, 1), 1);
|
| }
|
| + bool DoesTransitionToLowPowerMode() {
|
| + if (IsInLowPowerMode())
|
| + return false;
|
| + for (int i = 0; i < 20; ++i)
|
| + coordinator_->TickEnterOrExitForTesting();
|
| + return IsInLowPowerMode();
|
| + }
|
| bool IsInLowPowerMode() {
|
| // Return true if the fullscreen low power window is in front of the content
|
| // window.
|
| @@ -111,17 +118,17 @@ bool IsInLowPowerMode() {
|
| SendFrames(kEnoughFrames, true);
|
| EXPECT_FALSE(IsInLowPowerMode());
|
| coordinator_->SetInFullscreenTransition(false);
|
| - EXPECT_TRUE(IsInLowPowerMode());
|
| + EXPECT_TRUE(DoesTransitionToLowPowerMode());
|
| coordinator_->SetInFullscreenTransition(true);
|
| EXPECT_FALSE(IsInLowPowerMode());
|
|
|
| // Verify hysteresis.
|
| coordinator_->SetInFullscreenTransition(false);
|
| - EXPECT_TRUE(IsInLowPowerMode());
|
| + EXPECT_TRUE(DoesTransitionToLowPowerMode());
|
| SendFrames(1, false);
|
| EXPECT_FALSE(IsInLowPowerMode());
|
| SendFrames(kNotEnoughFrames, true);
|
| - EXPECT_FALSE(IsInLowPowerMode());
|
| + EXPECT_FALSE(DoesTransitionToLowPowerMode());
|
| SendFrames(kEnoughFrames, true);
|
| EXPECT_TRUE(IsInLowPowerMode());
|
| }
|
| @@ -129,7 +136,7 @@ bool IsInLowPowerMode() {
|
| TEST_F(FullscreenLowPowerTest, Layout) {
|
| SendFrames(kEnoughFrames, true);
|
| coordinator_->SetInFullscreenTransition(false);
|
| - EXPECT_TRUE(IsInLowPowerMode());
|
| + EXPECT_TRUE(DoesTransitionToLowPowerMode());
|
| NSRect screen_frame = [[content_window_ screen] frame];
|
|
|
| // Test a valid layout first (and again after each invalid layout).
|
| @@ -151,7 +158,7 @@ bool IsInLowPowerMode() {
|
| NSMakeRect(0, 0, 20, 0));
|
| EXPECT_FALSE(IsInLowPowerMode());
|
| set_valid_layout();
|
| - EXPECT_TRUE(IsInLowPowerMode());
|
| + EXPECT_TRUE(DoesTransitionToLowPowerMode());
|
|
|
| // Invalid layout -- infobar visible.
|
| coordinator_->SetLayoutParameters(
|
| @@ -161,7 +168,7 @@ bool IsInLowPowerMode() {
|
| NSMakeRect(0, 0, 20, 0));
|
| EXPECT_FALSE(IsInLowPowerMode());
|
| set_valid_layout();
|
| - EXPECT_TRUE(IsInLowPowerMode());
|
| + EXPECT_TRUE(DoesTransitionToLowPowerMode());
|
|
|
| // Invalid layout -- not fullscreen.
|
| coordinator_->SetLayoutParameters(
|
| @@ -172,7 +179,7 @@ bool IsInLowPowerMode() {
|
| NSMakeRect(0, 0, 20, 0));
|
| EXPECT_FALSE(IsInLowPowerMode());
|
| set_valid_layout();
|
| - EXPECT_TRUE(IsInLowPowerMode());
|
| + EXPECT_TRUE(DoesTransitionToLowPowerMode());
|
|
|
| // Invalid layout -- download shelf visible.
|
| coordinator_->SetLayoutParameters(
|
| @@ -182,13 +189,13 @@ bool IsInLowPowerMode() {
|
| NSMakeRect(0, 0, 20, 20));
|
| EXPECT_FALSE(IsInLowPowerMode());
|
| set_valid_layout();
|
| - EXPECT_TRUE(IsInLowPowerMode());
|
| + EXPECT_TRUE(DoesTransitionToLowPowerMode());
|
| }
|
|
|
| TEST_F(FullscreenLowPowerTest, OrderFrontAndChildWindows) {
|
| SendFrames(kEnoughFrames, true);
|
| coordinator_->SetInFullscreenTransition(false);
|
| - EXPECT_TRUE(IsInLowPowerMode());
|
| + EXPECT_TRUE(DoesTransitionToLowPowerMode());
|
|
|
| // Create a child window.
|
| base::scoped_nsobject<NSWindow> child_window([[NSWindow alloc]
|
| @@ -215,7 +222,7 @@ bool IsInLowPowerMode() {
|
| // And remove it, and ensure that we're back in low power mode.
|
| [content_window_ removeChildWindow:child_window];
|
| coordinator_->ChildWindowsChanged();
|
| - EXPECT_TRUE(IsInLowPowerMode());
|
| + EXPECT_TRUE(DoesTransitionToLowPowerMode());
|
|
|
| // Now manually send the content window to the front, and make sure that
|
| // the next frame restores the low power window.
|
|
|