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

Unified Diff: chrome/browser/ui/browser_command_controller.cc

Issue 2781633003: Allow keyboard shortcuts can be captured by webpage when toolbar is not visible (Closed)
Patch Set: Resolve review comments Created 3 years, 8 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
« no previous file with comments | « no previous file | chrome/browser/ui/browser_command_controller_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/browser_command_controller.cc
diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc
index 125126de6c63eee0ace3dd5f09879de389270d92..d76b2b9b83cbb3f61e00fb95cd19e8de378a54a6 100644
--- a/chrome/browser/ui/browser_command_controller.cc
+++ b/chrome/browser/ui/browser_command_controller.cc
@@ -187,8 +187,27 @@ bool BrowserCommandController::IsReservedCommandOrKey(
}
#endif
- if (window()->IsFullscreen() && command_id == IDC_FULLSCREEN)
- return true;
+ if (window()->IsFullscreen()) {
+ // In fullscreen, all commands except for IDC_FULLSCREEN and IDC_EXIT should
+ // be delivered to the web page. The intent to implement and ship can be
+ // found in http://crbug.com/680809.
+ const bool is_exit_fullscreen =
+ (command_id == IDC_EXIT || command_id == IDC_FULLSCREEN);
+#if defined(OS_MACOSX)
+ // This behavior is different on Mac OS, which has a unique user-initiated
+ // full-screen mode. According to the discussion in http://crbug.com/702251,
+ // the commands should be reserved for browser-side handling if the browser
+ // window's toolbar is visible.
+ if (window()->IsToolbarShowing()) {
+ if (command_id == IDC_FULLSCREEN)
+ return true;
+ } else {
+ return is_exit_fullscreen;
+ }
+#else
+ return is_exit_fullscreen;
+#endif
+ }
#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
// If this key was registered by the user as a content editing hotkey, then
« no previous file with comments | « no previous file | chrome/browser/ui/browser_command_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698