Skip to content

Commit 971df88

Browse files
committed
Don't mark event handled unless it's handled.
in OverviewSession::OnKeyEvent Bug: 925878 Test: covered by unittest Change-Id: I712acfcc7127e86e30d5d1be3ef8f86831c12368 Reviewed-on: https://chromium-review.googlesource.com/c/1440913 Reviewed-by: Sammie Quon <sammiequon@chromium.org> Commit-Queue: Mitsuru Oshima <oshima@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#626807}(cherry picked from commit 8d4ae6d) Reviewed-on: https://chromium-review.googlesource.com/c/1446404 Reviewed-by: Mitsuru Oshima <oshima@chromium.org> Cr-Commit-Position: refs/branch-heads/3683@{#72} Cr-Branched-From: e510299-refs/heads/master@{#625896}
1 parent 9171772 commit 971df88

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

ash/accelerators/exit_warning_handler.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ class ASH_EXPORT ExitWarningHandler {
5656

5757
private:
5858
friend class AcceleratorControllerTest;
59+
friend class OverviewSessionTest;
5960

6061
enum State { IDLE, WAIT_FOR_DOUBLE_PRESS, EXITING };
6162

ash/wm/overview/overview_session.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -755,7 +755,7 @@ void OverviewSession::OnKeyEvent(ui::KeyEvent* event) {
755755
SelectWindow(grid_list_[selected_grid_index_]->SelectedWindow());
756756
break;
757757
default:
758-
break;
758+
return;
759759
}
760760

761761
event->SetHandled();

ash/wm/overview/overview_session_unittest.cc

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
#include <memory>
77
#include <vector>
88

9+
#include "ash/accelerators/accelerator_controller.h"
10+
#include "ash/accelerators/exit_warning_handler.h"
911
#include "ash/accessibility/accessibility_controller.h"
1012
#include "ash/accessibility/test_accessibility_controller_client.h"
1113
#include "ash/app_list/app_list_controller_impl.h"
@@ -314,6 +316,11 @@ class OverviewSessionTest : public AshTestBase {
314316
return !!item->transform_window_.mask_;
315317
}
316318

319+
static void StubForTest(ExitWarningHandler* ewh) {
320+
ewh->stub_timer_for_test_ = true;
321+
}
322+
static bool is_ui_shown(ExitWarningHandler* ewh) { return !!ewh->widget_; }
323+
317324
private:
318325
std::unique_ptr<ShelfViewTestAPI> shelf_view_test_api_;
319326

@@ -1197,6 +1204,22 @@ TEST_F(OverviewSessionTest, BasicTabKeyNavigation) {
11971204
EXPECT_EQ(GetSelectedWindow(), overview_windows[0]->GetWindow());
11981205
}
11991206

1207+
TEST_F(OverviewSessionTest, AcceleratorInOverviewSession) {
1208+
ToggleOverview();
1209+
auto* accelerator_controller = Shell::Get()->accelerator_controller();
1210+
auto* ewh = accelerator_controller->GetExitWarningHandlerForTest();
1211+
ASSERT_TRUE(ewh);
1212+
StubForTest(ewh);
1213+
EXPECT_FALSE(is_ui_shown(ewh));
1214+
1215+
ui::test::EventGenerator event_generator(Shell::GetPrimaryRootWindow());
1216+
event_generator.PressKey(ui::VKEY_Q, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN);
1217+
event_generator.ReleaseKey(ui::VKEY_Q,
1218+
ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN);
1219+
1220+
EXPECT_TRUE(is_ui_shown(ewh));
1221+
}
1222+
12001223
// Tests that pressing Ctrl+W while a window is selected in overview closes it.
12011224
TEST_F(OverviewSessionTest, CloseWindowWithKey) {
12021225
std::unique_ptr<views::Widget> widget(CreateTestWidget());

0 commit comments

Comments
 (0)