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

Unified Diff: ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc

Issue 297123002: API proposal for chrome.app.window to intercept all keys. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Return if there is no windows with keyboard focus. Created 6 years, 4 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/views/widget/desktop_aura/desktop_window_tree_host_win.cc
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
index acbef2b60820a32f2e22a45f852d0d75eb59f666..7c296d8ab8a73ff05f71c2e93176aae9eac5f13c 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
@@ -28,6 +28,7 @@
#include "ui/views/ime/input_method_bridge.h"
#include "ui/views/widget/desktop_aura/desktop_cursor_loader_updater.h"
#include "ui/views/widget/desktop_aura/desktop_drag_drop_client_win.h"
+#include "ui/views/widget/desktop_aura/desktop_keyboard_capture_win.h"
#include "ui/views/widget/desktop_aura/desktop_native_cursor_manager.h"
#include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h"
#include "ui/views/widget/root_view.h"
@@ -328,6 +329,14 @@ void DesktopWindowTreeHostWin::SetAlwaysOnTop(bool always_on_top) {
message_handler_->SetAlwaysOnTop(always_on_top);
}
+void DesktopWindowTreeHostWin::SetInterceptAllKeys(bool want_all_keys) {
+ if ((keyboard_capture_.get() == NULL) && want_all_keys) {
+ keyboard_capture_.reset(new DesktopKeyboardCaptureWin(GetHWND()));
+ } else if (!want_all_keys) {
+ keyboard_capture_.reset(NULL);
+ }
+}
+
bool DesktopWindowTreeHostWin::IsAlwaysOnTop() const {
return message_handler_->IsAlwaysOnTop();
}

Powered by Google App Engine
This is Rietveld 408576698