0

Reland "shortcuts: Use search-based shortcut for Open "Help" in Explore app."

This is a reland of commit 67f037a535

* Original change is reverted because it causes tast-tests
 `LaunchHelpAppFromShortcut` to fail.
    - CL that updates tast test - https://crrev.com/c/5078707

* It also update the test in ash_configuration_provider_unittest that
  was not covered by original CL.

Original change's description:
> shortcuts: Use search-based shortcut for Open "Help" in Explore app.
>
> * Switch [ctrl + /], [ctrl + shift + /] to [search + h] for Open
>   "Help" in Explore app.
>
> screenshot: http://screen/ABUSqhX3ohuF4LH
>
> Bug: b/216049298
> Test: ash_webui_unittests -F AcceleratorLayoutMetadataTest
> Change-Id: I371c8d7d9df6b0cb5f59c96500d15273344e7785
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5073832
> Reviewed-by: Jimmy Gong <jimmyxgong@chromium.org>
> Commit-Queue: Longbo Wei <longbowei@google.com>
> Cr-Commit-Position: refs/heads/main@{#1231624}

Bug: b/216049298
Change-Id: I434462e30f052cc36c43388e98dabcf26af308a8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5078811
Reviewed-by: Jimmy Gong <jimmyxgong@chromium.org>
Commit-Queue: Longbo Wei <longbowei@google.com>
Cr-Commit-Position: refs/heads/main@{#1232251}
This commit is contained in:
Longbo Wei
2023-12-01 23:28:00 +00:00
committed by Chromium LUCI CQ
parent ce28344a4c
commit fd37b726da
10 changed files with 37 additions and 31 deletions

@ -38,18 +38,26 @@ const AcceleratorData kDeprecatedAccelerators[] = {
AcceleratorAction::kShowShortcutViewer},
{true, ui::VKEY_OEM_2,
ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN,
AcceleratorAction::kShowShortcutViewer}};
AcceleratorAction::kShowShortcutViewer},
{true, ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN,
AcceleratorAction::kOpenGetHelp},
{true, ui::VKEY_OEM_2, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
AcceleratorAction::kOpenGetHelp},
};
// `kShowShortcutViewer` has two accelerators that are deprecated but use the
// same message.
const size_t kNumDeprecatedAcceleratorsDuplicate = 1u;
// `kShowShortcutViewer` and `kOpenGetHelp` both have two accelerators that are
// deprecated but use the same message.
const size_t kNumDeprecatedAcceleratorsDuplicate = 2u;
const size_t kDeprecatedAcceleratorsLength = std::size(kDeprecatedAccelerators);
const DeprecatedAcceleratorData kDeprecatedAcceleratorsData[] = {
{AcceleratorAction::kShowShortcutViewer,
"Ash.Accelerators.Deprecated.ShowShortcutViewer",
IDS_DEPRECATED_SHOW_SHORTCUT_VIEWER_MSG,
IDS_SHORTCUT_SHOW_SHORTCUT_VIEWER_NEW, false}};
IDS_SHORTCUT_SHOW_SHORTCUT_VIEWER_NEW, false},
{AcceleratorAction::kOpenGetHelp,
"Ash.Accelerators.Deprecated.ShowShortcutViewer",
IDS_DEPRECATED_OPEN_GET_HELP_MSG, IDS_SHORTCUT_OPEN_GET_HELP_NEW, false}};
const size_t kDeprecatedAcceleratorsDataLength =
std::size(kDeprecatedAcceleratorsData);

@ -16,10 +16,10 @@ namespace ash {
namespace {
// The number of non-Search-based accelerators.
constexpr int kNonSearchAcceleratorsNum = 109;
constexpr int kNonSearchAcceleratorsNum = 107;
// The hash of non-Search-based accelerators. See HashAcceleratorData().
constexpr char kNonSearchAcceleratorsHash[] =
"f59bc0d21b6c243361b02c8cbae92f0e";
"fb4ed36bdb78ed9f9767adb03adc4909";
struct Cmp {
bool operator()(const AcceleratorData& lhs,

@ -3742,10 +3742,17 @@ Some features are limited to increase battery life.
<message name="IDS_SHORTCUT_SHOW_SHORTCUT_VIEWER_NEW" desc="the new shortcut to open the shortcut viewer app.">
ctrl+search+s
</message>
<message name="IDS_SHORTCUT_OPEN_GET_HELP_NEW" desc="the new shortcut to open help in explore app.">
search+h
</message>
<message name="IDS_DEPRECATED_SHOW_SHORTCUT_VIEWER_MSG"
desc="Notification message to tell users about the deprecation of Ctrl+Alt+/ shortcut to show the shortcut viewer app.">
Open Key Shortcuts app with "<ph name="NEW_SHORTCUT">$1<ex>ctrl + search + s</ex></ph>".
</message>
<message name="IDS_DEPRECATED_OPEN_GET_HELP_MSG"
desc="Notification message to tell users about the deprecation of Ctrl+/ shortcut to open help in explore app.">
Open "Help" in Explore app with "<ph name="NEW_SHORTCUT">$1<ex>search + h</ex></ph>".
</message>
<message name="IDS_DEPRECATED_SHOW_IME_BUBBLE_MSG"
desc="Notification message to tell users about the deprecation of Alt+Shift+K shortcut to show the input options menu bubble in the shelf.">
The shortcut to show the input options menu bubble in the shelf has changed. Please use <ph name="NEW_SHORTCUT">$1<ex>Search+Shift+K</ex></ph> instead of <ph name="OLD_SHORTCUT">$2<ex>Alt+Shift+K</ex></ph>.

@ -0,0 +1 @@
8911f7cbf1b3599c38e62c7a180405c55da6fd20

@ -0,0 +1 @@
8911f7cbf1b3599c38e62c7a180405c55da6fd20

@ -100,10 +100,7 @@ const AcceleratorData kAcceleratorData[] = {
AcceleratorAction::kOpenDiagnostics},
{true, ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN,
AcceleratorAction::kOpenFileManager},
{true, ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN,
AcceleratorAction::kOpenGetHelp},
{true, ui::VKEY_OEM_2, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
AcceleratorAction::kOpenGetHelp},
{true, ui::VKEY_H, ui::EF_COMMAND_DOWN, AcceleratorAction::kOpenGetHelp},
{true, ui::VKEY_T, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
AcceleratorAction::kOpenCrosh},
{true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,

@ -1173,7 +1173,7 @@ const std::vector<ash::KeyboardShortcutItem>& GetKeyboardShortcutItemList() {
IDS_KSV_DESCRIPTION_OPEN_GET_HELP,
{},
// |accelerator_ids|
{{ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN}}},
{{ui::VKEY_H, ui::EF_COMMAND_DOWN}}},
{// |categories|
{ShortcutCategory::kSystemAndDisplay},

@ -209,10 +209,6 @@ const HiddenAcceleratorMap& GetHiddenAcceleratorMap() {
{AcceleratorAction::kShowShortcutViewer,
{ui::Accelerator(ui::VKEY_F14, ui::EF_NONE,
ui::Accelerator::KeyState::PRESSED)}},
{AcceleratorAction::kOpenGetHelp,
{ui::Accelerator(ui::VKEY_OEM_2,
ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
ui::Accelerator::KeyState::PRESSED)}},
{AcceleratorAction::kToggleFullscreen,
{ui::Accelerator(ui::VKEY_ZOOM, ui::EF_SHIFT_DOWN,
ui::Accelerator::KeyState::PRESSED)}},

@ -643,9 +643,6 @@ TEST_F(AcceleratorConfigurationProviderTest, FilterOutHiddenAccelerators) {
AcceleratorAction::kToggleAppList},
{/*trigger_on_press=*/true, ui::VKEY_F14, ui::EF_NONE,
AcceleratorAction::kShowShortcutViewer},
{/*trigger_on_press=*/true, ui::VKEY_OEM_2,
ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
AcceleratorAction::kOpenGetHelp},
{/*trigger_on_press=*/false, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN,
AcceleratorAction::kSwitchToLastUsedIme},
{/*trigger_on_press=*/true, ui::VKEY_ZOOM, ui::EF_SHIFT_DOWN,
@ -3036,12 +3033,11 @@ TEST_F(AcceleratorConfigurationProviderTest, GetDefaultAcceleratorsForId) {
// [kToggleMirrorMode] is normal accelerator.
{/*trigger_on_press=*/true, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN,
AcceleratorAction::kToggleMirrorMode},
// [kOpenHelp] has one accelerator that will be hidden.
{/*trigger_on_press=*/true, ui::VKEY_OEM_2,
ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
AcceleratorAction::kOpenGetHelp},
{/*trigger_on_press=*/true, ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN,
AcceleratorAction::kOpenGetHelp},
// [kToggleFullscreen] has one accelerator that will be hidden.
{/*trigger_on_press=*/true, ui::VKEY_ZOOM, ui::EF_SHIFT_DOWN,
AcceleratorAction::kToggleFullscreen},
{/*trigger_on_press=*/true, ui::VKEY_F, ui::EF_COMMAND_DOWN,
AcceleratorAction::kToggleFullscreen},
// [kBrightnessUp] has alias accelerator.
{/*trigger_on_press=*/true, ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE,
AcceleratorAction::kBrightnessUp},
@ -3069,12 +3065,12 @@ TEST_F(AcceleratorConfigurationProviderTest, GetDefaultAcceleratorsForId) {
// Verify hidden accelerator is filtered.
provider_->GetDefaultAcceleratorsForId(
AcceleratorAction::kOpenGetHelp,
AcceleratorAction::kToggleFullscreen,
base::BindLambdaForTesting(
[&](const std::vector<ui::Accelerator>& default_accelerators) {
// [shift + control + /] is filtered out.
const ui::Accelerator expected_accelerator(ui::VKEY_OEM_2,
ui::EF_CONTROL_DOWN);
// [shift + zoom] is filtered out.
const ui::Accelerator expected_accelerator(ui::VKEY_F,
ui::EF_COMMAND_DOWN);
EXPECT_EQ(1u, default_accelerators.size());
EXPECT_TRUE(expected_accelerator == default_accelerators[0]);
}));

@ -22,9 +22,9 @@ namespace ash {
namespace {
// The total number of Ash accelerators.
constexpr int kAshAcceleratorsTotalNum = 149;
constexpr int kAshAcceleratorsTotalNum = 148;
// The hash of Ash accelerators.
constexpr char kAshAcceleratorsHash[] = "f473ee697346ca5622c887d3155daded";
constexpr char kAshAcceleratorsHash[] = "9dc7c4b4097c3e8d3f091e5e5e32a763";
std::string ToActionName(ash::AcceleratorAction action) {
return base::StrCat(