diff --git a/src/glide/browser/base/content/test/utils/browser_keys.ts b/src/glide/browser/base/content/test/utils/browser_keys.ts index 1e7bbeec..396498de 100644 --- a/src/glide/browser/base/content/test/utils/browser_keys.ts +++ b/src/glide/browser/base/content/test/utils/browser_keys.ts @@ -87,6 +87,13 @@ const KEYS = make_keys({ "F10": { code: "F10" }, "F11": { code: "F11" }, "F12": { code: "F12" }, + "BrowserBack": { code: "BrowserBack" }, + "BrowserFavorites": { code: "BrowserFavorites" }, + "BrowserForward": { code: "BrowserForward" }, + "BrowserHome": { code: "BrowserHome" }, + "BrowserRefresh": { code: "BrowserRefresh" }, + "BrowserSearch": { code: "BrowserSearch" }, + "BrowserStop": { code: "BrowserStop" }, // standard "a": { code: "KeyA" }, @@ -277,6 +284,13 @@ add_task(async function test_event_to_ident() { is(to_key_notation(KEYS["Delete"]), ""); is(to_key_notation(KEYS["F1"]), ""); is(to_key_notation(KEYS["F12"]), ""); + is(to_key_notation(KEYS["BrowserBack"]), ""); + is(to_key_notation(KEYS["BrowserFavorites"]), ""); + is(to_key_notation(KEYS["BrowserForward"]), ""); + is(to_key_notation(KEYS["BrowserHome"]), ""); + is(to_key_notation(KEYS["BrowserRefresh"]), ""); + is(to_key_notation(KEYS["BrowserSearch"]), ""); + is(to_key_notation(KEYS["BrowserStop"]), ""); is(to_key_notation({ ...KEYS["F2"], ctrlKey: true, shiftKey: true }), ""); // Special downcast keys diff --git a/src/glide/browser/base/content/utils/keys.mts b/src/glide/browser/base/content/utils/keys.mts index 82e09b23..0cc7456c 100644 --- a/src/glide/browser/base/content/utils/keys.mts +++ b/src/glide/browser/base/content/utils/keys.mts @@ -442,6 +442,13 @@ const SPECIAL_KEY_MAP = new Map(Object.entries({ F10: "F10", F11: "F11", F12: "F12", + BrowserBack: "BrowserBack", + BrowserFavorites: "BrowserFavorites", + BrowserForward: "BrowserForward", + BrowserHome: "BrowserHome", + BrowserRefresh: "BrowserRefresh", + BrowserSearch: "BrowserSearch", + BrowserStop: "BrowserStop", // Note: see below `DOWNCAST_SPECIAL_KEY_MAP`, these characters are treated differently // from the rest of the ones defined above.