| Index: extensions/browser/app_window/app_window.cc
|
| diff --git a/extensions/browser/app_window/app_window.cc b/extensions/browser/app_window/app_window.cc
|
| index 8ce9cf646ce194f31e2d0e2a0dd59674ed3499a3..15db8d3900a1720a3ddead12b38db903b729f4cc 100644
|
| --- a/extensions/browser/app_window/app_window.cc
|
| +++ b/extensions/browser/app_window/app_window.cc
|
| @@ -242,7 +242,8 @@ AppWindow::AppWindow(BrowserContext* context,
|
| can_send_events_(false),
|
| is_hidden_(false),
|
| cached_always_on_top_(false),
|
| - requested_alpha_enabled_(false) {
|
| + requested_alpha_enabled_(false),
|
| + cached_want_all_keys_(false) {
|
| ExtensionsBrowserClient* client = ExtensionsBrowserClient::Get();
|
| CHECK(!client->IsGuestSession(context) || context->IsOffTheRecord())
|
| << "Only off the record window may be opened in the guest mode.";
|
| @@ -348,6 +349,10 @@ void AppWindow::Init(const GURL& url,
|
| }
|
|
|
| AppWindow::~AppWindow() {
|
| + if (cached_want_all_keys_) {
|
| + native_app_window_->SetInterceptAllKeys(false);
|
| + cached_want_all_keys_ = false;
|
| + }
|
| }
|
|
|
| void AppWindow::RequestMediaAccessPermission(
|
| @@ -711,6 +716,13 @@ void AppWindow::SetAlwaysOnTop(bool always_on_top) {
|
|
|
| bool AppWindow::IsAlwaysOnTop() const { return cached_always_on_top_; }
|
|
|
| +void AppWindow::SetInterceptAllKeys(bool want_all_keys) {
|
| + if (cached_want_all_keys_ != want_all_keys) {
|
| + native_app_window_->SetInterceptAllKeys(want_all_keys);
|
| + cached_want_all_keys_ = want_all_keys;
|
| + }
|
| +}
|
| +
|
| void AppWindow::WindowEventsReady() {
|
| can_send_events_ = true;
|
| SendOnWindowShownIfShown();
|
|
|