diff options
36 files changed, 203 insertions, 99 deletions
diff --git a/ash/ash.gyp b/ash/ash.gyp index 37440d5..69d1c45 100644 --- a/ash/ash.gyp +++ b/ash/ash.gyp @@ -579,6 +579,8 @@ 'test/test_suite.h', 'test/test_suite_init.h', 'test/test_suite_init.mm', + 'test/ui_controls_factory_ash.cc', + 'test/ui_controls_factory_ash.h', ], 'conditions': [ ['OS=="win"', { diff --git a/chrome/test/base/ui_controls_ash.cc b/ash/test/ui_controls_factory_ash.cc index 9bc998e..ab0c0cd 100644 --- a/chrome/test/base/ui_controls_ash.cc +++ b/ash/test/ui_controls_factory_ash.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Copyright 2013 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. @@ -6,20 +6,25 @@ #include "ash/shell_factory.h" #include "ash/wm/coordinate_conversion.h" #include "ash/wm/window_properties.h" -#include "chrome/test/base/ui_controls.h" -#include "chrome/test/base/ui_controls_aura.h" #include "ui/aura/client/capture_client.h" #include "ui/aura/client/screen_position_client.h" #include "ui/aura/env.h" #include "ui/aura/root_window.h" +#include "ui/aura/test/ui_controls_factory_aura.h" #include "ui/aura/window_property.h" +#include "ui/base/test/ui_controls.h" +#include "ui/base/test/ui_controls_aura.h" #include "ui/gfx/screen.h" DECLARE_WINDOW_PROPERTY_TYPE(ui_controls::UIControlsAura*) -namespace ui_controls { +namespace ash { +namespace test { namespace { +using ui_controls::UIControlsAura; +using ui_controls::MouseButton; + DEFINE_OWNED_WINDOW_PROPERTY_KEY(UIControlsAura, kUIControlsKey, NULL); // Returns the UIControls object for RootWindow. @@ -29,7 +34,7 @@ UIControlsAura* GetUIControlsForRootWindow(aura::RootWindow* root_window) { UIControlsAura* native_ui_control = root_window->GetProperty(kUIControlsKey); if (!native_ui_control) { - native_ui_control = CreateUIControlsAura(root_window); + native_ui_control = aura::test::CreateUIControlsAura(root_window); // Pass the ownership to the |root_window|. root_window->SetProperty(kUIControlsKey, native_ui_control); } @@ -135,8 +140,9 @@ class UIControlsAsh : public UIControlsAura { DISALLOW_COPY_AND_ASSIGN(UIControlsAsh); }; -UIControlsAura* CreateAshUIControls() { - return new UIControlsAsh(); +ui_controls::UIControlsAura* CreateAshUIControls() { + return new ash::test::UIControlsAsh(); } -} // namespace ui_controls +} // namespace test +} // namespace ash diff --git a/ash/test/ui_controls_factory_ash.h b/ash/test/ui_controls_factory_ash.h new file mode 100644 index 0000000..dc6193b --- /dev/null +++ b/ash/test/ui_controls_factory_ash.h @@ -0,0 +1,24 @@ +// Copyright 2013 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. + +#ifndef ASH_TEST_UI_CONTROLS_FACTORY_ASH_H_ +#define ASH_TEST_UI_CONTROLS_FACTORY_ASH_H_ + +namespace aura { +class RootWindow; +} + +namespace ui_controls { +class UIControlsAura; +} + +namespace ash { +namespace test { + +ui_controls::UIControlsAura* CreateAshUIControls(); + +} // namespace test +} // namespace ash + +#endif // ASH_TEST_UI_CONTROLS_FACTORY_ASH_H_ diff --git a/chrome/browser/chromeos/login/screen_locker_browsertest.cc b/chrome/browser/chromeos/login/screen_locker_browsertest.cc index 33301ab..e4cf63d 100644 --- a/chrome/browser/chromeos/login/screen_locker_browsertest.cc +++ b/chrome/browser/chromeos/login/screen_locker_browsertest.cc @@ -16,7 +16,6 @@ #include "chrome/browser/ui/fullscreen/fullscreen_controller.h" #include "chrome/common/chrome_notification_types.h" #include "chrome/common/chrome_switches.h" -#include "chrome/test/base/ui_controls.h" #include "chrome/test/base/ui_test_utils.h" #include "chromeos/chromeos_switches.h" #include "chromeos/dbus/fake_session_manager_client.h" @@ -24,6 +23,7 @@ #include "content/public/browser/notification_service.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" +#include "ui/base/test/ui_controls.h" #include "ui/compositor/layer_animator.h" #include "ui/compositor/scoped_animation_duration_scale_mode.h" #include "ui/views/widget/widget.h" diff --git a/chrome/browser/extensions/web_view_interactive_browsertest.cc b/chrome/browser/extensions/web_view_interactive_browsertest.cc index fb93f43..75efe96 100644 --- a/chrome/browser/extensions/web_view_interactive_browsertest.cc +++ b/chrome/browser/extensions/web_view_interactive_browsertest.cc @@ -9,7 +9,6 @@ #include "chrome/browser/ui/extensions/shell_window.h" #include "chrome/test/base/interactive_test_utils.h" #include "chrome/test/base/test_launcher_utils.h" -#include "chrome/test/base/ui_controls.h" #include "chrome/test/base/ui_test_utils.h" #include "content/public/browser/render_process_host.h" #include "content/public/browser/render_view_host.h" @@ -18,6 +17,7 @@ #include "content/public/browser/web_contents_view.h" #include "content/public/test/browser_test_utils.h" #include "ui/base/keycodes/keyboard_codes.h" +#include "ui/base/test/ui_controls.h" class WebViewInteractiveTest : public extensions::PlatformAppBrowserTest { diff --git a/chrome/browser/mouseleave_browsertest.cc b/chrome/browser/mouseleave_browsertest.cc index d1687e3..87b1b7e 100644 --- a/chrome/browser/mouseleave_browsertest.cc +++ b/chrome/browser/mouseleave_browsertest.cc @@ -8,11 +8,11 @@ #include "chrome/browser/ui/browser_window.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" #include "chrome/test/base/in_process_browser_test.h" -#include "chrome/test/base/ui_controls.h" #include "chrome/test/base/ui_test_utils.h" #include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents_view.h" #include "content/public/test/browser_test_utils.h" +#include "ui/base/test/ui_controls.h" namespace { diff --git a/chrome/browser/printing/print_dialog_cloud_interative_uitest.cc b/chrome/browser/printing/print_dialog_cloud_interative_uitest.cc index 36b8af6..a65210f 100644 --- a/chrome/browser/printing/print_dialog_cloud_interative_uitest.cc +++ b/chrome/browser/printing/print_dialog_cloud_interative_uitest.cc @@ -22,7 +22,6 @@ #include "chrome/common/chrome_paths.h" #include "chrome/common/url_constants.h" #include "chrome/test/base/in_process_browser_test.h" -#include "chrome/test/base/ui_controls.h" #include "chrome/test/base/ui_test_utils.h" #include "content/public/browser/notification_service.h" #include "content/public/browser/notification_types.h" @@ -33,6 +32,7 @@ #include "net/url_request/url_request_filter.h" #include "net/url_request/url_request_test_job.h" #include "net/url_request/url_request_test_util.h" +#include "ui/base/test/ui_controls.h" using content::BrowserThread; diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc b/chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc index 180fe37..64adbdc 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc @@ -26,7 +26,6 @@ #include "chrome/test/base/test_browser_window.h" #include "chrome/test/base/testing_browser_process.h" #include "chrome/test/base/testing_profile.h" -#include "chrome/test/base/ui_controls.h" #include "chrome/test/base/ui_test_utils.h" #include "chrome/test/base/view_event_test_base.h" #include "content/public/browser/notification_service.h" @@ -36,6 +35,7 @@ #include "ui/base/accessibility/accessibility_types.h" #include "ui/base/clipboard/clipboard.h" #include "ui/base/keycodes/keyboard_codes.h" +#include "ui/base/test/ui_controls.h" #include "ui/views/controls/button/menu_button.h" #include "ui/views/controls/button/text_button.h" #include "ui/views/controls/menu/menu_controller.h" diff --git a/chrome/browser/ui/views/button_dropdown_test.cc b/chrome/browser/ui/views/button_dropdown_test.cc index 62647ec..5159be8 100644 --- a/chrome/browser/ui/views/button_dropdown_test.cc +++ b/chrome/browser/ui/views/button_dropdown_test.cc @@ -5,10 +5,10 @@ #include "base/message_loop.h" #include "base/utf_string_conversions.h" #include "chrome/test/base/interactive_test_utils.h" -#include "chrome/test/base/ui_controls.h" #include "chrome/test/base/ui_test_utils.h" #include "chrome/test/base/view_event_test_base.h" #include "ui/base/models/simple_menu_model.h" +#include "ui/base/test/ui_controls.h" #include "ui/views/controls/button/button_dropdown.h" class ButtonDropDownDragTest : public ViewEventTestBase, diff --git a/chrome/browser/ui/views/keyboard_access_browsertest.cc b/chrome/browser/ui/views/keyboard_access_browsertest.cc index 06794b4..b68e0b4 100644 --- a/chrome/browser/ui/views/keyboard_access_browsertest.cc +++ b/chrome/browser/ui/views/keyboard_access_browsertest.cc @@ -16,12 +16,12 @@ #include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/browser/ui/views/toolbar_view.h" #include "chrome/common/chrome_notification_types.h" -#include "chrome/test/base/interactive_test_utils.h" #include "chrome/test/base/in_process_browser_test.h" -#include "chrome/test/base/ui_controls.h" +#include "chrome/test/base/interactive_test_utils.h" #include "chrome/test/base/ui_test_utils.h" #include "ui/base/events/event_constants.h" #include "ui/base/keycodes/keyboard_codes.h" +#include "ui/base/test/ui_controls.h" #include "ui/views/controls/menu/menu_listener.h" #include "ui/views/focus/focus_manager.h" #include "ui/views/view.h" diff --git a/chrome/browser/ui/views/menu_item_view_test.cc b/chrome/browser/ui/views/menu_item_view_test.cc index e827688..4274265 100644 --- a/chrome/browser/ui/views/menu_item_view_test.cc +++ b/chrome/browser/ui/views/menu_item_view_test.cc @@ -5,9 +5,9 @@ #include "base/callback.h" #include "base/utf_string_conversions.h" #include "chrome/test/base/interactive_test_utils.h" -#include "chrome/test/base/ui_controls.h" #include "chrome/test/base/ui_test_utils.h" #include "chrome/test/base/view_event_test_base.h" +#include "ui/base/test/ui_controls.h" #include "ui/views/controls/button/menu_button.h" #include "ui/views/controls/button/menu_button_listener.h" #include "ui/views/controls/menu/menu_controller.h" diff --git a/chrome/browser/ui/views/menu_model_adapter_test.cc b/chrome/browser/ui/views/menu_model_adapter_test.cc index c30f556..bb940d9 100644 --- a/chrome/browser/ui/views/menu_model_adapter_test.cc +++ b/chrome/browser/ui/views/menu_model_adapter_test.cc @@ -5,10 +5,10 @@ #include "base/callback.h" #include "base/utf_string_conversions.h" #include "chrome/test/base/interactive_test_utils.h" -#include "chrome/test/base/ui_controls.h" #include "chrome/test/base/ui_test_utils.h" #include "chrome/test/base/view_event_test_base.h" #include "ui/base/models/menu_model.h" +#include "ui/base/test/ui_controls.h" #include "ui/views/controls/button/menu_button.h" #include "ui/views/controls/button/menu_button_listener.h" #include "ui/views/controls/menu/menu_controller.h" diff --git a/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc b/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc index ce5fd83..278ff70 100644 --- a/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc +++ b/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc @@ -23,13 +23,13 @@ #include "chrome/common/chrome_switches.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/interactive_test_utils.h" -#include "chrome/test/base/ui_controls.h" #include "chrome/test/base/ui_test_utils.h" #include "content/public/browser/notification_details.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_service.h" #include "content/public/browser/notification_source.h" #include "content/public/browser/web_contents.h" +#include "ui/base/test/ui_controls.h" #include "ui/gfx/screen.h" #include "ui/views/view.h" #include "ui/views/widget/widget.h" diff --git a/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest_win.cc b/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest_win.cc index 55083cb..bf9dda0 100644 --- a/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest_win.cc +++ b/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest_win.cc @@ -21,13 +21,13 @@ #include "chrome/common/chrome_switches.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/interactive_test_utils.h" -#include "chrome/test/base/ui_controls.h" #include "chrome/test/base/ui_test_utils.h" #include "content/public/browser/notification_details.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_service.h" #include "content/public/browser/notification_source.h" #include "content/public/browser/web_contents.h" +#include "ui/base/test/ui_controls.h" #include "ui/gfx/screen.h" #include "ui/views/controls/textfield/textfield.h" #include "ui/views/view.h" diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi index a6516cd1..38b2999 100644 --- a/chrome/chrome_tests.gypi +++ b/chrome/chrome_tests.gypi @@ -287,17 +287,6 @@ 'test/base/interactive_test_utils_win.cc', 'test/base/view_event_test_base.cc', 'test/base/view_event_test_base.h', - 'test/base/ui_controls.h', - 'test/base/ui_controls_ash.cc', - 'test/base/ui_controls_aura.h', - 'test/base/ui_controls_aura.cc', - 'test/base/ui_controls_aurawin.cc', - 'test/base/ui_controls_aurax11.cc', - 'test/base/ui_controls_gtk.cc', - 'test/base/ui_controls_internal_win.cc', - 'test/base/ui_controls_internal_win.h', - 'test/base/ui_controls_mac.mm', - 'test/base/ui_controls_win.cc', 'test/ppapi/ppapi_interactive_browsertest.cc', ], 'conditions': [ @@ -384,7 +373,6 @@ ['use_aura==1', { 'sources!': [ 'browser/ui/views/tabs/tab_drag_controller_interactive_uitest_win.cc', - 'test/base/ui_controls_win.cc', ], }], ['chromeos==1', { diff --git a/chrome/test/base/chrome_test_launcher.cc b/chrome/test/base/chrome_test_launcher.cc index cc8c0d0..f063782 100644 --- a/chrome/test/base/chrome_test_launcher.cc +++ b/chrome/test/base/chrome_test_launcher.cc @@ -7,8 +7,8 @@ #include <stack> #include "base/command_line.h" -#include "base/files/file_path.h" #include "base/file_util.h" +#include "base/files/file_path.h" #include "base/logging.h" #include "base/memory/linked_ptr.h" #include "base/process_util.h" @@ -16,9 +16,9 @@ #include "base/string_util.h" #include "base/test/test_file_util.h" #include "chrome/app/chrome_main_delegate.h" -#include "chrome/common/chrome_switches.h" #include "chrome/common/chrome_constants.h" #include "chrome/common/chrome_switches.h" +#include "chrome/common/chrome_switches.h" #include "chrome/test/base/chrome_test_suite.h" #include "content/public/app/content_main.h" #include "content/public/browser/browser_thread.h" @@ -38,8 +38,13 @@ #endif #if defined(USE_AURA) -#include "chrome/test/base/ui_controls.h" -#include "chrome/test/base/ui_controls_aura.h" +#include "ui/aura/test/ui_controls_factory_aura.h" +#include "ui/base/test/ui_controls.h" +#include "ui/base/test/ui_controls_aura.h" +#endif + +#if defined(OS_CHROMEOS) +#include "ash/test/ui_controls_factory_ash.h" #endif const char kEmptyTestName[] = "InProcessBrowserTest.Empty"; @@ -154,10 +159,10 @@ int main(int argc, char** argv) { #if defined(INTERACTIVE_TESTS) #if defined(OS_CHROMEOS) - ui_controls::InstallUIControlsAura(ui_controls::CreateAshUIControls()); + ui_controls::InstallUIControlsAura(ash::test::CreateAshUIControls()); #elif defined(USE_AURA) // TODO(win_ash): when running interactive_ui_tests for Win Ash, use above. - ui_controls::InstallUIControlsAura(ui_controls::CreateUIControlsAura(NULL)); + ui_controls::InstallUIControlsAura(aura::test::CreateUIControlsAura(NULL)); #endif #endif diff --git a/chrome/test/base/interactive_test_utils.h b/chrome/test/base/interactive_test_utils.h index bc98d07..ddab764 100644 --- a/chrome/test/base/interactive_test_utils.h +++ b/chrome/test/base/interactive_test_utils.h @@ -6,8 +6,8 @@ #define CHROME_TEST_BASE_INTERACTIVE_TEST_UTILS_H_ #include "chrome/browser/ui/view_ids.h" -#include "chrome/test/base/ui_controls.h" #include "chrome/test/base/ui_test_utils.h" +#include "ui/base/test/ui_controls.h" #if defined(TOOLKIT_VIEWS) #include "ui/views/view.h" diff --git a/chrome/test/base/interactive_test_utils_gtk.cc b/chrome/test/base/interactive_test_utils_gtk.cc index b3c5ce4..9c93f85 100644 --- a/chrome/test/base/interactive_test_utils_gtk.cc +++ b/chrome/test/base/interactive_test_utils_gtk.cc @@ -12,8 +12,8 @@ #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_window.h" #include "chrome/browser/ui/gtk/view_id_util.h" -#include "chrome/test/base/ui_controls.h" #include "ui/base/gtk/gtk_screen_util.h" +#include "ui/base/test/ui_controls.h" namespace ui_test_utils { diff --git a/chrome/test/base/interactive_test_utils_mac.mm b/chrome/test/base/interactive_test_utils_mac.mm index 94fa69f..34fa67f 100644 --- a/chrome/test/base/interactive_test_utils_mac.mm +++ b/chrome/test/base/interactive_test_utils_mac.mm @@ -13,7 +13,7 @@ #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_window.h" #import "chrome/browser/ui/cocoa/view_id_util.h" -#include "chrome/test/base/ui_controls.h" +#include "ui/base/test/ui_controls.h" namespace ui_test_utils { diff --git a/chrome/test/base/interactive_test_utils_views.cc b/chrome/test/base/interactive_test_utils_views.cc index 779b61c..3fb0040 100644 --- a/chrome/test/base/interactive_test_utils_views.cc +++ b/chrome/test/base/interactive_test_utils_views.cc @@ -8,7 +8,7 @@ #include "base/message_loop.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/views/frame/browser_view.h" -#include "chrome/test/base/ui_controls.h" +#include "ui/base/test/ui_controls.h" #include "ui/views/focus/focus_manager.h" namespace ui_test_utils { diff --git a/chrome/test/base/interactive_test_utils_win.cc b/chrome/test/base/interactive_test_utils_win.cc index 2febc7d..c6093973 100644 --- a/chrome/test/base/interactive_test_utils_win.cc +++ b/chrome/test/base/interactive_test_utils_win.cc @@ -10,7 +10,7 @@ #include "base/stringprintf.h" #include "base/time.h" #include "chrome/browser/ui/window_snapshot/window_snapshot.h" -#include "chrome/test/base/ui_controls.h" +#include "ui/base/test/ui_controls.h" #include "ui/base/win/foreground_helper.h" #include "ui/views/focus/focus_manager.h" diff --git a/chrome/test/base/view_event_test_base.cc b/chrome/test/base/view_event_test_base.cc index d129578..1cb9769 100644 --- a/chrome/test/base/view_event_test_base.cc +++ b/chrome/test/base/view_event_test_base.cc @@ -9,10 +9,10 @@ #include "base/message_loop.h" #include "base/strings/string_number_conversions.h" #include "chrome/test/base/interactive_test_utils.h" -#include "chrome/test/base/ui_controls.h" #include "chrome/test/base/ui_test_utils.h" #include "content/public/browser/browser_thread.h" #include "ui/base/ime/text_input_test_support.h" +#include "ui/base/test/ui_controls.h" #include "ui/message_center/message_center.h" #include "ui/views/view.h" #include "ui/views/widget/desktop_aura/desktop_screen.h" diff --git a/ui/aura/aura.gyp b/ui/aura/aura.gyp index 00b92ab..43d2d9e 100644 --- a/ui/aura/aura.gyp +++ b/ui/aura/aura.gyp @@ -167,6 +167,9 @@ 'test/test_windows.h', 'test/test_window_delegate.cc', 'test/test_window_delegate.h', + 'test/ui_controls_factory_aura.h', + 'test/ui_controls_factory_aurawin.cc', + 'test/ui_controls_factory_aurax11.cc', 'test/window_test_api.cc', 'test/window_test_api.h', ], diff --git a/ui/aura/test/event_generator.h b/ui/aura/test/event_generator.h index 1256e1b..a4ffca7 100644 --- a/ui/aura/test/event_generator.h +++ b/ui/aura/test/event_generator.h @@ -56,8 +56,32 @@ class EventGeneratorDelegate { const aura::Window* window) const = 0; }; -// EventGenerator is a tool that generates and dispatch events. The -// coordinates of the points in API is determined by the +// EventGenerator is a tool that generates and dispatch events. +// Unlike |ui_controls| package in ui/base/test, this does not +// generate platform native events. Insetad, it directly posts event +// to |aura::RootWindow| synchronously. + +// Advantage of using this class, compared to |ui_controls| is that +// you can write the tests that involves events in synchronus +// way. There is no need to wait for native +// +// On the other hand, this class is not suited for the following +// cases: +// +// 1) If your test depends on native events (ui::Event::native_event()). +// This return is empty/NULL event with EventGenerator. +// 2) If your test involves nested message loop, such as +// menu or drag & drop. Because this class directly +// post an event to RootWindow, this event will not be +// handled in the nested message loop. +// 3) Similarly, |base::MessagePumpObserver| will not be invoked. +// 4) Any other code that requires native events, such as +// tests for RootWindowHostWin/RootWindowHostX11. +// +// If one of these applies to your test, please use |ui_controls| +// package instead. +// +// Note: The coordinates of the points in API is determined by the // EventGeneratorDelegate. class EventGenerator { public: diff --git a/ui/aura/test/ui_controls_factory_aura.h b/ui/aura/test/ui_controls_factory_aura.h new file mode 100644 index 0000000..800e927 --- /dev/null +++ b/ui/aura/test/ui_controls_factory_aura.h @@ -0,0 +1,20 @@ +// Copyright 2013 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. + +#ifndef UI_AURA_TEST_UI_CONTROLS_FACTORY_AURA_H_ +#define UI_AURA_TEST_UI_CONTROLS_FACTORY_AURA_H_ + +#include "ui/base/test/ui_controls_aura.h" + +namespace aura { +class RootWindow; + +namespace test { + +ui_controls::UIControlsAura* CreateUIControlsAura(RootWindow* root_window); + +} // namespace test +} // namespace aura + +#endif // UI_AURA_TEST_UI_CONTROLS_FACTORY_AURA_H_ diff --git a/chrome/test/base/ui_controls_aurawin.cc b/ui/aura/test/ui_controls_factory_aurawin.cc index 30b6acf..34a009e 100644 --- a/chrome/test/base/ui_controls_aurawin.cc +++ b/ui/aura/test/ui_controls_factory_aurawin.cc @@ -1,17 +1,29 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Copyright 2013 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 "base/logging.h" #include "base/basictypes.h" +#include "base/logging.h" #include "base/message_loop.h" -#include "chrome/test/base/ui_controls.h" -#include "chrome/test/base/ui_controls_aura.h" -#include "chrome/test/base/ui_controls_internal_win.h" #include "ui/aura/root_window.h" +#include "ui/aura/test/ui_controls_factory_aura.h" +#include "ui/base/test/ui_controls_aura.h" +#include "ui/base/test/ui_controls_internal_win.h" + +namespace aura { +namespace test { -namespace ui_controls { namespace { + +using ui_controls::DOWN; +using ui_controls::LEFT; +using ui_controls::MIDDLE; +using ui_controls::MouseButton; +using ui_controls::RIGHT; +using ui_controls::UIControlsAura; +using ui_controls::UP; +using namespace ui_controls::internal; + class UIControlsWin : public UIControlsAura { public: UIControlsWin() {} @@ -25,7 +37,7 @@ class UIControlsWin : public UIControlsAura { bool command) { DCHECK(!command); // No command key on Aura HWND window = native_window->GetRootWindow()->GetAcceleratedWidget(); - return internal::SendKeyPressImpl( + return SendKeyPressImpl( window, key, control, shift, alt, base::Closure()); } virtual bool SendKeyPressNotifyWhenDone(gfx::NativeWindow native_window, @@ -37,25 +49,25 @@ class UIControlsWin : public UIControlsAura { const base::Closure& task) { DCHECK(!command); // No command key on Aura HWND window = native_window->GetRootWindow()->GetAcceleratedWidget(); - return internal::SendKeyPressImpl(window, key, control, shift, alt, task); + return SendKeyPressImpl(window, key, control, shift, alt, task); } virtual bool SendMouseMove(long x, long y) { gfx::Point point(x, y); - return internal::SendMouseMoveImpl(point.x(), point.y(), base::Closure()); + return SendMouseMoveImpl(point.x(), point.y(), base::Closure()); } virtual bool SendMouseMoveNotifyWhenDone(long x, long y, const base::Closure& task) { gfx::Point point(x, y); - return internal::SendMouseMoveImpl(point.x(), point.y(), task); + return SendMouseMoveImpl(point.x(), point.y(), task); } virtual bool SendMouseEvents(MouseButton type, int state) { - return internal::SendMouseEventsImpl(type, state, base::Closure()); + return SendMouseEventsImpl(type, state, base::Closure()); } virtual bool SendMouseEventsNotifyWhenDone(MouseButton type, int state, const base::Closure& task) { - return internal::SendMouseEventsImpl(type, state, task); + return SendMouseEventsImpl(type, state, task); } virtual bool SendMouseClick(MouseButton type) { return SendMouseEvents(type, UP | DOWN); @@ -75,4 +87,5 @@ UIControlsAura* CreateUIControlsAura(aura::RootWindow* root_window) { return new UIControlsWin(); } -} // namespace ui_controls +} // namespace test +} // namespace aura diff --git a/chrome/test/base/ui_controls_aurax11.cc b/ui/aura/test/ui_controls_factory_aurax11.cc index 1d171f4..b777043 100644 --- a/chrome/test/base/ui_controls_aurax11.cc +++ b/ui/aura/test/ui_controls_factory_aurax11.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Copyright 2013 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. @@ -12,17 +12,26 @@ #include "base/logging.h" #include "base/message_pump_aurax11.h" -#include "chrome/test/base/ui_controls.h" -#include "chrome/test/base/ui_controls_aura.h" #include "ui/aura/client/screen_position_client.h" #include "ui/aura/env.h" #include "ui/aura/root_window.h" +#include "ui/aura/test/ui_controls_factory_aura.h" #include "ui/base/keycodes/keyboard_code_conversion_x.h" +#include "ui/base/test/ui_controls_aura.h" #include "ui/compositor/dip_util.h" -namespace ui_controls { +namespace aura { +namespace test { namespace { +using ui_controls::DOWN; +using ui_controls::LEFT; +using ui_controls::MIDDLE; +using ui_controls::MouseButton; +using ui_controls::RIGHT; +using ui_controls::UIControlsAura; +using ui_controls::UP; + // Mask of the buttons currently down. unsigned button_down_mask = 0; @@ -245,4 +254,5 @@ UIControlsAura* CreateUIControlsAura(aura::RootWindow* root_window) { return new UIControlsX11(root_window); } -} // namespace ui_controls +} // namespace test +} // namespace aura diff --git a/chrome/test/base/ui_controls.h b/ui/base/test/ui_controls.h index ae34df7f..07d5315 100644 --- a/chrome/test/base/ui_controls.h +++ b/ui/base/test/ui_controls.h @@ -1,9 +1,9 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Copyright 2013 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. -#ifndef CHROME_TEST_BASE_UI_CONTROLS_H_ -#define CHROME_TEST_BASE_UI_CONTROLS_H_ +#ifndef UI_BASE_TEST_UI_CONTROLS_H_ +#define UI_BASE_TEST_UI_CONTROLS_H_ #include "base/callback_forward.h" #include "build/build_config.h" @@ -12,6 +12,12 @@ namespace ui_controls { +// A set of utility functions to generate native events in platform +// independent way. For aura tests, please look into +// |aura::test:EventGenerator| first. This class provides a way to +// emulate events in synchronous way and it is often easier to write +// tests with this class than using |ui_controls|. +// // Many of the functions in this class include a variant that takes a Closure. // The version that takes a Closure waits until the generated event is // processed. Once the generated event is processed the Closure is Run (and @@ -82,11 +88,8 @@ void RunClosureAfterAllPendingUIEvents(const base::Closure& closure); #if defined(USE_AURA) class UIControlsAura; void InstallUIControlsAura(UIControlsAura* instance); -#if defined(USE_ASH) -UIControlsAura* CreateAshUIControls(); -#endif #endif } // namespace ui_controls -#endif // CHROME_TEST_BASE_UI_CONTROLS_H_ +#endif // UI_BASE_TEST_UI_CONTROLS_H_ diff --git a/chrome/test/base/ui_controls_aura.cc b/ui/base/test/ui_controls_aura.cc index 00ff72f..6770421 100644 --- a/chrome/test/base/ui_controls_aura.cc +++ b/ui/base/test/ui_controls_aura.cc @@ -1,8 +1,8 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Copyright 2013 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/test/base/ui_controls_aura.h" +#include "ui/base/test/ui_controls_aura.h" #include "base/logging.h" diff --git a/chrome/test/base/ui_controls_aura.h b/ui/base/test/ui_controls_aura.h index 9a9fbec..d379136 100644 --- a/chrome/test/base/ui_controls_aura.h +++ b/ui/base/test/ui_controls_aura.h @@ -1,19 +1,15 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Copyright 2013 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. -#ifndef CHROME_TEST_BASE_UI_CONTROLS_AURA_H_ -#define CHROME_TEST_BASE_UI_CONTROLS_AURA_H_ +#ifndef UI_TEST_BASE_UI_CONTROLS_AURA_H_ +#define UI_TEST_BASE_UI_CONTROLS_AURA_H_ #include "base/callback_forward.h" -#include "chrome/test/base/ui_controls.h" #include "ui/base/keycodes/keyboard_codes.h" +#include "ui/base/test/ui_controls.h" #include "ui/gfx/native_widget_types.h" -namespace aura { -class RootWindow; -} - namespace ui_controls { // An interface to provide Aura implementation of UI control. @@ -56,8 +52,6 @@ class UIControlsAura { const base::Closure& closure) = 0; }; -UIControlsAura* CreateUIControlsAura(aura::RootWindow* root_window); - } // namespace ui_controls -#endif // CHROME_TEST_BASE_UI_CONTROLS_AURA_H_ +#endif // UI_TEST_BASE_UI_CONTROLS_AURA_H_ diff --git a/chrome/test/base/ui_controls_gtk.cc b/ui/base/test/ui_controls_gtk.cc index bb32243..4d703d4 100644 --- a/chrome/test/base/ui_controls_gtk.cc +++ b/ui/base/test/ui_controls_gtk.cc @@ -1,8 +1,8 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Copyright 2013 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/test/base/ui_controls.h" +#include "ui/base/test/ui_controls.h" #include <gdk/gdkkeysyms.h> #include <gtk/gtk.h> @@ -10,8 +10,8 @@ #include "base/bind.h" #include "base/logging.h" #include "base/message_loop.h" -#include "ui/base/gtk/gtk_screen_util.h" #include "ui/base/gtk/event_synthesis_gtk.h" +#include "ui/base/gtk/gtk_screen_util.h" #include "ui/gfx/rect.h" namespace { diff --git a/chrome/test/base/ui_controls_internal_win.cc b/ui/base/test/ui_controls_internal_win.cc index f56dd30..990145c 100644 --- a/chrome/test/base/ui_controls_internal_win.cc +++ b/ui/base/test/ui_controls_internal_win.cc @@ -1,8 +1,8 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Copyright 2013 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/test/base/ui_controls_internal_win.h" +#include "ui/base/test/ui_controls_internal_win.h" #include "base/bind.h" #include "base/callback.h" diff --git a/chrome/test/base/ui_controls_internal_win.h b/ui/base/test/ui_controls_internal_win.h index 407a3e7..4b87ce3 100644 --- a/chrome/test/base/ui_controls_internal_win.h +++ b/ui/base/test/ui_controls_internal_win.h @@ -1,12 +1,12 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Copyright 2013 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. -#ifndef CHROME_TEST_BASE_UI_CONTROLS_INTERNAL_WIN_H_ -#define CHROME_TEST_BASE_UI_CONTROLS_INTERNAL_WIN_H_ +#ifndef UI_BASE_TEST_UI_CONTROLS_INTERNAL_WIN_H_ +#define UI_BASE_TEST_UI_CONTROLS_INTERNAL_WIN_H_ #include "base/callback_forward.h" -#include "chrome/test/base/ui_controls.h" +#include "ui/base/test/ui_controls.h" namespace ui_controls { namespace internal { @@ -29,4 +29,4 @@ void RunClosureAfterAllPendingUITasksImpl(const base::Closure& task); } // namespace internal } // namespace ui_controls -#endif // CHROME_TEST_BASE_UI_CONTROLS_INTERNAL_WIN_H_ +#endif // UI_BASE_TEST_UI_CONTROLS_INTERNAL_WIN_H_ diff --git a/chrome/test/base/ui_controls_mac.mm b/ui/base/test/ui_controls_mac.mm index 323134a..c1fc2a3 100644 --- a/chrome/test/base/ui_controls_mac.mm +++ b/ui/base/test/ui_controls_mac.mm @@ -1,8 +1,8 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Copyright 2013 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/test/base/ui_controls.h" +#include "ui/base/test/ui_controls.h" #import <Cocoa/Cocoa.h> #include <mach/mach_time.h> diff --git a/chrome/test/base/ui_controls_win.cc b/ui/base/test/ui_controls_win.cc index 5c37c3d..bd754e0 100644 --- a/chrome/test/base/ui_controls_win.cc +++ b/ui/base/test/ui_controls_win.cc @@ -1,13 +1,13 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Copyright 2013 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/test/base/ui_controls.h" +#include "ui/base/test/ui_controls.h" #include "base/callback.h" #include "base/message_loop.h" +#include "ui/base/test/ui_controls_internal_win.h" #include "ui/gfx/point.h" -#include "chrome/test/base/ui_controls_internal_win.h" #include "ui/views/view.h" namespace ui_controls { diff --git a/ui/ui_unittests.gypi b/ui/ui_unittests.gypi index 7a77447..30a16dc 100644 --- a/ui/ui_unittests.gypi +++ b/ui/ui_unittests.gypi @@ -19,6 +19,13 @@ 'base/test/ui_cocoa_test_helper.mm', 'base/test/dummy_input_method.cc', 'base/test/dummy_input_method.h', + 'base/test/ui_controls.h', + 'base/test/ui_controls_aura.cc', + 'base/test/ui_controls_gtk.cc', + 'base/test/ui_controls_internal_win.cc', + 'base/test/ui_controls_internal_win.h', + 'base/test/ui_controls_mac.mm', + 'base/test/ui_controls_win.cc', ], 'include_dirs': [ '../', @@ -36,6 +43,11 @@ '../skia/skia.gyp:skia', ], }], + ['use_aura==1', { + 'sources!': [ + 'base/test/ui_controls_win.cc', + ], + }], ], }, { |