| 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,
|
|
|