Commit 06c54845 authored by Leonard Grey's avatar Leonard Grey Committed by Commit Bot

Add AcceleratorProviderFromBrowser

This change allows code outside of c/b/ui/views to access the main
AcceleratorProvider (which happens to be BrowserView on desktop
platforms).

Bug: 1041639
Change-Id: I20167475c769ba3921e20ddd0cc8419aad839edc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2399444Reviewed-by: default avatarElly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Leonard Grey <lgrey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#805323}
parent 3c4e5a01
...@@ -5,8 +5,11 @@ ...@@ -5,8 +5,11 @@
#ifndef CHROME_BROWSER_UI_ACCELERATOR_UTILS_H_ #ifndef CHROME_BROWSER_UI_ACCELERATOR_UTILS_H_
#define CHROME_BROWSER_UI_ACCELERATOR_UTILS_H_ #define CHROME_BROWSER_UI_ACCELERATOR_UTILS_H_
class Browser;
namespace ui { namespace ui {
class Accelerator; class Accelerator;
class AcceleratorProvider;
} }
namespace chrome { namespace chrome {
...@@ -14,6 +17,9 @@ namespace chrome { ...@@ -14,6 +17,9 @@ namespace chrome {
// Returns true if the given |accelerator| is currently registered by // Returns true if the given |accelerator| is currently registered by
// Chrome. // Chrome.
bool IsChromeAccelerator(const ui::Accelerator& accelerator); bool IsChromeAccelerator(const ui::Accelerator& accelerator);
// Returns the AcceleratorProvider associated with |browser|, or nullptr
// if one is not available.
ui::AcceleratorProvider* AcceleratorProviderForBrowser(Browser* browser);
} // namespace chrome } // namespace chrome
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include "chrome/browser/global_keyboard_shortcuts_mac.h" #include "chrome/browser/global_keyboard_shortcuts_mac.h"
#include "chrome/browser/ui/cocoa/accelerators_cocoa.h" #include "chrome/browser/ui/cocoa/accelerators_cocoa.h"
#include "chrome/browser/ui/views/frame/browser_view.h"
#include "ui/base/accelerators/accelerator.h" #include "ui/base/accelerators/accelerator.h"
#import "ui/base/accelerators/platform_accelerator_cocoa.h" #import "ui/base/accelerators/platform_accelerator_cocoa.h"
#import "ui/events/keycodes/keyboard_code_conversion_mac.h" #import "ui/events/keycodes/keyboard_code_conversion_mac.h"
...@@ -51,4 +52,8 @@ bool IsChromeAccelerator(const ui::Accelerator& accelerator) { ...@@ -51,4 +52,8 @@ bool IsChromeAccelerator(const ui::Accelerator& accelerator) {
return CommandForKeyEvent(event).found(); return CommandForKeyEvent(event).found();
} }
ui::AcceleratorProvider* AcceleratorProviderForBrowser(Browser* browser) {
return BrowserView::GetBrowserViewForBrowser(browser);
}
} // namespace chrome } // namespace chrome
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include <stddef.h> #include <stddef.h>
#include "chrome/browser/ui/views/accelerator_table.h" #include "chrome/browser/ui/views/accelerator_table.h"
#include "chrome/browser/ui/views/frame/browser_view.h"
#include "ui/base/accelerators/accelerator.h" #include "ui/base/accelerators/accelerator.h"
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
...@@ -34,4 +35,8 @@ bool IsChromeAccelerator(const ui::Accelerator& accelerator) { ...@@ -34,4 +35,8 @@ bool IsChromeAccelerator(const ui::Accelerator& accelerator) {
return false; return false;
} }
ui::AcceleratorProvider* AcceleratorProviderForBrowser(Browser* browser) {
return BrowserView::GetBrowserViewForBrowser(browser);
}
} // namespace chrome } // namespace chrome
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment