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:

committed by
Chromium LUCI CQ

parent
ce28344a4c
commit
fd37b726da
ash
@ -38,18 +38,26 @@ const AcceleratorData kDeprecatedAccelerators[] = {
|
|||||||
AcceleratorAction::kShowShortcutViewer},
|
AcceleratorAction::kShowShortcutViewer},
|
||||||
{true, ui::VKEY_OEM_2,
|
{true, ui::VKEY_OEM_2,
|
||||||
ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN,
|
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
|
// `kShowShortcutViewer` and `kOpenGetHelp` both have two accelerators that are
|
||||||
// same message.
|
// deprecated but use the same message.
|
||||||
const size_t kNumDeprecatedAcceleratorsDuplicate = 1u;
|
const size_t kNumDeprecatedAcceleratorsDuplicate = 2u;
|
||||||
const size_t kDeprecatedAcceleratorsLength = std::size(kDeprecatedAccelerators);
|
const size_t kDeprecatedAcceleratorsLength = std::size(kDeprecatedAccelerators);
|
||||||
|
|
||||||
const DeprecatedAcceleratorData kDeprecatedAcceleratorsData[] = {
|
const DeprecatedAcceleratorData kDeprecatedAcceleratorsData[] = {
|
||||||
{AcceleratorAction::kShowShortcutViewer,
|
{AcceleratorAction::kShowShortcutViewer,
|
||||||
"Ash.Accelerators.Deprecated.ShowShortcutViewer",
|
"Ash.Accelerators.Deprecated.ShowShortcutViewer",
|
||||||
IDS_DEPRECATED_SHOW_SHORTCUT_VIEWER_MSG,
|
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 =
|
const size_t kDeprecatedAcceleratorsDataLength =
|
||||||
std::size(kDeprecatedAcceleratorsData);
|
std::size(kDeprecatedAcceleratorsData);
|
||||||
|
@ -16,10 +16,10 @@ namespace ash {
|
|||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
// The number of non-Search-based accelerators.
|
// The number of non-Search-based accelerators.
|
||||||
constexpr int kNonSearchAcceleratorsNum = 109;
|
constexpr int kNonSearchAcceleratorsNum = 107;
|
||||||
// The hash of non-Search-based accelerators. See HashAcceleratorData().
|
// The hash of non-Search-based accelerators. See HashAcceleratorData().
|
||||||
constexpr char kNonSearchAcceleratorsHash[] =
|
constexpr char kNonSearchAcceleratorsHash[] =
|
||||||
"f59bc0d21b6c243361b02c8cbae92f0e";
|
"fb4ed36bdb78ed9f9767adb03adc4909";
|
||||||
|
|
||||||
struct Cmp {
|
struct Cmp {
|
||||||
bool operator()(const AcceleratorData& lhs,
|
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.">
|
<message name="IDS_SHORTCUT_SHOW_SHORTCUT_VIEWER_NEW" desc="the new shortcut to open the shortcut viewer app.">
|
||||||
ctrl+search+s
|
ctrl+search+s
|
||||||
</message>
|
</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"
|
<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.">
|
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>".
|
Open Key Shortcuts app with "<ph name="NEW_SHORTCUT">$1<ex>ctrl + search + s</ex></ph>".
|
||||||
</message>
|
</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"
|
<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.">
|
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>.
|
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},
|
AcceleratorAction::kOpenDiagnostics},
|
||||||
{true, ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN,
|
{true, ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN,
|
||||||
AcceleratorAction::kOpenFileManager},
|
AcceleratorAction::kOpenFileManager},
|
||||||
{true, ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN,
|
{true, ui::VKEY_H, ui::EF_COMMAND_DOWN, AcceleratorAction::kOpenGetHelp},
|
||||||
AcceleratorAction::kOpenGetHelp},
|
|
||||||
{true, ui::VKEY_OEM_2, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
|
|
||||||
AcceleratorAction::kOpenGetHelp},
|
|
||||||
{true, ui::VKEY_T, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
|
{true, ui::VKEY_T, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
|
||||||
AcceleratorAction::kOpenCrosh},
|
AcceleratorAction::kOpenCrosh},
|
||||||
{true, ui::VKEY_I, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
|
{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,
|
IDS_KSV_DESCRIPTION_OPEN_GET_HELP,
|
||||||
{},
|
{},
|
||||||
// |accelerator_ids|
|
// |accelerator_ids|
|
||||||
{{ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN}}},
|
{{ui::VKEY_H, ui::EF_COMMAND_DOWN}}},
|
||||||
|
|
||||||
{// |categories|
|
{// |categories|
|
||||||
{ShortcutCategory::kSystemAndDisplay},
|
{ShortcutCategory::kSystemAndDisplay},
|
||||||
|
@ -209,10 +209,6 @@ const HiddenAcceleratorMap& GetHiddenAcceleratorMap() {
|
|||||||
{AcceleratorAction::kShowShortcutViewer,
|
{AcceleratorAction::kShowShortcutViewer,
|
||||||
{ui::Accelerator(ui::VKEY_F14, ui::EF_NONE,
|
{ui::Accelerator(ui::VKEY_F14, ui::EF_NONE,
|
||||||
ui::Accelerator::KeyState::PRESSED)}},
|
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,
|
{AcceleratorAction::kToggleFullscreen,
|
||||||
{ui::Accelerator(ui::VKEY_ZOOM, ui::EF_SHIFT_DOWN,
|
{ui::Accelerator(ui::VKEY_ZOOM, ui::EF_SHIFT_DOWN,
|
||||||
ui::Accelerator::KeyState::PRESSED)}},
|
ui::Accelerator::KeyState::PRESSED)}},
|
||||||
|
@ -643,9 +643,6 @@ TEST_F(AcceleratorConfigurationProviderTest, FilterOutHiddenAccelerators) {
|
|||||||
AcceleratorAction::kToggleAppList},
|
AcceleratorAction::kToggleAppList},
|
||||||
{/*trigger_on_press=*/true, ui::VKEY_F14, ui::EF_NONE,
|
{/*trigger_on_press=*/true, ui::VKEY_F14, ui::EF_NONE,
|
||||||
AcceleratorAction::kShowShortcutViewer},
|
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,
|
{/*trigger_on_press=*/false, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN,
|
||||||
AcceleratorAction::kSwitchToLastUsedIme},
|
AcceleratorAction::kSwitchToLastUsedIme},
|
||||||
{/*trigger_on_press=*/true, ui::VKEY_ZOOM, ui::EF_SHIFT_DOWN,
|
{/*trigger_on_press=*/true, ui::VKEY_ZOOM, ui::EF_SHIFT_DOWN,
|
||||||
@ -3036,12 +3033,11 @@ TEST_F(AcceleratorConfigurationProviderTest, GetDefaultAcceleratorsForId) {
|
|||||||
// [kToggleMirrorMode] is normal accelerator.
|
// [kToggleMirrorMode] is normal accelerator.
|
||||||
{/*trigger_on_press=*/true, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN,
|
{/*trigger_on_press=*/true, ui::VKEY_SPACE, ui::EF_CONTROL_DOWN,
|
||||||
AcceleratorAction::kToggleMirrorMode},
|
AcceleratorAction::kToggleMirrorMode},
|
||||||
// [kOpenHelp] has one accelerator that will be hidden.
|
// [kToggleFullscreen] has one accelerator that will be hidden.
|
||||||
{/*trigger_on_press=*/true, ui::VKEY_OEM_2,
|
{/*trigger_on_press=*/true, ui::VKEY_ZOOM, ui::EF_SHIFT_DOWN,
|
||||||
ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN,
|
AcceleratorAction::kToggleFullscreen},
|
||||||
AcceleratorAction::kOpenGetHelp},
|
{/*trigger_on_press=*/true, ui::VKEY_F, ui::EF_COMMAND_DOWN,
|
||||||
{/*trigger_on_press=*/true, ui::VKEY_OEM_2, ui::EF_CONTROL_DOWN,
|
AcceleratorAction::kToggleFullscreen},
|
||||||
AcceleratorAction::kOpenGetHelp},
|
|
||||||
// [kBrightnessUp] has alias accelerator.
|
// [kBrightnessUp] has alias accelerator.
|
||||||
{/*trigger_on_press=*/true, ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE,
|
{/*trigger_on_press=*/true, ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE,
|
||||||
AcceleratorAction::kBrightnessUp},
|
AcceleratorAction::kBrightnessUp},
|
||||||
@ -3069,12 +3065,12 @@ TEST_F(AcceleratorConfigurationProviderTest, GetDefaultAcceleratorsForId) {
|
|||||||
|
|
||||||
// Verify hidden accelerator is filtered.
|
// Verify hidden accelerator is filtered.
|
||||||
provider_->GetDefaultAcceleratorsForId(
|
provider_->GetDefaultAcceleratorsForId(
|
||||||
AcceleratorAction::kOpenGetHelp,
|
AcceleratorAction::kToggleFullscreen,
|
||||||
base::BindLambdaForTesting(
|
base::BindLambdaForTesting(
|
||||||
[&](const std::vector<ui::Accelerator>& default_accelerators) {
|
[&](const std::vector<ui::Accelerator>& default_accelerators) {
|
||||||
// [shift + control + /] is filtered out.
|
// [shift + zoom] is filtered out.
|
||||||
const ui::Accelerator expected_accelerator(ui::VKEY_OEM_2,
|
const ui::Accelerator expected_accelerator(ui::VKEY_F,
|
||||||
ui::EF_CONTROL_DOWN);
|
ui::EF_COMMAND_DOWN);
|
||||||
EXPECT_EQ(1u, default_accelerators.size());
|
EXPECT_EQ(1u, default_accelerators.size());
|
||||||
EXPECT_TRUE(expected_accelerator == default_accelerators[0]);
|
EXPECT_TRUE(expected_accelerator == default_accelerators[0]);
|
||||||
}));
|
}));
|
||||||
|
@ -22,9 +22,9 @@ namespace ash {
|
|||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
// The total number of Ash accelerators.
|
// The total number of Ash accelerators.
|
||||||
constexpr int kAshAcceleratorsTotalNum = 149;
|
constexpr int kAshAcceleratorsTotalNum = 148;
|
||||||
// The hash of Ash accelerators.
|
// The hash of Ash accelerators.
|
||||||
constexpr char kAshAcceleratorsHash[] = "f473ee697346ca5622c887d3155daded";
|
constexpr char kAshAcceleratorsHash[] = "9dc7c4b4097c3e8d3f091e5e5e32a763";
|
||||||
|
|
||||||
std::string ToActionName(ash::AcceleratorAction action) {
|
std::string ToActionName(ash::AcceleratorAction action) {
|
||||||
return base::StrCat(
|
return base::StrCat(
|
||||||
|
Reference in New Issue
Block a user