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

Unified Diff: ui/wm/core/accelerator_filter.cc

Issue 308193002: Simplify AcceleratorDelegate interface (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed condition Created 6 years, 7 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: ui/wm/core/accelerator_filter.cc
diff --git a/ui/wm/core/accelerator_filter.cc b/ui/wm/core/accelerator_filter.cc
index 7993cd74a00a9ed518d51890bc4bce51b3f15939..50102622de68355cb4774029c826efc0049219f9 100644
--- a/ui/wm/core/accelerator_filter.cc
+++ b/ui/wm/core/accelerator_filter.cc
@@ -52,10 +52,10 @@ AcceleratorFilter::~AcceleratorFilter() {
void AcceleratorFilter::OnKeyEvent(ui::KeyEvent* event) {
const ui::EventType type = event->type();
- if (type != ui::ET_KEY_PRESSED && type != ui::ET_KEY_RELEASED)
- return;
- if (event->is_char())
+ if ((type != ui::ET_KEY_PRESSED && type != ui::ET_KEY_RELEASED) ||
+ event->is_char()) {
return;
+ }
ui::Accelerator accelerator(event->key_code(),
event->flags() & kModifierFlagMask);
@@ -63,22 +63,11 @@ void AcceleratorFilter::OnKeyEvent(ui::KeyEvent* event) {
delegate_->PreProcessAccelerator(accelerator);
- // Handle special hardware keys like brightness and volume. However, some
- // windows can override this behavior (e.g. Chrome v1 apps by default and
- // Chrome v2 apps with permission) by setting a window property.
- if (IsSystemKey(event->key_code()) &&
- !delegate_->CanConsumeSystemKeys(*event)) {
- delegate_->ProcessAccelerator(accelerator);
- // These keys are always consumed regardless of whether they trigger an
- // accelerator to prevent windows from seeing unexpected key up events.
- event->StopPropagation();
- return;
- }
-
- if (!delegate_->ShouldProcessAcceleratorNow(*event, accelerator))
- return;
+ AcceleratorDelegate::KeyType key_type =
+ IsSystemKey(event->key_code()) ? AcceleratorDelegate::KEY_TYPE_SYSTEM
+ : AcceleratorDelegate::KEY_TYPE_OTHER;
- if (delegate_->ProcessAccelerator(accelerator))
+ if (delegate_->ProcessAccelerator(*event, accelerator, key_type))
event->StopPropagation();
}
« ash/accelerators/accelerator_delegate.cc ('K') | « ui/wm/core/accelerator_delegate.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698