commit | 08068fedc5eec4fbc412f0d65c01cab64eac6613 | [log] [tgz] |
---|---|---|
author | Andrea Orru <andreaorru@chromium.org> | Wed Aug 13 22:45:10 2025 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Aug 13 22:45:10 2025 |
tree | c68d3c8b8f7af775406792b75e9bec28c1bf63e3 | |
parent | 3ff41a90fce7fbd9b1a3d177aab66612079a07c5 [diff] |
[Extensions] Fix cleared keyboard shortcuts from reverting to default When a user clears a keyboard shortcut for an extension command, the change is currently not persisted - the shortcut reverts to the default value defined in the extension's manifest. This is because the command service doesn't correctly handle a user-initiated "unset" state. It treats a cleared shortcut identically to a shortcut that had never been assigned, causing it to fall back to the manifest default. This change introduces two key fixes to ensure a cleared shortcut remains cleared: - When a keybinding is removed, the associated `was_assigned` flag in the extension's preferences is also removed. - The logic for retrieving commands now respects a user's modification. If a user has changed a shortcut, the stored value, even if empty, is used instead of the manifest default. Bug: 436279086 Change-Id: I8961f494cacd11a08f276f9ba2fca6068d19c6f1 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6821920 Reviewed-by: Devlin Cronin <rdevlin.cronin@chromium.org> Commit-Queue: Andrea Orru <andreaorru@chromium.org> Cr-Commit-Position: refs/heads/main@{#1501072}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone
! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure.
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.