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

Unified Diff: chrome/browser/ui/views/frame/browser_view.cc

Issue 2775553002: Adds the ability for WebContentsDelegate to decide if event should be updated (Closed)
Patch Set: Fix compile Created 3 years, 9 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 | « chrome/browser/ui/views/frame/browser_view.h ('k') | chrome/test/base/test_browser_window.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/frame/browser_view.cc
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc
index 0dc58c7a66de814403a1c0ac66f649707a117531..b39783fb509d5e73454ee3f535cc97c7b86c0154 100644
--- a/chrome/browser/ui/views/frame/browser_view.cc
+++ b/chrome/browser/ui/views/frame/browser_view.cc
@@ -113,6 +113,7 @@
#include "components/signin/core/common/profile_management_switches.h"
#include "components/translate/core/browser/language_state.h"
#include "content/public/browser/download_manager.h"
+#include "content/public/browser/keyboard_event_processing_result.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_view_host.h"
@@ -1306,20 +1307,18 @@ void BrowserView::ShowAppMenu() {
toolbar_->app_menu_button()->Activate(nullptr);
}
-bool BrowserView::PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event,
- bool* is_keyboard_shortcut) {
- *is_keyboard_shortcut = false;
-
+content::KeyboardEventProcessingResult BrowserView::PreHandleKeyboardEvent(
+ const NativeWebKeyboardEvent& event) {
if ((event.type() != blink::WebInputEvent::RawKeyDown) &&
(event.type() != blink::WebInputEvent::KeyUp)) {
- return false;
+ return content::KeyboardEventProcessingResult::NOT_HANDLED;
}
views::FocusManager* focus_manager = GetFocusManager();
DCHECK(focus_manager);
if (focus_manager->shortcut_handling_suspended())
- return false;
+ return content::KeyboardEventProcessingResult::NOT_HANDLED;
ui::Accelerator accelerator =
ui::GetAcceleratorFromNativeWebKeyboardEvent(event);
@@ -1337,22 +1336,22 @@ bool BrowserView::PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event,
if (browser_->is_app()) {
// Let all keys fall through to a v1 app's web content, even accelerators.
- // We don't have to flip |is_keyboard_shortcut| here. If we do that, the app
+ // We don't use NOT_HANDLED_IS_SHORTCUT here. If we do that, the app
// might not be able to see a subsequent Char event. See OnHandleInputEvent
// in content/renderer/render_widget.cc for details.
- return false;
+ return content::KeyboardEventProcessingResult::NOT_HANDLED;
}
#if defined(OS_CHROMEOS)
if (ash_util::IsAcceleratorDeprecated(accelerator)) {
- if (event.type() == blink::WebInputEvent::RawKeyDown)
- *is_keyboard_shortcut = true;
- return false;
+ return (event.type() == blink::WebInputEvent::RawKeyDown)
+ ? content::KeyboardEventProcessingResult::NOT_HANDLED_IS_SHORTCUT
+ : content::KeyboardEventProcessingResult::NOT_HANDLED;
}
#endif // defined(OS_CHROMEOS)
if (frame_->PreHandleKeyboardEvent(event))
- return true;
+ return content::KeyboardEventProcessingResult::HANDLED;
chrome::BrowserCommandController* controller = browser_->command_controller();
@@ -1374,20 +1373,25 @@ bool BrowserView::PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event,
// Executing the command may cause |this| object to be destroyed.
if (controller->IsReservedCommandOrKey(id, event)) {
UpdateAcceleratorMetrics(accelerator, id);
- return chrome::ExecuteCommand(browser_.get(), id);
+ return chrome::ExecuteCommand(browser_.get(), id)
+ ? content::KeyboardEventProcessingResult::HANDLED
+ : content::KeyboardEventProcessingResult::NOT_HANDLED;
}
if (id != -1) {
// |accelerator| is a non-reserved browser shortcut (e.g. Ctrl+f).
- if (event.type() == blink::WebInputEvent::RawKeyDown)
- *is_keyboard_shortcut = true;
- } else if (processed) {
+ return (event.type() == blink::WebInputEvent::RawKeyDown)
+ ? content::KeyboardEventProcessingResult::NOT_HANDLED_IS_SHORTCUT
+ : content::KeyboardEventProcessingResult::NOT_HANDLED;
+ }
+
+ if (processed) {
// |accelerator| is a non-browser shortcut (e.g. F4-F10 on Ash). Report
// that we handled it.
- return true;
+ return content::KeyboardEventProcessingResult::HANDLED;
}
- return false;
+ return content::KeyboardEventProcessingResult::NOT_HANDLED;
}
void BrowserView::HandleKeyboardEvent(const NativeWebKeyboardEvent& event) {
« no previous file with comments | « chrome/browser/ui/views/frame/browser_view.h ('k') | chrome/test/base/test_browser_window.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698