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

Unified Diff: chrome/browser/ui/views/frame/app_non_client_frame_view_aura_browsertest.cc

Issue 11229041: Rename and move Ash window frame files (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/frame/app_non_client_frame_view_aura_browsertest.cc
diff --git a/chrome/browser/ui/views/frame/app_non_client_frame_view_aura_browsertest.cc b/chrome/browser/ui/views/frame/app_non_client_frame_view_aura_browsertest.cc
deleted file mode 100644
index 20863c7210db12dd8922594741db41dec48a0647..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/views/frame/app_non_client_frame_view_aura_browsertest.cc
+++ /dev/null
@@ -1,229 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_finder.h"
-#include "chrome/browser/ui/browser_list.h"
-#include "chrome/browser/ui/browser_tabstrip.h"
-#include "chrome/browser/ui/browser_window.h"
-#include "chrome/browser/ui/views/frame/app_non_client_frame_view_aura.h"
-#include "chrome/browser/ui/views/frame/browser_view.h"
-#include "chrome/common/chrome_notification_types.h"
-#include "chrome/test/base/in_process_browser_test.h"
-#include "content/public/test/test_utils.h"
-#include "ui/aura/client/aura_constants.h"
-#include "ui/aura/root_window.h"
-#include "ui/aura/test/event_generator.h"
-#include "ui/aura/window.h"
-#include "ui/gfx/screen.h"
-
-#if defined(USE_ASH)
-#include "chrome/browser/ui/views/ash/browser_non_client_frame_view_ash.h"
-#endif
-
-using aura::Window;
-
-namespace {
-
-Window* GetChildWindowNamed(Window* window, const char* name) {
- for (size_t i = 0; i < window->children().size(); ++i) {
- Window* child = window->children()[i];
- if (child->name() == name)
- return child;
- }
- return NULL;
-}
-
-bool HasChildWindowNamed(Window* window, const char* name) {
- return GetChildWindowNamed(window, name) != NULL;
-}
-
-void MaximizeWindow(aura::Window* window) {
- window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_MAXIMIZED);
-}
-
-void MinimizeWindow(aura::Window* window) {
- window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_MINIMIZED);
-}
-
-void RestoreWindow(Window* window) {
- window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_NORMAL);
-}
-
-} // namespace
-
-class AppNonClientFrameViewAuraTest : public InProcessBrowserTest {
- public:
- AppNonClientFrameViewAuraTest() : InProcessBrowserTest(), app_browser_(NULL) {
- }
- virtual ~AppNonClientFrameViewAuraTest() {}
-
- virtual void SetUpOnMainThread() OVERRIDE {
- Browser::CreateParams params = Browser::CreateParams::CreateForApp(
- Browser::TYPE_POPUP,
- std::string("Test"),
- gfx::Rect(),
- browser()->profile());
- params.initial_show_state = ui::SHOW_STATE_MAXIMIZED;
- params.app_type = Browser::APP_TYPE_HOST;
- app_browser_ = new Browser(params);
- chrome::AddBlankTab(app_browser_, true);
- app_browser_->window()->Show();
- }
-
- // Returns the class name of the NonClientFrameView.
- std::string GetFrameClassName() const {
- BrowserView* browser_view =
- static_cast<BrowserView*>(app_browser_->window());
- BrowserFrame* browser_frame = browser_view->frame();
- return browser_frame->GetFrameView()->GetClassName();
- }
-
- aura::RootWindow* GetRootWindow() const {
- BrowserView* browser_view =
- static_cast<BrowserView*>(app_browser_->window());
- views::Widget* widget = browser_view->GetWidget();
- aura::Window* window =
- static_cast<aura::Window*>(widget->GetNativeWindow());
- return window->GetRootWindow();
- }
-
- Browser* app_browser() const { return app_browser_; }
-
- private:
- Browser *app_browser_;
-};
-
-#if defined(USE_ASH)
-// Ensure that restoring the app window replaces the frame with a normal one,
-// and maximizing again brings back the app frame. This has been the source of
-// some crash bugs like crbug.com/155634
-IN_PROC_BROWSER_TEST_F(AppNonClientFrameViewAuraTest, SwitchFrames) {
- // Convert to std::string so Windows can match EXPECT_EQ.
- const std::string kAppFrameClassName =
- AppNonClientFrameViewAura::kViewClassName;
- const std::string kNormalFrameClassName =
- BrowserNonClientFrameViewAsh::kViewClassName;
-
- // We start with the app frame.
- EXPECT_EQ(kAppFrameClassName, GetFrameClassName());
-
- // Restoring the window gives us the normal frame.
- Window* native_window = app_browser()->window()->GetNativeWindow();
- RestoreWindow(native_window);
- EXPECT_EQ(kNormalFrameClassName, GetFrameClassName());
-
- // Maximizing the window switches back to the app frame.
- MaximizeWindow(native_window);
- EXPECT_EQ(kAppFrameClassName, GetFrameClassName());
-
- // Minimizing the window switches to normal frame.
- // TODO(jamescook): This seems wasteful, since the user is likely to bring
- // the window back to the maximized state.
- MinimizeWindow(native_window);
- EXPECT_EQ(kNormalFrameClassName, GetFrameClassName());
-
- // Coming back to maximized switches to app frame.
- MaximizeWindow(native_window);
- EXPECT_EQ(kAppFrameClassName, GetFrameClassName());
-
- // One more restore/maximize cycle for good measure.
- RestoreWindow(native_window);
- EXPECT_EQ(kNormalFrameClassName, GetFrameClassName());
- MaximizeWindow(native_window);
- EXPECT_EQ(kAppFrameClassName, GetFrameClassName());
-}
-#endif // USE_ASH
-
-// Ensure that we can click the close button when the controls are shown.
-// In particular make sure that we can click it on the top pixel of the button.
-IN_PROC_BROWSER_TEST_F(AppNonClientFrameViewAuraTest, ClickClose) {
- aura::RootWindow* root_window = GetRootWindow();
- aura::test::EventGenerator eg(root_window, gfx::Point(0, 1));
-
- // Click close button.
- eg.MoveMouseTo(root_window->bounds().width() - 1, 0);
- content::WindowedNotificationObserver signal(
- chrome::NOTIFICATION_BROWSER_CLOSED,
- content::Source<Browser>(app_browser()));
- eg.ClickLeftButton();
- signal.Wait();
- EXPECT_EQ(1,
- static_cast<int>(browser::GetBrowserCount(browser()->profile())));
-}
-
-// Ensure that closing a maximized app with Ctrl-W does not crash the
-// application. crbug.com/147635
-IN_PROC_BROWSER_TEST_F(AppNonClientFrameViewAuraTest, KeyboardClose) {
- aura::RootWindow* root_window = GetRootWindow();
- aura::test::EventGenerator eg(root_window);
-
- // Base browser and app browser.
- EXPECT_EQ(2u, browser::GetBrowserCount(browser()->profile()));
-
- // Send Control-W.
- content::WindowedNotificationObserver signal(
- chrome::NOTIFICATION_BROWSER_CLOSED,
- content::Source<Browser>(app_browser()));
- eg.PressKey(ui::VKEY_W, ui::EF_CONTROL_DOWN);
- eg.ReleaseKey(ui::VKEY_W, ui::EF_CONTROL_DOWN);
- signal.Wait();
-
- // App browser is closed.
- EXPECT_EQ(1u, browser::GetBrowserCount(browser()->profile()));
-}
-
-// Ensure that snapping left with Alt-[ closes the control window.
-IN_PROC_BROWSER_TEST_F(AppNonClientFrameViewAuraTest, SnapLeftClosesControls) {
- aura::RootWindow* root_window = GetRootWindow();
- aura::test::EventGenerator eg(root_window);
- aura::Window* native_window = app_browser()->window()->GetNativeWindow();
-
- // Control window exists.
- EXPECT_TRUE(HasChildWindowNamed(
- native_window, AppNonClientFrameViewAura::kControlWindowName));
-
- // Send Alt-[
- eg.PressKey(ui::VKEY_OEM_4, ui::EF_ALT_DOWN);
- eg.ReleaseKey(ui::VKEY_OEM_4, ui::EF_ALT_DOWN);
- content::RunAllPendingInMessageLoop();
-
- // Control window is gone.
- EXPECT_FALSE(HasChildWindowNamed(
- native_window, AppNonClientFrameViewAura::kControlWindowName));
-}
-
-// Ensure that the controls are at the proper locations.
-IN_PROC_BROWSER_TEST_F(AppNonClientFrameViewAuraTest, ControlsAtRightSide) {
- aura::RootWindow* root_window = GetRootWindow();
- aura::test::EventGenerator eg(root_window);
- aura::Window* native_window = app_browser()->window()->GetNativeWindow();
- const gfx::Rect work_area =
- gfx::Screen::GetScreenFor(native_window)->GetPrimaryDisplay().work_area();
-
- // Control window exists.
- aura::Window* window = GetChildWindowNamed(
- native_window, AppNonClientFrameViewAura::kControlWindowName);
-
- ASSERT_TRUE(window);
- gfx::Rect rect = window->bounds();
- EXPECT_EQ(work_area.right(), rect.right());
- EXPECT_EQ(work_area.y(), rect.y());
-
- MinimizeWindow(native_window);
- content::RunAllPendingInMessageLoop();
- window = GetChildWindowNamed(
- native_window, AppNonClientFrameViewAura::kControlWindowName);
- EXPECT_FALSE(window);
- MaximizeWindow(native_window);
- content::RunAllPendingInMessageLoop();
-
- // Control window exists.
- aura::Window* window_after = GetChildWindowNamed(
- native_window, AppNonClientFrameViewAura::kControlWindowName);
- ASSERT_TRUE(window_after);
- gfx::Rect rect_after = window_after->bounds();
- EXPECT_EQ(work_area.right(), rect_after.right());
- EXPECT_EQ(work_area.y(), rect_after.y());
-}

Powered by Google App Engine
This is Rietveld 408576698