summaryrefslogtreecommitdiffstats
path: root/chrome/chrome_tests.gypi
diff options
context:
space:
mode:
authortapted <tapted@chromium.org>2015-06-24 18:28:14 -0700
committerCommit bot <commit-bot@chromium.org>2015-06-25 01:28:53 +0000
commit91f299c14448905eaeaf635c86d3d527241d02e7 (patch)
treefc74e3dd9f4e81a76c0ac26827252edc71d18f71 /chrome/chrome_tests.gypi
parentc08decbd80f568e4177a4f82942e2ed04c97735e (diff)
downloadchromium_src-91f299c14448905eaeaf635c86d3d527241d02e7.zip
chromium_src-91f299c14448905eaeaf635c86d3d527241d02e7.tar.gz
chromium_src-91f299c14448905eaeaf635c86d3d527241d02e7.tar.bz2
Mac: Give packaged app windows their own window cycle list.
For now it's behind chrome://flags#app-window-cycling. This is to hopefully give a better UX for App Shims. It also solves a tricky problem with Chrome Remote Desktop: Since CRD swallows Cmd+`, it breaks browser window cycling since the cycling will stop as soon as a CRD window is encountered. This works by hooking in to the same mechanism that changes the menu bar. Switching to or away from a packaged app window will now also update the window cycle list. The CL intentionally does *not*: - try to distinguish between the same app running in different profiles, - update the `Window` menu, nor - try to do anything for Cmd+Tab switching. The hard part: AppKit does not immediately apply changes to NSWindowCollectionBehaviorIgnoresCycle after a window is already shown. An effective workaround seems to be call to [[NSApp keyWindow] makeKeyAndOrderFront:nil]. However, this may have other consequences. Lots of other things were tried (see code comments). Adds an interactive UI test. Tests on mac using ui_test_utils::ShowAndFocusNativeWindow(..) have a history of flakiness, so this CL attempts to address that by combining with a notification observer. This approach has successfully addressed flakiness around key-window transitions elsewhere. It would commonly occur when multiple windows are in the process -- a single RunLoop().RunUntilIdle() couldn't guarantee that the window server had completed the switch. BUG=484737, 278408 Review URL: https://codereview.chromium.org/1186803003 Cr-Commit-Position: refs/heads/master@{#336063}
Diffstat (limited to 'chrome/chrome_tests.gypi')
-rw-r--r--chrome/chrome_tests.gypi1
1 files changed, 1 insertions, 0 deletions
diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi
index 1f4f81d..d3b6477 100644
--- a/chrome/chrome_tests.gypi
+++ b/chrome/chrome_tests.gypi
@@ -967,6 +967,7 @@
'browser/task_manager/task_manager_browsertest_util.cc',
'browser/ui/autofill/autofill_popup_controller_interactive_uitest.cc',
'browser/ui/browser_focus_uitest.cc',
+ 'browser/ui/cocoa/apps/app_shim_menu_controller_mac_interactive_uitest.mm',
'browser/ui/cocoa/apps/quit_with_apps_controller_mac_interactive_uitest.mm',
'browser/ui/cocoa/extensions/browser_action_button_interactive_uitest.mm',
'browser/ui/cocoa/panels/panel_cocoa_browsertest.mm',