| Index: chrome/browser/ui/window_sizer/window_sizer_ash_unittest.cc
|
| diff --git a/chrome/browser/ui/window_sizer/window_sizer_ash_unittest.cc b/chrome/browser/ui/window_sizer/window_sizer_ash_unittest.cc
|
| index bcfdd4fd0db929d3f96e1165b6141a43fb8c77a0..a05b2bf4bacd0783b426ec45a0707d1e6def3b51 100644
|
| --- a/chrome/browser/ui/window_sizer/window_sizer_ash_unittest.cc
|
| +++ b/chrome/browser/ui/window_sizer/window_sizer_ash_unittest.cc
|
| @@ -15,6 +15,7 @@
|
| #include "chrome/browser/ui/browser.h"
|
| #include "chrome/browser/ui/window_sizer/window_sizer_common_unittest.h"
|
| #include "chrome/common/chrome_switches.h"
|
| +#include "chrome/test/base/test_browser_window_aura.h"
|
| #include "chrome/test/base/testing_profile.h"
|
| #include "content/public/test/render_view_test.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -29,61 +30,19 @@ typedef ash::test::AshTestBase WindowSizerAshTest;
|
|
|
| namespace {
|
|
|
| -// A browser window proxy which is able to associate an aura native window with
|
| -// it.
|
| -class TestBrowserWindowAura : public TestBrowserWindow {
|
| - public:
|
| - // |native_window| will still be owned by the caller after the constructor
|
| - // was called.
|
| - explicit TestBrowserWindowAura(aura::Window* native_window)
|
| - : native_window_(native_window) {
|
| - }
|
| - ~TestBrowserWindowAura() override {}
|
| -
|
| - // TestBrowserWindow overrides:
|
| - void Show() override {
|
| - native_window_->Show();
|
| - Activate();
|
| - }
|
| - void Hide() override { native_window_->Hide(); }
|
| - void Activate() override {
|
| - aura::client::GetActivationClient(
|
| - native_window_->GetRootWindow())->ActivateWindow(native_window_.get());
|
| - }
|
| - gfx::NativeWindow GetNativeWindow() const override {
|
| - return native_window_.get();
|
| - }
|
| - gfx::Rect GetBounds() const override { return native_window_->bounds(); }
|
| -
|
| - Browser* browser() { return browser_.get(); }
|
| -
|
| - void CreateBrowser(const Browser::CreateParams& params) {
|
| - Browser::CreateParams create_params = params;
|
| - create_params.window = this;
|
| - browser_.reset(new Browser(create_params));
|
| - if (browser_->is_type_tabbed() || browser_->is_app()) {
|
| - ash::wm::GetWindowState(native_window_.get())->
|
| - set_window_position_managed(true);
|
| - }
|
| - }
|
| -
|
| - private:
|
| - scoped_ptr<Browser> browser_;
|
| - scoped_ptr<aura::Window> native_window_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(TestBrowserWindowAura);
|
| -};
|
| -
|
| -scoped_ptr<TestBrowserWindowAura> CreateTestBrowserWindow(
|
| - aura::Window* window,
|
| - const gfx::Rect& bounds,
|
| - const Browser::CreateParams& params) {
|
| +scoped_ptr<Browser> CreateTestBrowser(aura::Window* window,
|
| + const gfx::Rect& bounds,
|
| + Browser::CreateParams* params) {
|
| if (!bounds.IsEmpty())
|
| window->SetBounds(bounds);
|
| - scoped_ptr<TestBrowserWindowAura> browser_window(
|
| - new TestBrowserWindowAura(window));
|
| - browser_window->CreateBrowser(params);
|
| - return browser_window.Pass();
|
| + scoped_ptr<Browser> browser =
|
| + chrome::CreateBrowserWithAuraTestWindowForParams(make_scoped_ptr(window),
|
| + params);
|
| + if (browser->is_type_tabbed() || browser->is_app()) {
|
| + ash::wm::GetWindowState(browser->window()->GetNativeWindow())
|
| + ->set_window_position_managed(true);
|
| + }
|
| + return browser.Pass();
|
| }
|
|
|
| } // namespace
|
| @@ -476,31 +435,31 @@ TEST_F(WindowSizerAshTest, MAYBE_PlaceNewWindows) {
|
|
|
| // Creating a popup handler here to make sure it does not interfere with the
|
| // existing windows.
|
| - scoped_ptr<BrowserWindow> browser_window(CreateTestBrowserWindow(
|
| - CreateTestWindowInShellWithId(0),
|
| - gfx::Rect(16, 32, 640, 320),
|
| - Browser::CreateParams(profile.get(), chrome::HOST_DESKTOP_TYPE_ASH)));
|
| + Browser::CreateParams params2(profile.get(), chrome::HOST_DESKTOP_TYPE_ASH);
|
| + scoped_ptr<Browser> browser2(CreateTestBrowser(
|
| + CreateTestWindowInShellWithId(0), gfx::Rect(16, 32, 640, 320), ¶ms2));
|
| + BrowserWindow* browser_window = browser2->window();
|
|
|
| // Creating a popup to make sure it does not interfere with the positioning.
|
| - scoped_ptr<TestBrowserWindowAura> browser_popup(CreateTestBrowserWindow(
|
| - CreateTestWindowInShellWithId(1),
|
| - gfx::Rect(16, 32, 128, 256),
|
| - Browser::CreateParams(Browser::TYPE_POPUP, profile.get(),
|
| - chrome::HOST_DESKTOP_TYPE_ASH)));
|
| + Browser::CreateParams params_popup(Browser::TYPE_POPUP, profile.get(),
|
| + chrome::HOST_DESKTOP_TYPE_ASH);
|
| + scoped_ptr<Browser> browser_popup(
|
| + CreateTestBrowser(CreateTestWindowInShellWithId(1),
|
| + gfx::Rect(16, 32, 128, 256), ¶ms_popup));
|
|
|
| // Creating a panel to make sure it does not interfere with the positioning.
|
| - scoped_ptr<BrowserWindow> browser_panel(CreateTestBrowserWindow(
|
| - CreateTestWindowInShellWithId(2),
|
| - gfx::Rect(32, 48, 256, 512),
|
| - Browser::CreateParams(Browser::TYPE_POPUP, profile.get(),
|
| - chrome::HOST_DESKTOP_TYPE_ASH)));
|
| + Browser::CreateParams params_panel(Browser::TYPE_POPUP, profile.get(),
|
| + chrome::HOST_DESKTOP_TYPE_ASH);
|
| + scoped_ptr<Browser> browser_panel(
|
| + CreateTestBrowser(CreateTestWindowInShellWithId(2),
|
| + gfx::Rect(32, 48, 256, 512), ¶ms_panel));
|
| +
|
| browser_window->Show();
|
| { // Make sure that popups do not get changed.
|
| gfx::Rect window_bounds;
|
| GetWindowBounds(p1600x1200, p1600x1200, gfx::Rect(),
|
| - gfx::Rect(50, 100, 300, 150), bottom_s1600x1200,
|
| - PERSISTED, browser_popup->browser(),
|
| - gfx::Rect(), &window_bounds);
|
| + gfx::Rect(50, 100, 300, 150), bottom_s1600x1200, PERSISTED,
|
| + browser_popup.get(), gfx::Rect(), &window_bounds);
|
| EXPECT_EQ("50,100 300x150", window_bounds.ToString());
|
| }
|
|
|
| @@ -634,26 +593,29 @@ TEST_F(WindowSizerAshTest, MAYBE_PlaceNewWindowsOnMultipleDisplays) {
|
| scoped_ptr<TestingProfile> profile(new TestingProfile());
|
|
|
| // Create browser windows that are used as reference.
|
| - scoped_ptr<BrowserWindow> browser_window(CreateTestBrowserWindow(
|
| - CreateTestWindowInShellWithId(0),
|
| - gfx::Rect(10, 10, 200, 200),
|
| - Browser::CreateParams(profile.get(), chrome::HOST_DESKTOP_TYPE_ASH)));
|
| + Browser::CreateParams params(profile.get(), chrome::HOST_DESKTOP_TYPE_ASH);
|
| + scoped_ptr<Browser> browser(CreateTestBrowser(
|
| + CreateTestWindowInShellWithId(0), gfx::Rect(10, 10, 200, 200), ¶ms));
|
| + BrowserWindow* browser_window = browser->window();
|
| + gfx::NativeWindow native_window = browser_window->GetNativeWindow();
|
| browser_window->Show();
|
| - EXPECT_EQ(browser_window->GetNativeWindow()->GetRootWindow(),
|
| - ash::Shell::GetTargetRootWindow());
|
| -
|
| - scoped_ptr<BrowserWindow> another_browser_window(CreateTestBrowserWindow(
|
| - CreateTestWindowInShellWithId(1),
|
| - gfx::Rect(400, 10, 300, 300),
|
| - Browser::CreateParams(profile.get(), chrome::HOST_DESKTOP_TYPE_ASH)));
|
| + EXPECT_EQ(native_window->GetRootWindow(), ash::Shell::GetTargetRootWindow());
|
| +
|
| + Browser::CreateParams another_params(profile.get(),
|
| + chrome::HOST_DESKTOP_TYPE_ASH);
|
| + scoped_ptr<Browser> another_browser(
|
| + CreateTestBrowser(CreateTestWindowInShellWithId(1),
|
| + gfx::Rect(400, 10, 300, 300), &another_params));
|
| + BrowserWindow* another_browser_window = another_browser->window();
|
| + gfx::NativeWindow another_native_window =
|
| + another_browser_window->GetNativeWindow();
|
| another_browser_window->Show();
|
|
|
| // Creating a new window to verify the new placement.
|
| - scoped_ptr<TestBrowserWindowAura> new_browser_window(CreateTestBrowserWindow(
|
| - CreateTestWindowInShellWithId(0),
|
| - gfx::Rect(),
|
| - Browser::CreateParams(profile.get(),
|
| - chrome::HOST_DESKTOP_TYPE_ASH)));
|
| + Browser::CreateParams new_params(profile.get(),
|
| + chrome::HOST_DESKTOP_TYPE_ASH);
|
| + scoped_ptr<Browser> new_browser(CreateTestBrowser(
|
| + CreateTestWindowInShellWithId(0), gfx::Rect(), &new_params));
|
|
|
| // Make sure the primary root is active.
|
| ASSERT_EQ(ash::Shell::GetPrimaryRootWindow(),
|
| @@ -662,10 +624,9 @@ TEST_F(WindowSizerAshTest, MAYBE_PlaceNewWindowsOnMultipleDisplays) {
|
| // First new window should be in the primary.
|
| {
|
| gfx::Rect window_bounds;
|
| - GetWindowBounds(p1600x1200, p1600x1200, secondary_bounds,
|
| - gfx::Rect(), secondary_bounds,
|
| - PERSISTED, new_browser_window->browser(),
|
| - gfx::Rect(), &window_bounds);
|
| + GetWindowBounds(p1600x1200, p1600x1200, secondary_bounds, gfx::Rect(),
|
| + secondary_bounds, PERSISTED, new_browser.get(), gfx::Rect(),
|
| + &window_bounds);
|
| // TODO(oshima): Use exact bounds when the window_sizer_ash is
|
| // moved to ash and changed to include the result from
|
| // RearrangeVisibleWindowOnShow.
|
| @@ -680,14 +641,14 @@ TEST_F(WindowSizerAshTest, MAYBE_PlaceNewWindowsOnMultipleDisplays) {
|
| browser_window->GetNativeWindow()->SetBoundsInScreen(
|
| gfx::Rect(secondary_bounds.CenterPoint().x() - 100, 10, 200, 200),
|
| second_display);
|
| - browser_window->Activate();
|
| + aura::client::GetActivationClient(native_window->GetRootWindow())
|
| + ->ActivateWindow(native_window);
|
| EXPECT_NE(ash::Shell::GetPrimaryRootWindow(),
|
| ash::Shell::GetTargetRootWindow());
|
| gfx::Rect window_bounds;
|
| - GetWindowBounds(p1600x1200, p1600x1200, secondary_bounds,
|
| - gfx::Rect(), secondary_bounds,
|
| - PERSISTED, new_browser_window->browser(),
|
| - gfx::Rect(), &window_bounds);
|
| + GetWindowBounds(p1600x1200, p1600x1200, secondary_bounds, gfx::Rect(),
|
| + secondary_bounds, PERSISTED, new_browser.get(), gfx::Rect(),
|
| + &window_bounds);
|
| // TODO(oshima): Use exact bounds when the window_sizer_ash is
|
| // moved to ash and changed to include the result from
|
| // RearrangeVisibleWindowOnShow.
|
| @@ -697,15 +658,15 @@ TEST_F(WindowSizerAshTest, MAYBE_PlaceNewWindowsOnMultipleDisplays) {
|
| // Activate another window in the primary display and create a new window.
|
| // It should be created in the primary display.
|
| {
|
| - another_browser_window->Activate();
|
| + aura::client::GetActivationClient(another_native_window->GetRootWindow())
|
| + ->ActivateWindow(another_native_window);
|
| EXPECT_EQ(ash::Shell::GetPrimaryRootWindow(),
|
| ash::Shell::GetTargetRootWindow());
|
|
|
| gfx::Rect window_bounds;
|
| - GetWindowBounds(p1600x1200, p1600x1200, secondary_bounds,
|
| - gfx::Rect(), secondary_bounds,
|
| - PERSISTED, new_browser_window->browser(),
|
| - gfx::Rect(), &window_bounds);
|
| + GetWindowBounds(p1600x1200, p1600x1200, secondary_bounds, gfx::Rect(),
|
| + secondary_bounds, PERSISTED, new_browser.get(), gfx::Rect(),
|
| + &window_bounds);
|
| // TODO(oshima): Use exact bounds when the window_sizer_ash is
|
| // moved to ash and changed to include the result from
|
| // RearrangeVisibleWindowOnShow.
|
| @@ -726,108 +687,74 @@ TEST_F(WindowSizerAshTest, MAYBE_TestShowState) {
|
| scoped_ptr<TestingProfile> profile(new TestingProfile());
|
|
|
| // Creating a browser & window to play with.
|
| - scoped_ptr<TestBrowserWindowAura> browser_window(CreateTestBrowserWindow(
|
| - CreateTestWindowInShellWithId(0),
|
| - gfx::Rect(16, 32, 640, 320),
|
| - Browser::CreateParams(Browser::TYPE_TABBED, profile.get(),
|
| - chrome::HOST_DESKTOP_TYPE_ASH)));
|
| + Browser::CreateParams params(Browser::TYPE_TABBED, profile.get(),
|
| + chrome::HOST_DESKTOP_TYPE_ASH);
|
| + scoped_ptr<Browser> browser(CreateTestBrowser(
|
| + CreateTestWindowInShellWithId(0), gfx::Rect(16, 32, 640, 320), ¶ms));
|
|
|
| // Create also a popup browser since that behaves different.
|
| - scoped_ptr<TestBrowserWindowAura> browser_popup(CreateTestBrowserWindow(
|
| - CreateTestWindowInShellWithId(1),
|
| - gfx::Rect(16, 32, 640, 320),
|
| - Browser::CreateParams(Browser::TYPE_POPUP, profile.get(),
|
| - chrome::HOST_DESKTOP_TYPE_ASH)));
|
| + Browser::CreateParams params_popup(Browser::TYPE_POPUP, profile.get(),
|
| + chrome::HOST_DESKTOP_TYPE_ASH);
|
| + scoped_ptr<Browser> browser_popup(
|
| + CreateTestBrowser(CreateTestWindowInShellWithId(1),
|
| + gfx::Rect(16, 32, 640, 320), ¶ms_popup));
|
|
|
| // Tabbed windows should retrieve the saved window state - since there is a
|
| // top window.
|
| EXPECT_EQ(ui::SHOW_STATE_MAXIMIZED,
|
| - GetWindowShowState(ui::SHOW_STATE_MAXIMIZED,
|
| - ui::SHOW_STATE_NORMAL,
|
| - BOTH,
|
| - browser_window->browser(),
|
| - p1600x1200,
|
| - p1600x1200));
|
| + GetWindowShowState(ui::SHOW_STATE_MAXIMIZED, ui::SHOW_STATE_NORMAL,
|
| + BOTH, browser.get(), p1600x1200, p1600x1200));
|
| // A window that is smaller than the whole work area is set to default state.
|
| EXPECT_EQ(ui::SHOW_STATE_DEFAULT,
|
| - GetWindowShowState(ui::SHOW_STATE_DEFAULT,
|
| - ui::SHOW_STATE_NORMAL,
|
| - BOTH,
|
| - browser_window->browser(),
|
| - p1280x1024,
|
| - p1600x1200));
|
| + GetWindowShowState(ui::SHOW_STATE_DEFAULT, ui::SHOW_STATE_NORMAL,
|
| + BOTH, browser.get(), p1280x1024, p1600x1200));
|
| // A window that is sized to occupy the whole work area is maximized.
|
| EXPECT_EQ(ui::SHOW_STATE_MAXIMIZED,
|
| - GetWindowShowState(ui::SHOW_STATE_DEFAULT,
|
| - ui::SHOW_STATE_NORMAL,
|
| - BOTH,
|
| - browser_window->browser(),
|
| - p1600x1200,
|
| - p1600x1200));
|
| + GetWindowShowState(ui::SHOW_STATE_DEFAULT, ui::SHOW_STATE_NORMAL,
|
| + BOTH, browser.get(), p1600x1200, p1600x1200));
|
| // Non tabbed windows should always follow the window saved visibility state.
|
| - EXPECT_EQ(ui::SHOW_STATE_MAXIMIZED,
|
| - GetWindowShowState(ui::SHOW_STATE_MAXIMIZED,
|
| - ui::SHOW_STATE_NORMAL,
|
| - BOTH,
|
| - browser_popup->browser(),
|
| - p1600x1200,
|
| - p1600x1200));
|
| + EXPECT_EQ(
|
| + ui::SHOW_STATE_MAXIMIZED,
|
| + GetWindowShowState(ui::SHOW_STATE_MAXIMIZED, ui::SHOW_STATE_NORMAL, BOTH,
|
| + browser_popup.get(), p1600x1200, p1600x1200));
|
| // The non tabbed window will take the status of the last active of its kind.
|
| - EXPECT_EQ(ui::SHOW_STATE_NORMAL,
|
| - GetWindowShowState(ui::SHOW_STATE_DEFAULT,
|
| - ui::SHOW_STATE_NORMAL,
|
| - BOTH,
|
| - browser_popup->browser(),
|
| - p1600x1200,
|
| - p1600x1200));
|
| + EXPECT_EQ(
|
| + ui::SHOW_STATE_NORMAL,
|
| + GetWindowShowState(ui::SHOW_STATE_DEFAULT, ui::SHOW_STATE_NORMAL, BOTH,
|
| + browser_popup.get(), p1600x1200, p1600x1200));
|
|
|
| // Now create a top level window and check again for both. Only the tabbed
|
| // window should follow the top level window's state.
|
| // Creating a browser & window to play with.
|
| - scoped_ptr<TestBrowserWindowAura> browser_window2(CreateTestBrowserWindow(
|
| - CreateTestWindowInShellWithId(3),
|
| - gfx::Rect(16, 32, 640, 320),
|
| - Browser::CreateParams(Browser::TYPE_TABBED, profile.get(),
|
| - chrome::HOST_DESKTOP_TYPE_ASH)));
|
| + Browser::CreateParams params2(Browser::TYPE_TABBED, profile.get(),
|
| + chrome::HOST_DESKTOP_TYPE_ASH);
|
| + scoped_ptr<Browser> browser2(CreateTestBrowser(
|
| + CreateTestWindowInShellWithId(3), gfx::Rect(16, 32, 640, 320), ¶ms2));
|
|
|
| // A tabbed window should now take the top level window state.
|
| EXPECT_EQ(ui::SHOW_STATE_DEFAULT,
|
| - GetWindowShowState(ui::SHOW_STATE_MAXIMIZED,
|
| - ui::SHOW_STATE_DEFAULT,
|
| - BOTH,
|
| - browser_window->browser(),
|
| - p1600x1200,
|
| - p1600x1200));
|
| + GetWindowShowState(ui::SHOW_STATE_MAXIMIZED, ui::SHOW_STATE_DEFAULT,
|
| + BOTH, browser.get(), p1600x1200, p1600x1200));
|
| // Non tabbed windows should always follow the window saved visibility state.
|
| - EXPECT_EQ(ui::SHOW_STATE_MAXIMIZED,
|
| - GetWindowShowState(ui::SHOW_STATE_MAXIMIZED,
|
| - ui::SHOW_STATE_MINIMIZED,
|
| - BOTH,
|
| - browser_popup->browser(),
|
| - p1600x1200,
|
| - p1600x1200));
|
| + EXPECT_EQ(
|
| + ui::SHOW_STATE_MAXIMIZED,
|
| + GetWindowShowState(ui::SHOW_STATE_MAXIMIZED, ui::SHOW_STATE_MINIMIZED,
|
| + BOTH, browser_popup.get(), p1600x1200, p1600x1200));
|
|
|
| // In smaller screen resolutions we default to maximized if there is no other
|
| // window visible.
|
| int min_size = ash::WindowPositioner::GetForceMaximizedWidthLimit() / 2;
|
| if (min_size > 0) {
|
| const gfx::Rect tiny_screen(0, 0, min_size, min_size);
|
| - EXPECT_EQ(ui::SHOW_STATE_DEFAULT,
|
| - GetWindowShowState(ui::SHOW_STATE_MAXIMIZED,
|
| - ui::SHOW_STATE_DEFAULT,
|
| - BOTH,
|
| - browser_window->browser(),
|
| - tiny_screen,
|
| - tiny_screen));
|
| - browser_window->Hide();
|
| - EXPECT_EQ(ui::SHOW_STATE_MAXIMIZED,
|
| - GetWindowShowState(ui::SHOW_STATE_MAXIMIZED,
|
| - ui::SHOW_STATE_DEFAULT,
|
| - BOTH,
|
| - browser_window2->browser(),
|
| - tiny_screen,
|
| - tiny_screen));
|
| -
|
| + EXPECT_EQ(
|
| + ui::SHOW_STATE_DEFAULT,
|
| + GetWindowShowState(ui::SHOW_STATE_MAXIMIZED, ui::SHOW_STATE_DEFAULT,
|
| + BOTH, browser.get(), tiny_screen, tiny_screen));
|
| + browser->window()->Hide();
|
| + EXPECT_EQ(
|
| + ui::SHOW_STATE_MAXIMIZED,
|
| + GetWindowShowState(ui::SHOW_STATE_MAXIMIZED, ui::SHOW_STATE_DEFAULT,
|
| + BOTH, browser2.get(), tiny_screen, tiny_screen));
|
| }
|
| }
|
|
|
| @@ -836,77 +763,60 @@ TEST_F(WindowSizerAshTest, TestShowStateDefaults) {
|
| // Creating a browser & window to play with.
|
| scoped_ptr<TestingProfile> profile(new TestingProfile());
|
|
|
| - scoped_ptr<TestBrowserWindowAura> browser_window(CreateTestBrowserWindow(
|
| - CreateTestWindowInShellWithId(0),
|
| - gfx::Rect(16, 32, 640, 320),
|
| - Browser::CreateParams(Browser::TYPE_TABBED, profile.get(),
|
| - chrome::HOST_DESKTOP_TYPE_ASH)));
|
| + Browser::CreateParams params(Browser::TYPE_TABBED, profile.get(),
|
| + chrome::HOST_DESKTOP_TYPE_ASH);
|
| + scoped_ptr<Browser> browser(CreateTestBrowser(
|
| + CreateTestWindowInShellWithId(0), gfx::Rect(16, 32, 640, 320), ¶ms));
|
|
|
| // Create also a popup browser since that behaves slightly different for
|
| // defaults.
|
| - scoped_ptr<TestBrowserWindowAura> browser_popup(CreateTestBrowserWindow(
|
| - CreateTestWindowInShellWithId(1),
|
| - gfx::Rect(16, 32, 128, 256),
|
| - Browser::CreateParams(Browser::TYPE_POPUP, profile.get(),
|
| - chrome::HOST_DESKTOP_TYPE_ASH)));
|
| + Browser::CreateParams params_popup(Browser::TYPE_POPUP, profile.get(),
|
| + chrome::HOST_DESKTOP_TYPE_ASH);
|
| + scoped_ptr<Browser> browser_popup(
|
| + CreateTestBrowser(CreateTestWindowInShellWithId(1),
|
| + gfx::Rect(16, 32, 128, 256), ¶ms_popup));
|
|
|
| // Check that a browser creation state always get used if not given as
|
| // SHOW_STATE_DEFAULT. On Windows ASH it should be SHOW_STATE_MAXIMIZED.
|
| ui::WindowShowState window_show_state =
|
| - GetWindowShowState(ui::SHOW_STATE_MAXIMIZED,
|
| - ui::SHOW_STATE_MAXIMIZED,
|
| - DEFAULT,
|
| - browser_window->browser(),
|
| - p1600x1200,
|
| - p1600x1200);
|
| + GetWindowShowState(ui::SHOW_STATE_MAXIMIZED, ui::SHOW_STATE_MAXIMIZED,
|
| + DEFAULT, browser.get(), p1600x1200, p1600x1200);
|
| #if defined(OS_WIN)
|
| EXPECT_EQ(window_show_state, ui::SHOW_STATE_MAXIMIZED);
|
| #else
|
| EXPECT_EQ(window_show_state, ui::SHOW_STATE_DEFAULT);
|
| #endif
|
|
|
| - browser_window->browser()->set_initial_show_state(ui::SHOW_STATE_MINIMIZED);
|
| - EXPECT_EQ(GetWindowShowState(ui::SHOW_STATE_MAXIMIZED,
|
| - ui::SHOW_STATE_MAXIMIZED,
|
| - BOTH,
|
| - browser_window->browser(),
|
| - p1600x1200,
|
| - p1600x1200), ui::SHOW_STATE_MINIMIZED);
|
| - browser_window->browser()->set_initial_show_state(ui::SHOW_STATE_NORMAL);
|
| - EXPECT_EQ(GetWindowShowState(ui::SHOW_STATE_MAXIMIZED,
|
| - ui::SHOW_STATE_MAXIMIZED,
|
| - BOTH,
|
| - browser_window->browser(),
|
| - p1600x1200,
|
| - p1600x1200), ui::SHOW_STATE_NORMAL);
|
| - browser_window->browser()->set_initial_show_state(ui::SHOW_STATE_MAXIMIZED);
|
| - EXPECT_EQ(GetWindowShowState(ui::SHOW_STATE_NORMAL,
|
| - ui::SHOW_STATE_NORMAL,
|
| - BOTH,
|
| - browser_window->browser(),
|
| - p1600x1200,
|
| - p1600x1200), ui::SHOW_STATE_MAXIMIZED);
|
| + browser->set_initial_show_state(ui::SHOW_STATE_MINIMIZED);
|
| + EXPECT_EQ(
|
| + GetWindowShowState(ui::SHOW_STATE_MAXIMIZED, ui::SHOW_STATE_MAXIMIZED,
|
| + BOTH, browser.get(), p1600x1200, p1600x1200),
|
| + ui::SHOW_STATE_MINIMIZED);
|
| + browser->set_initial_show_state(ui::SHOW_STATE_NORMAL);
|
| + EXPECT_EQ(
|
| + GetWindowShowState(ui::SHOW_STATE_MAXIMIZED, ui::SHOW_STATE_MAXIMIZED,
|
| + BOTH, browser.get(), p1600x1200, p1600x1200),
|
| + ui::SHOW_STATE_NORMAL);
|
| + browser->set_initial_show_state(ui::SHOW_STATE_MAXIMIZED);
|
| + EXPECT_EQ(GetWindowShowState(ui::SHOW_STATE_NORMAL, ui::SHOW_STATE_NORMAL,
|
| + BOTH, browser.get(), p1600x1200, p1600x1200),
|
| + ui::SHOW_STATE_MAXIMIZED);
|
|
|
| // Check that setting the maximized command line option is forcing the
|
| // maximized state.
|
| base::CommandLine::ForCurrentProcess()->AppendSwitch(
|
| switches::kStartMaximized);
|
|
|
| - browser_window->browser()->set_initial_show_state(ui::SHOW_STATE_NORMAL);
|
| - EXPECT_EQ(GetWindowShowState(ui::SHOW_STATE_NORMAL,
|
| - ui::SHOW_STATE_NORMAL,
|
| - BOTH,
|
| - browser_window->browser(),
|
| - p1600x1200,
|
| - p1600x1200), ui::SHOW_STATE_MAXIMIZED);
|
| + browser->set_initial_show_state(ui::SHOW_STATE_NORMAL);
|
| + EXPECT_EQ(GetWindowShowState(ui::SHOW_STATE_NORMAL, ui::SHOW_STATE_NORMAL,
|
| + BOTH, browser.get(), p1600x1200, p1600x1200),
|
| + ui::SHOW_STATE_MAXIMIZED);
|
|
|
| // The popup should favor the initial show state over the command line.
|
| - EXPECT_EQ(GetWindowShowState(ui::SHOW_STATE_NORMAL,
|
| - ui::SHOW_STATE_NORMAL,
|
| - BOTH,
|
| - browser_popup->browser(),
|
| - p1600x1200,
|
| - p1600x1200), ui::SHOW_STATE_NORMAL);
|
| + EXPECT_EQ(
|
| + GetWindowShowState(ui::SHOW_STATE_NORMAL, ui::SHOW_STATE_NORMAL, BOTH,
|
| + browser_popup.get(), p1600x1200, p1600x1200),
|
| + ui::SHOW_STATE_NORMAL);
|
| }
|
|
|
| TEST_F(WindowSizerAshTest, DefaultStateBecomesMaximized) {
|
| @@ -986,25 +896,18 @@ TEST_F(WindowSizerAshTest, TrustedPopupBehavior) {
|
| Browser::TYPE_POPUP, profile.get(), chrome::HOST_DESKTOP_TYPE_ASH);
|
| trusted_popup_create_params.trusted_source = true;
|
|
|
| - scoped_ptr<TestBrowserWindowAura> trusted_popup(CreateTestBrowserWindow(
|
| - CreateTestWindowInShellWithId(1),
|
| - gfx::Rect(16, 32, 640, 320),
|
| - trusted_popup_create_params));
|
| + scoped_ptr<Browser> trusted_popup(CreateTestBrowser(
|
| + CreateTestWindowInShellWithId(1), gfx::Rect(16, 32, 640, 320),
|
| + &trusted_popup_create_params));
|
| // Trusted popup windows should follow the saved show state and ignore the
|
| // last show state.
|
| - EXPECT_EQ(ui::SHOW_STATE_DEFAULT,
|
| - GetWindowShowState(ui::SHOW_STATE_DEFAULT,
|
| - ui::SHOW_STATE_NORMAL,
|
| - BOTH,
|
| - trusted_popup->browser(),
|
| - p1280x1024,
|
| - p1600x1200));
|
| + EXPECT_EQ(
|
| + ui::SHOW_STATE_DEFAULT,
|
| + GetWindowShowState(ui::SHOW_STATE_DEFAULT, ui::SHOW_STATE_NORMAL, BOTH,
|
| + trusted_popup.get(), p1280x1024, p1600x1200));
|
| // A popup that is sized to occupy the whole work area has default state.
|
| - EXPECT_EQ(ui::SHOW_STATE_DEFAULT,
|
| - GetWindowShowState(ui::SHOW_STATE_DEFAULT,
|
| - ui::SHOW_STATE_NORMAL,
|
| - BOTH,
|
| - trusted_popup->browser(),
|
| - p1600x1200,
|
| - p1600x1200));
|
| + EXPECT_EQ(
|
| + ui::SHOW_STATE_DEFAULT,
|
| + GetWindowShowState(ui::SHOW_STATE_DEFAULT, ui::SHOW_STATE_NORMAL, BOTH,
|
| + trusted_popup.get(), p1600x1200, p1600x1200));
|
| }
|
|
|