From 2d21dc91b2bde362ca656e685e8fda18df8db7b8 Mon Sep 17 00:00:00 2001 From: girst Date: Sun, 7 Apr 2024 19:57:55 +0200 Subject: [PATCH] fix 'H', 'L', 't', 'T', 'r', 'R', 's', 'gh' in mozilla126 these were moved to a utility class and converted from plain functions to class methods. because BrowserCommands.reload*() calls this.reloadWithFlags(...), we can't use (a or b)() as that clobbers the scope of `this`. that could be worked around like so, but that's horrid: (vim.window.BrowserCommands?.reload.bind(vim.window.BrowserCommands) or vim.window.BrowserReload)() regressed-by: https://bugzilla.mozilla.org/show_bug.cgi?id=1880914 --- extension/lib/commands.coffee | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/extension/lib/commands.coffee b/extension/lib/commands.coffee index 85c7f15..ad8bf41 100644 --- a/extension/lib/commands.coffee +++ b/extension/lib/commands.coffee @@ -32,6 +32,7 @@ commands.focus_location_bar = ({vim}) -> commands.focus_search_bar = ({vim, count}) -> # The `.webSearch()` method opens a search engine in a tab if the search bar # has been removed. Therefore we first check if it exists. + # TODO(Bug 1880913): might move to BrowserCommands too if vim.window.BrowserSearch.searchBar vim.window.BrowserSearch.webSearch() else @@ -63,7 +64,7 @@ commands.go_to_root = ({vim}) -> vim._run('go_to_root') commands.go_home = ({vim}) -> - vim.window.BrowserHome() + (vim.window.BrowserCommands?.home or vim.window.BrowserHome)() # fx126 helper_go_history = (direction, {vim, count = 1}) -> {window} = vim @@ -83,9 +84,9 @@ helper_go_history = (direction, {vim, count = 1}) -> # better interoperability. if count == 1 if direction == 'back' - window.BrowserBack() + (window.BrowserCommands?.back or window.BrowserBack)() # fx126 else - window.BrowserForward() + (window.BrowserCommands?.forward or window.BrowserForward)() # fx126 return SessionStore.getSessionHistory(gBrowser.selectedTab, (sessionHistory) -> @@ -107,10 +108,16 @@ commands.history_list = ({vim}) -> vim.notify(translate('notification.history_list.none')) commands.reload = ({vim}) -> - vim.window.BrowserReload() + try + vim.window.BrowserCommands.reload() # >=fx126 + catch + vim.window.BrowserReload() # <=fx125 commands.reload_force = ({vim}) -> - vim.window.BrowserReloadSkipCache() + try + vim.window.BrowserCommands.reloadSkipCache() # >=fx126 + catch + vim.window.BrowserReloadSkipCache() # <=fx125 commands.reload_all = ({vim}) -> vim.window.gBrowser.reloadAllTabs() @@ -124,7 +131,7 @@ commands.reload_all_force = ({vim}) -> return commands.stop = ({vim}) -> - vim.window.BrowserStop() + (vim.window.BrowserCommands?.stop or vim.window.BrowserStop)() # fx126 commands.stop_all = ({vim}) -> for tab in vim.window.gBrowser.visibleTabs @@ -277,7 +284,7 @@ commands.scroll_to_next_position = commands.tab_new = ({vim}) -> utils.nextTick(vim.window, -> - vim.window.BrowserOpenTab() + (vim.window.BrowserCommands?.openTab or vim.window.BrowserOpenTab)() # fx126 ) commands.tab_new_after_current = ({vim}) -> @@ -288,7 +295,7 @@ commands.tab_new_after_current = ({vim}) -> newTab = event.originalTarget window.gBrowser.moveTabTo(newTab, newTabPosition) ) - window.BrowserOpenTab() + (window.BrowserCommands?.openTab or window.BrowserOpenTab)() # fx126 ) commands.tab_duplicate = ({vim}) -> -- 2.39.3