From 400b820e017ebc6515c80332bbb4562a35ebbaa3 Mon Sep 17 00:00:00 2001 From: Marco Bonardo Date: Wed, 17 Nov 2010 10:25:13 -0800 Subject: [PATCH] Bug 612609 - browser_discovery.js is permaorange on Places branch. r=sdwilsh a=blocking --- browser/base/content/test/browser_discovery.js | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/browser/base/content/test/browser_discovery.js b/browser/base/content/test/browser_discovery.js index c82d4dd0496..61098fbef9c 100644 --- a/browser/base/content/test/browser_discovery.js +++ b/browser/base/content/test/browser_discovery.js @@ -1,13 +1,12 @@ -var currentHandler; var browser; function doc() browser.contentDocument; function setHandlerFunc(aResultFunc) { - if (currentHandler) - gBrowser.removeEventListener("DOMLinkAdded", currentHandler, false); - gBrowser.addEventListener("DOMLinkAdded", aResultFunc, false); - currentHandler = aResultFunc; + gBrowser.addEventListener("DOMLinkAdded", function (event) { + gBrowser.removeEventListener("DOMLinkAdded", arguments.callee, false); + executeSoon(aResultFunc); + }, false); } function test() { @@ -49,8 +48,8 @@ function runIconDiscoveryTest() { } function iconDiscovery() { - setHandlerFunc(runIconDiscoveryTest); if (iconDiscoveryTests.length) { + setHandlerFunc(runIconDiscoveryTest); gBrowser.setIcon(gBrowser.selectedTab, null); var test = iconDiscoveryTests[0]; @@ -59,7 +58,7 @@ function iconDiscovery() { var rootDir = getRootDirectory(gTestPath); var rel = test.rel || "icon"; - var href = test.href || rootDir + "/moz.png"; + var href = test.href || rootDir + "moz.png"; var type = test.type || "image/png"; if (test.pass == undefined) test.pass = true; @@ -119,7 +118,6 @@ function runMultipleEnginesTestAndFinalize() { is(browser.engines[0].uri, "http://first.mozilla.com/search.xml", "first engine wins"); gBrowser.removeCurrentTab(); - gBrowser.removeEventListener("DOMLinkAdded", currentHandler, false); finish(); } @@ -144,6 +142,7 @@ function searchDiscovery() { link.title = title; head.appendChild(link); } else { + setHandlerFunc(runMultipleEnginesTestAndFinalize); setHandlerFunc(runMultipleEnginesTestAndFinalize); // Test multiple engines with the same title var link = doc().createElement("link");