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

Unified Diff: chrome/browser/ui/views/renderer_context_menu/render_view_context_menu_views.cc

Issue 2116973002: Added "Exit full screen" to context menu. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Do not show an accelerator for user-triggered fullscreen on Chrome OS. Created 4 years, 5 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
Index: chrome/browser/ui/views/renderer_context_menu/render_view_context_menu_views.cc
diff --git a/chrome/browser/ui/views/renderer_context_menu/render_view_context_menu_views.cc b/chrome/browser/ui/views/renderer_context_menu/render_view_context_menu_views.cc
index 8808ff31e57234d6580db97dee4e586a04ebb9d4..6cf6659c28723f1bc276aca38b4b49c45b35d97f 100644
--- a/chrome/browser/ui/views/renderer_context_menu/render_view_context_menu_views.cc
+++ b/chrome/browser/ui/views/renderer_context_menu/render_view_context_menu_views.cc
@@ -10,6 +10,8 @@
#include "base/logging.h"
#include "base/strings/string16.h"
#include "chrome/app/chrome_command_ids.h"
+#include "chrome/browser/ui/browser_finder.h"
+#include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/grit/generated_resources.h"
#include "components/renderer_context_menu/views/toolkit_delegate_views.h"
@@ -63,6 +65,7 @@ bool RenderViewContextMenuViews::GetAcceleratorForCommandId(
ui::Accelerator* accel) {
// There are no formally defined accelerators we can query so we assume
// that Ctrl+C, Ctrl+V, Ctrl+X, Ctrl-A, etc do what they normally do.
+ ui::AcceleratorProvider* accelerator_provider = nullptr;
switch (command_id) {
case IDC_BACK:
*accel = ui::Accelerator(ui::VKEY_LEFT, ui::EF_ALT_DOWN);
@@ -129,6 +132,28 @@ bool RenderViewContextMenuViews::GetAcceleratorForCommandId(
*accel = ui::Accelerator(ui::VKEY_S, ui::EF_CONTROL_DOWN);
return true;
+ case IDC_CONTENT_CONTEXT_EXIT_FULLSCREEN:
+ // Esc only works in HTML5 (site-triggered) fullscreen.
+ if (IsHTML5Fullscreen()) {
+ *accel = ui::Accelerator(ui::VKEY_ESCAPE, ui::EF_NONE);
+ return true;
+ }
+
+#if defined(OS_CHROMEOS)
+ // Chromebooks typically do not have an F11 key, so do not show an
+ // accelerator here.
+ return false;
+#endif
+
+ // User-triggered fullscreen. Show the shortcut for toggling fullscreen
+ // (i.e., F11).
+ accelerator_provider = GetBrowserAcceleratorProvider();
+ if (!accelerator_provider)
+ return false;
+
+ return accelerator_provider->GetAcceleratorForCommandId(IDC_FULLSCREEN,
+ accel);
+
case IDC_VIEW_SOURCE:
*accel = ui::Accelerator(ui::VKEY_U, ui::EF_CONTROL_DOWN);
return true;
@@ -200,6 +225,15 @@ bool RenderViewContextMenuViews::IsCommandIdEnabled(int command_id) const {
}
}
+ui::AcceleratorProvider*
+RenderViewContextMenuViews::GetBrowserAcceleratorProvider() const {
+ Browser* browser = chrome::FindBrowserWithWebContents(source_web_contents_);
+ if (!browser)
+ return nullptr;
+
+ return BrowserView::GetBrowserViewForBrowser(browser);
+}
+
void RenderViewContextMenuViews::AppendPlatformEditableItems() {
bidi_submenu_model_.AddCheckItem(
IDC_WRITING_DIRECTION_DEFAULT,

Powered by Google App Engine
This is Rietveld 408576698