| OLD | NEW | 
|   1 // Copyright 2014 The Chromium Authors. All rights reserved. |   1 // Copyright 2014 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/chromeos/login/ui/login_web_dialog.h" |   5 #include "chrome/browser/chromeos/login/ui/login_web_dialog.h" | 
|   6  |   6  | 
|   7 #include "ash/shell.h" |   7 #include "ash/shell.h" | 
|   8 #include "chrome/browser/profiles/profile.h" |   8 #include "chrome/browser/profiles/profile.h" | 
|   9 #include "chrome/browser/ui/browser.h" |   9 #include "chrome/browser/ui/browser.h" | 
|  10 #include "chrome/test/base/in_process_browser_test.h" |  10 #include "chrome/test/base/in_process_browser_test.h" | 
|  11 #include "services/ui/public/interfaces/window_manager_constants.mojom.h" |  11 #include "services/ui/public/interfaces/window_manager_constants.mojom.h" | 
|  12 #include "ui/aura/client/aura_constants.h" |  12 #include "ui/aura/client/aura_constants.h" | 
|  13 #include "ui/aura/window.h" |  13 #include "ui/aura/window.h" | 
|  14 #include "ui/wm/public/activation_client.h" |  14 #include "ui/events/test/event_generator.h" | 
 |  15 #include "ui/views/test/widget_test.h" | 
|  15  |  16  | 
|  16 namespace chromeos { |  17 namespace chromeos { | 
|  17  |  18  | 
|  18 typedef InProcessBrowserTest LoginWebDialogTest; |  19 using LoginWebDialogTest = InProcessBrowserTest; | 
|  19  |  20  | 
|  20 // Test that LoginWebDialog is not minimizable. |  21 // Tests that LoginWebDialog is not minimizable. | 
|  21 IN_PROC_BROWSER_TEST_F(LoginWebDialogTest, CannotMinimize) { |  22 IN_PROC_BROWSER_TEST_F(LoginWebDialogTest, CannotMinimize) { | 
|  22   LoginWebDialog* dialog = new LoginWebDialog( |  23   LoginWebDialog* dialog = new LoginWebDialog( | 
|  23       browser()->profile(), nullptr, nullptr, base::string16(), GURL()); |  24       browser()->profile(), nullptr, nullptr, base::string16(), GURL()); | 
|  24   dialog->Show(); |  25   dialog->Show(); | 
|  25  |  26   aura::Window* window = dialog->get_dialog_window_for_test(); | 
|  26   aura::client::ActivationClient* activation_client = |  | 
|  27       aura::client::GetActivationClient( |  | 
|  28           ash::Shell::Get()->GetPrimaryRootWindow()); |  | 
|  29   aura::Window* window = activation_client->GetActiveWindow(); |  | 
|  30   ASSERT_TRUE(window); |  27   ASSERT_TRUE(window); | 
|  31   EXPECT_EQ(0, window->GetProperty(aura::client::kResizeBehaviorKey) & |  28   EXPECT_EQ(0, window->GetProperty(aura::client::kResizeBehaviorKey) & | 
|  32                    ui::mojom::kResizeBehaviorCanMinimize); |  29                    ui::mojom::kResizeBehaviorCanMinimize); | 
|  33 } |  30 } | 
|  34  |  31  | 
 |  32 // Tests that LoginWebDialog can be closed by 'Shift + BrowserBack' accelerator. | 
 |  33 IN_PROC_BROWSER_TEST_F(LoginWebDialogTest, CloseDialogByAccelerator) { | 
 |  34   LoginWebDialog* dialog = new LoginWebDialog( | 
 |  35       browser()->profile(), nullptr, nullptr, base::string16(), GURL()); | 
 |  36   dialog->Show(); | 
 |  37   gfx::NativeWindow window = dialog->get_dialog_window_for_test(); | 
 |  38   ASSERT_TRUE(window); | 
 |  39   views::Widget* widget = views::Widget::GetWidgetForNativeWindow(window); | 
 |  40   views::test::WidgetClosingObserver closing_observer(widget); | 
 |  41   ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); | 
 |  42   generator.PressKey(ui::VKEY_BROWSER_BACK, ui::EF_SHIFT_DOWN); | 
 |  43   closing_observer.Wait(); | 
 |  44   EXPECT_TRUE(closing_observer.widget_closed()); | 
 |  45 } | 
 |  46  | 
|  35 }  // namespace chromeos |  47 }  // namespace chromeos | 
| OLD | NEW |