From 886af16f164497637bf8a89002d7d4e9d144db7d Mon Sep 17 00:00:00 2001 From: Kris Maglione Date: Mon, 27 Sep 2010 22:22:54 -0400 Subject: [PATCH] Fix :buffer matching for lazily loaded background tabs. --- common/content/tabs.js | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/common/content/tabs.js b/common/content/tabs.js index 29d3eeb1..c3e0cce0 100644 --- a/common/content/tabs.js +++ b/common/content/tabs.js @@ -462,19 +462,15 @@ const Tabs = Module("tabs", { matches = []; let lowerBuffer = buffer.toLowerCase(); let first = tabs.index() + (reverse ? 0 : 1); - let nbrowsers = config.tabbrowser.browsers.length; - for (let [i, ] in tabs.browsers) { - let index = (i + first) % nbrowsers; - let browser = config.tabbrowser.getBrowserAtIndex(index); - let url = browser.contentDocument.location.href; - let title = browser.contentDocument.title.toLowerCase(); - if (url == buffer) { - tabs.select(index, false); - return; - } + let allTabs = tabs.allTabs; + for (let [i, ] in Iterator(tabs.allTabs)) { + let tab = allTabs[(i + first) % allTabs.length]; + let url = tab.linkedBrowser.contentDocument.location.href; + if (url == buffer) + return tabs.select(index, false); - if (url.indexOf(buffer) >= 0 || title.indexOf(lowerBuffer) >= 0) - matches.push(browser); + if (url.indexOf(buffer) >= 0 || tab.label.toLowerCase().indexOf(lowerBuffer) >= 0) + matches.push(tab); } if (matches.length == 0) @@ -485,9 +481,7 @@ const Tabs = Module("tabs", { let index = (count - 1) % matches.length; if (reverse) index = matches.length - count; - - index = Array.indexOf(config.tabbrowser.browsers, matches[index]); - tabs.select(index, false); + tabs.select(matches[index], false); } },