diff options
| author | Stephen Blott | 2015-06-04 13:44:46 +0100 |
|---|---|---|
| committer | Stephen Blott | 2015-06-04 13:44:50 +0100 |
| commit | 5901968be865588c2444055f8e63916a22c01156 (patch) | |
| tree | 411be88d94137026e2c4453461d4793691cee21e /background_scripts | |
| parent | 01dce1cd588adc2306dd4ea02399ac9ba97372df (diff) | |
| download | vimium-5901968be865588c2444055f8e63916a22c01156.tar.bz2 | |
Global marks; use chrome.tabs.query.
(As suggested by @mrmr1993 in #1716.)
Diffstat (limited to 'background_scripts')
| -rw-r--r-- | background_scripts/marks.coffee | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/background_scripts/marks.coffee b/background_scripts/marks.coffee index f599cfe3..6692dc6f 100644 --- a/background_scripts/marks.coffee +++ b/background_scripts/marks.coffee @@ -63,18 +63,16 @@ Marks = # The tab we're trying to find no longer exists. We either find another tab with a matching URL and use it, # or we create a new tab. focusOrLaunch: (markInfo) -> - chrome.windows.getAll { populate: true }, (windows) => - for window in windows - for tab in window.tabs - if markInfo.url == @getBaseUrl tab.url - # We have a matching tab: use it. - @gotoPositionInTab extend markInfo, tabId: tab.id - return - # There is no existing matching tab, we'll have to create one. - chrome.tabs.create { url: @getBaseUrl markInfo.url }, (tab) => - # Note. tabLoadedHandlers is defined in "main.coffee". The handler below will be called when the tab - # is loaded, its DOM is ready and it registers with the background page. - tabLoadedHandlers[tab.id] = => @gotoPositionInTab extend markInfo, tabId: tab.id + chrome.tabs.query { url: markInfo.url }, (tabs) => + if 0 < tabs.length + # We have a matching tab: use it. + @gotoPositionInTab extend markInfo, tabId: tabs[0].id + else + # There is no existing matching tab, we'll have to create one. + chrome.tabs.create { url: @getBaseUrl markInfo.url }, (tab) => + # Note. tabLoadedHandlers is defined in "main.coffee". The handler below will be called when the tab + # is loaded, its DOM is ready and it registers with the background page. + tabLoadedHandlers[tab.id] = => @gotoPositionInTab extend markInfo, tabId: tab.id root = exports ? window root.Marks = Marks |
