MacViews: All targets compile. Fixes unit_tests and message_center_unittests
This mainly involves adjusting chrome_tests_unit.gypi to exclude
chrome's unit_tests that use views UI not enabled by default with
toolkit-views=1 on Mac.
Mostly the unit tests compile, but fail to link since their
corresponding UI parts are not in the browser.
(confirm_bubble_views_unittest.cc has a simple compile fix, but isn't
linked in yet).
An events_test_support dependency is needed in views_test_support for
ui/events/test/event_generator which some unit tests use, and otherwise
comes in through aura_test_support or views_unittests.
BUG=412234, 399191
Review URL: https://codereview.chromium.org/507373002
Cr-Commit-Position: refs/heads/master@{#294047}
diff --git a/chrome/browser/ui/views/confirm_bubble_views_unittest.cc b/chrome/browser/ui/views/confirm_bubble_views_unittest.cc
index c5ed354..a4eb1c0 100644
--- a/chrome/browser/ui/views/confirm_bubble_views_unittest.cc
+++ b/chrome/browser/ui/views/confirm_bubble_views_unittest.cc
@@ -28,7 +28,7 @@
TestConfirmBubbleModel* model =
new TestConfirmBubbleModel(&model_deleted, NULL, NULL, NULL);
ConfirmBubbleViews* bubble = new ConfirmBubbleViews(model);
- gfx::NativeView parent = parent_widget->GetNativeView();
+ gfx::NativeWindow parent = parent_widget->GetNativeWindow();
CreateBrowserModalDialogViews(bubble, parent)->Show();
// Clean up.
diff --git a/chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_unittest.cc b/chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_unittest.cc
index d69f48a..bff7489 100644
--- a/chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_unittest.cc
+++ b/chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_unittest.cc
@@ -4,24 +4,18 @@
#include "chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views.h"
+#include "chrome/browser/ui/tab_contents/chrome_web_contents_view_delegate.h"
#include "chrome/test/base/chrome_render_view_host_test_harness.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/context_menu_params.h"
-class ChromeWebContentsViewDelegateViewsTest
- : public ChromeRenderViewHostTestHarness {
- public:
- ChromeWebContentsViewDelegateViewsTest() {}
-
- private:
- DISALLOW_COPY_AND_ASSIGN(ChromeWebContentsViewDelegateViewsTest);
-};
+typedef ChromeRenderViewHostTestHarness ChromeWebContentsViewDelegateViewsTest;
// Test that makes sure ShowContextMenu does not crash if web_contents() does
// not have a focused frame.
TEST_F(ChromeWebContentsViewDelegateViewsTest, ContextMenuNoFocusedFrame) {
- scoped_ptr<ChromeWebContentsViewDelegateViews> delegate_view(
- new ChromeWebContentsViewDelegateViews(web_contents()));
+ scoped_ptr<content::WebContentsViewDelegate> delegate_view(
+ chrome::CreateWebContentsViewDelegate(web_contents()));
EXPECT_FALSE(web_contents()->GetFocusedFrame());
const content::ContextMenuParams params;
delegate_view->ShowContextMenu(web_contents()->GetMainFrame(), params);
diff --git a/chrome/chrome_tests_unit.gypi b/chrome/chrome_tests_unit.gypi
index d1b8ae3..c2906ca 100644
--- a/chrome/chrome_tests_unit.gypi
+++ b/chrome/chrome_tests_unit.gypi
@@ -1720,7 +1720,6 @@
'browser/ui/views/autofill/autofill_dialog_views_unittest.cc',
'browser/ui/views/bookmarks/bookmark_bar_view_unittest.cc',
'browser/ui/views/bookmarks/bookmark_bubble_view_unittest.cc',
- 'browser/ui/views/bookmarks/bookmark_bubble_view_unittest.cc',
'browser/ui/views/bookmarks/bookmark_context_menu_unittest.cc',
'browser/ui/views/bookmarks/bookmark_editor_view_unittest.cc',
'browser/ui/views/bookmarks/bookmark_menu_delegate_unittest.cc',
@@ -2399,6 +2398,36 @@
],
'sources!': [
'browser/ui/tests/ui_gfx_image_unittest.cc',
+
+ # TODO(tapted): Enable toolkit-views unit_tests on Mac when their
+ # respective implementations are linked in. http://crbug.com/412234.
+ 'browser/ui/views/apps/app_info_dialog/app_info_permissions_panel_unittest.cc',
+ 'browser/ui/views/apps/shaped_app_window_targeter_unittest.cc',
+ 'browser/ui/views/autofill/autofill_dialog_views_unittest.cc',
+ 'browser/ui/views/bookmarks/bookmark_bar_view_unittest.cc',
+ 'browser/ui/views/bookmarks/bookmark_bubble_view_unittest.cc',
+ 'browser/ui/views/bookmarks/bookmark_context_menu_unittest.cc',
+ 'browser/ui/views/bookmarks/bookmark_menu_delegate_unittest.cc',
+ 'browser/ui/views/bookmarks/bookmark_sync_promo_view_unittest.cc',
+ 'browser/ui/views/confirm_bubble_views_unittest.cc',
+ 'browser/ui/views/constrained_window_views_unittest.cc',
+ 'browser/ui/views/crypto_module_password_dialog_view_unittest.cc',
+ 'browser/ui/views/desktop_media_picker_views_unittest.cc',
+ 'browser/ui/views/extensions/media_galleries_dialog_views_unittest.cc',
+ 'browser/ui/views/first_run_bubble_unittest.cc',
+ 'browser/ui/views/frame/browser_view_layout_unittest.cc',
+ 'browser/ui/views/frame/browser_view_unittest.cc',
+ 'browser/ui/views/frame/opaque_browser_frame_view_layout_unittest.cc',
+ 'browser/ui/views/frame/web_contents_close_handler_unittest.cc',
+ 'browser/ui/views/tabs/stacked_tab_strip_layout_unittest.cc',
+ 'browser/ui/views/tabs/fake_base_tab_strip_controller.cc',
+ 'browser/ui/views/tabs/fake_base_tab_strip_controller.h',
+ 'browser/ui/views/tabs/tab_strip_unittest.cc',
+ 'browser/ui/views/tabs/tab_unittest.cc',
+ 'browser/ui/views/toolbar/reload_button_unittest.cc',
+ 'browser/ui/views/translate/translate_bubble_view_unittest.cc',
+ 'browser/ui/views/validation_message_bubble_delegate_unittest.cc',
+
'tools/convert_dict/convert_dict_unittest.cc',
'renderer/spellchecker/spellcheck_provider_hunspell_unittest.cc',
],
diff --git a/ui/message_center/BUILD.gn b/ui/message_center/BUILD.gn
index 536bcfc0..b05d402 100644
--- a/ui/message_center/BUILD.gn
+++ b/ui/message_center/BUILD.gn
@@ -76,7 +76,9 @@
deps += [ "//ui/aura" ]
}
- if (toolkit_views) {
+ # On Mac, toolkit-views builds still use the Cocoa UI. Keep this in sync
+ # with message_center_unittests below.
+ if (toolkit_views && !is_mac) {
sources += [
"views/bounded_label.cc",
"views/bounded_label.h",
@@ -209,7 +211,7 @@
deps += [ "//ui/gfx:test_support" ]
}
- if (toolkit_views) {
+ if (toolkit_views && !is_mac) {
sources += [
"views/bounded_label_unittest.cc",
"views/message_center_view_unittest.cc",
diff --git a/ui/message_center/message_center.gyp b/ui/message_center/message_center.gyp
index c1ece6a..eb956aa0 100644
--- a/ui/message_center/message_center.gyp
+++ b/ui/message_center/message_center.gyp
@@ -119,7 +119,9 @@
'../aura/aura.gyp:aura',
],
}],
- ['toolkit_views==1', {
+ # On Mac, toolkit-views builds still use the Cocoa UI. Keep this in sync
+ # with message_center_unittests below.
+ ['toolkit_views==1 and OS!="mac"', {
'dependencies': [
'../events/events.gyp:events',
'../views/views.gyp:views',
@@ -221,7 +223,7 @@
'../gfx/gfx.gyp:gfx_test_support',
],
}],
- ['toolkit_views==1', {
+ ['toolkit_views==1 and OS!="mac"', {
'dependencies': [
# Compositor is needed by message_center_view_unittest.cc
# and for the fonts used by bounded_label_unittest.cc.
diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn
index 609181b9..c311fbd9 100644
--- a/ui/views/BUILD.gn
+++ b/ui/views/BUILD.gn
@@ -119,6 +119,7 @@
"//ui/compositor:test_support",
"//ui/events",
"//ui/events:events_base",
+ "//ui/events:test_support",
"//ui/events/platform",
"//ui/gfx",
"//ui/gfx/geometry",
diff --git a/ui/views/views.gyp b/ui/views/views.gyp
index 9e1699b6..103999f 100644
--- a/ui/views/views.gyp
+++ b/ui/views/views.gyp
@@ -698,6 +698,7 @@
'../compositor/compositor.gyp:compositor',
'../compositor/compositor.gyp:compositor_test_support',
'../events/events.gyp:events',
+ '../events/events.gyp:events_test_support',
'../events/platform/events_platform.gyp:events_platform',
'../gfx/gfx.gyp:gfx',
'../gfx/gfx.gyp:gfx_geometry',