Index: ash/wm/maximize_mode/maximize_mode_event_blocker.cc |
diff --git a/ash/wm/maximize_mode/maximize_mode_event_blocker.cc b/ash/wm/maximize_mode/maximize_mode_event_blocker.cc |
index e283149b6fe66755d368efea094e209f45419b0c..1f679fb468d4fef8a751021b3adf77c96dc8278f 100644 |
--- a/ash/wm/maximize_mode/maximize_mode_event_blocker.cc |
+++ b/ash/wm/maximize_mode/maximize_mode_event_blocker.cc |
@@ -8,6 +8,7 @@ |
#include "base/memory/scoped_ptr.h" |
#include "ui/aura/client/cursor_client.h" |
#include "ui/events/event_targeter.h" |
+#include "ui/events/keycodes/keyboard_codes_posix.h" |
flackr
2014/04/29 21:43:54
This is only for posix OS's, include "ui/events/ke
bruthig
2014/04/30 14:04:45
Done.
|
namespace ash { |
@@ -54,8 +55,23 @@ void BlockKeyboardAndTouchpadTargeter::SetDefaultTargeter( |
ui::EventTarget* BlockKeyboardAndTouchpadTargeter::FindTargetForEvent( |
ui::EventTarget* root, |
ui::Event* event) { |
- if (event->HasNativeEvent() && (event->IsMouseEvent() || event->IsKeyEvent())) |
- return NULL; |
+ if (event->HasNativeEvent()) { |
+ if (event->IsMouseEvent()) |
+ return NULL; |
+ if (event->IsKeyEvent()) { |
+ // TODO(bruthig): This is a partial fix to issue 364584. |
flackr
2014/04/29 21:43:54
nit: use a link to the issue, i.e. http://crbug.co
flackr
2014/04/29 21:49:24
Also, if you're planning on closing the main bug,
bruthig
2014/04/30 14:04:45
Done.
bruthig
2014/04/30 14:04:45
Done.
|
+ // This fix enables all volume up & down events including those |
+ // originating from the keyboard. This needs to be fixed to only allow |
+ // events originating from hard buttons and filtering out those coming |
+ // from the keyboard but this requires some work to the Event system |
+ // so that we can distinguish between the two events at this level. |
+ ui::KeyEvent* keyEvent = static_cast<ui::KeyEvent*>(event); |
flackr
2014/04/29 21:43:54
s/keyEvent/key_event
i.e. unix_hacker_style names
bruthig
2014/04/30 14:04:45
Done.
|
+ if (keyEvent->key_code() != ui::VKEY_VOLUME_DOWN && |
+ keyEvent->key_code() != ui::VKEY_VOLUME_UP) { |
+ return NULL; |
+ } |
+ } |
+ } |
return default_targeter_->FindTargetForEvent(root, event); |
} |