diff options
| author | Stephen Blott | 2018-02-13 14:43:25 +0000 |
|---|---|---|
| committer | Stephen Blott | 2018-02-13 14:43:25 +0000 |
| commit | 2128ef3a4b6bb989323200578b230dfb1e178c2e (patch) | |
| tree | e3f176db9bc727243c937480a4b62264cf191304 | |
| parent | 43786d3024fa21663480fe76b9a122b3d8325f55 (diff) | |
| download | vimium-2128ef3a4b6bb989323200578b230dfb1e178c2e.tar.bz2 | |
Make the reload command accept a count.
Move the `reload` command to the background page and make it accept a
count prefix.
Fixes #674.
Althought the demand for this is low and the use cases limited, it is a
very vim-ish extension to the existing command.
| -rw-r--r-- | background_scripts/commands.coffee | 2 | ||||
| -rw-r--r-- | background_scripts/main.coffee | 9 | ||||
| -rw-r--r-- | content_scripts/mode_normal.coffee | 5 |
3 files changed, 11 insertions, 5 deletions
diff --git a/background_scripts/commands.coffee b/background_scripts/commands.coffee index f3ae3bd9..0573b9c1 100644 --- a/background_scripts/commands.coffee +++ b/background_scripts/commands.coffee @@ -336,7 +336,7 @@ commandDescriptions = scrollFullPageDown: ["Scroll a full page down"] scrollFullPageUp: ["Scroll a full page up"] - reload: ["Reload the page", { noRepeat: true }] + reload: ["Reload the page", { background: true }] toggleViewSource: ["View page source", { noRepeat: true }] copyCurrentUrl: ["Copy the current URL to the clipboard", { noRepeat: true }] diff --git a/background_scripts/main.coffee b/background_scripts/main.coffee index 70d97ca0..78bfce4c 100644 --- a/background_scripts/main.coffee +++ b/background_scripts/main.coffee @@ -235,6 +235,15 @@ BackgroundCommands = tabIds = BgUtils.tabRecency.getTabsByRecency().filter (tabId) -> tabId != tab.id if 0 < tabIds.length selectSpecificTab id: tabIds[(count-1) % tabIds.length] + reload: ({count, tabId, registryEntry, tab: {windowId}})-> + bypassCache = registryEntry.options.hard ? false + chrome.tabs.query {windowId}, (tabs) -> + position = do -> + for tab, index in tabs + return index if tab.id == tabId + tabs = [tabs[position...]..., tabs[...position]...] + count = Math.min count, tabs.length + chrome.tabs.reload tab.id, {bypassCache} for tab in tabs[...count] # Remove tabs before, after, or either side of the currently active tab removeTabsRelative = (direction, {tab: activeTab}) -> diff --git a/content_scripts/mode_normal.coffee b/content_scripts/mode_normal.coffee index 1fe0618e..0cfcfc66 100644 --- a/content_scripts/mode_normal.coffee +++ b/content_scripts/mode_normal.coffee @@ -59,10 +59,7 @@ NormalModeCommands = scrollLeft: (count) -> Scroller.scrollBy "x", -1 * Settings.get("scrollStepSize") * count scrollRight: (count) -> Scroller.scrollBy "x", Settings.get("scrollStepSize") * count - # Page state. - reload: (count, options) -> - hard = options.registryEntry.options.hard ? false - window.location.reload(hard) + # Tab navigation: back, forward. goBack: (count) -> history.go(-count) goForward: (count) -> history.go(count) |
