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

Side by Side Diff: chrome/browser/ui/views/frame/immersive_mode_controller_ash_unittest.cc

Issue 25607007: Fix ImmersiveModeControllerAshTestWithBrowserView.Layout (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | tools/valgrind/gtest_exclude/unit_tests.gtest.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/frame/immersive_mode_controller_ash.h" 5 #include "chrome/browser/ui/views/frame/immersive_mode_controller_ash.h"
6 6
7 #include "ash/display/display_controller.h" 7 #include "ash/display/display_controller.h"
8 #include "ash/shell.h" 8 #include "ash/shell.h"
9 #include "ash/test/ash_test_base.h" 9 #include "ash/test/ash_test_base.h"
10 #include "chrome/app/chrome_command_ids.h" 10 #include "chrome/app/chrome_command_ids.h"
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 widget_->Show(); 101 widget_->Show();
102 102
103 top_container_ = new views::View(); 103 top_container_ = new views::View();
104 top_container_->SetBounds(0, 0, 500, 100); 104 top_container_->SetBounds(0, 0, 500, 100);
105 top_container_->set_focusable(true); 105 top_container_->set_focusable(true);
106 106
107 widget_->GetContentsView()->AddChildView(top_container_); 107 widget_->GetContentsView()->AddChildView(top_container_);
108 108
109 controller_->Init(delegate_.get(), widget_, top_container_); 109 controller_->Init(delegate_.get(), widget_, top_container_);
110 SetAnimationsDisabled(true); 110 SetAnimationsDisabled(true);
111
112 // The mouse is moved so that it is not over |top_container_| by
113 // AshTestBase.
111 } 114 }
112 115
113 // Enable or disable the immersive mode controller's animations. When the 116 // Enable or disable the immersive mode controller's animations. When the
114 // immersive mode controller's animations are disabled, some behavior is 117 // immersive mode controller's animations are disabled, some behavior is
115 // slightly different. In particular, the behavior is different when there 118 // slightly different. In particular, the behavior is different when there
116 // is a transfer in which lock keeps the top-of-window views revealed (eg 119 // is a transfer in which lock keeps the top-of-window views revealed (eg
117 // bubble keeps top-of-window views revealed -> mouse keeps top-of-window 120 // bubble keeps top-of-window views revealed -> mouse keeps top-of-window
118 // views revealed). It is necessary to temparily enable the immersive 121 // views revealed). It is necessary to temparily enable the immersive
119 // controller's animations to get the correct behavior in tests. 122 // controller's animations to get the correct behavior in tests.
120 void SetAnimationsDisabled(bool disabled) { 123 void SetAnimationsDisabled(bool disabled) {
(...skipping 678 matching lines...) Expand 10 before | Expand all | Expand 10 after
799 TestWithBrowserView::SetUp(); 802 TestWithBrowserView::SetUp();
800 803
801 browser()->window()->Show(); 804 browser()->window()->Show();
802 805
803 ImmersiveFullscreenConfiguration::EnableImmersiveFullscreenForTest(); 806 ImmersiveFullscreenConfiguration::EnableImmersiveFullscreenForTest();
804 ASSERT_TRUE(ImmersiveFullscreenConfiguration::UseImmersiveFullscreen()); 807 ASSERT_TRUE(ImmersiveFullscreenConfiguration::UseImmersiveFullscreen());
805 808
806 controller_ = static_cast<ImmersiveModeControllerAsh*>( 809 controller_ = static_cast<ImmersiveModeControllerAsh*>(
807 browser_view()->immersive_mode_controller()); 810 browser_view()->immersive_mode_controller());
808 controller_->DisableAnimationsForTest(); 811 controller_->DisableAnimationsForTest();
812
813 // Move the mouse so that it is not over the top-of-window views. The mouse
814 // position matters because entering immersive fullscreen causes synthesized
815 // mouse moves. (If the mouse is at the very top of the screen when entering
816 // immersive fullscreen, the top-of-window views will hide, then reveal as
817 // a result of the synthesized mouse moves).
818 controller()->SetMouseHoveredForTest(false);
809 } 819 }
810 820
811 // Returns the bounds of |view| in widget coordinates. 821 // Returns the bounds of |view| in widget coordinates.
812 gfx::Rect GetBoundsInWidget(views::View* view) { 822 gfx::Rect GetBoundsInWidget(views::View* view) {
813 return view->ConvertRectToWidget(view->GetLocalBounds()); 823 return view->ConvertRectToWidget(view->GetLocalBounds());
814 } 824 }
815 825
816 ImmersiveModeControllerAsh* controller() { return controller_; } 826 ImmersiveModeControllerAsh* controller() { return controller_; }
817 827
818 private: 828 private:
819 // Not owned. 829 // Not owned.
820 ImmersiveModeControllerAsh* controller_; 830 ImmersiveModeControllerAsh* controller_;
821 831
822 DISALLOW_COPY_AND_ASSIGN(ImmersiveModeControllerAshTestWithBrowserView); 832 DISALLOW_COPY_AND_ASSIGN(ImmersiveModeControllerAshTestWithBrowserView);
823 }; 833 };
824 834
825 // Test the layout and visibility of the tabstrip, toolbar and TopContainerView 835 // Test the layout and visibility of the tabstrip, toolbar and TopContainerView
826 // in immersive fullscreen. 836 // in immersive fullscreen.
827 // Flaky. See http://crbug.com/302908 . 837 TEST_F(ImmersiveModeControllerAshTestWithBrowserView, Layout) {
828 TEST_F(ImmersiveModeControllerAshTestWithBrowserView, DISABLED_Layout) {
829 AddTab(browser(), GURL("about:blank")); 838 AddTab(browser(), GURL("about:blank"));
830 839
831 TabStrip* tabstrip = browser_view()->tabstrip(); 840 TabStrip* tabstrip = browser_view()->tabstrip();
832 ToolbarView* toolbar = browser_view()->toolbar(); 841 ToolbarView* toolbar = browser_view()->toolbar();
833 views::WebView* contents_web_view = 842 views::WebView* contents_web_view =
834 browser_view()->GetContentsWebViewForTest(); 843 browser_view()->GetContentsWebViewForTest();
835 844
836 // Immersive fullscreen starts out disabled. 845 // Immersive fullscreen starts out disabled.
837 ASSERT_FALSE(browser_view()->GetWidget()->IsFullscreen()); 846 ASSERT_FALSE(browser_view()->GetWidget()->IsFullscreen());
838 ASSERT_FALSE(controller()->IsEnabled()); 847 ASSERT_FALSE(controller()->IsEnabled());
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
960 969
961 browser_view()->GetWidget()->Restore(); 970 browser_view()->GetWidget()->Restore();
962 // Exiting immersive fullscreen occurs as a result of a task posted to the 971 // Exiting immersive fullscreen occurs as a result of a task posted to the
963 // message loop. 972 // message loop.
964 content::RunAllPendingInMessageLoop(); 973 content::RunAllPendingInMessageLoop();
965 974
966 EXPECT_FALSE(controller()->IsEnabled()); 975 EXPECT_FALSE(controller()->IsEnabled());
967 } 976 }
968 977
969 #endif // defined(OS_CHROMEOS) 978 #endif // defined(OS_CHROMEOS)
OLDNEW
« no previous file with comments | « no previous file | tools/valgrind/gtest_exclude/unit_tests.gtest.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698