michael@0: /* Any copyright is dedicated to the Public Domain. michael@0: http://creativecommons.org/publicdomain/zero/1.0/ */ michael@0: michael@0: const TEST_BASE = "chrome://mochitests/content/browser/browser/devtools/eyedropper/test/"; michael@0: const TEST_HOST = 'mochi.test:8888'; michael@0: michael@0: let { devtools } = Components.utils.import("resource://gre/modules/devtools/Loader.jsm", {}); michael@0: const { Eyedropper, EyedropperManager } = devtools.require("devtools/eyedropper/eyedropper"); michael@0: michael@0: let testDir = gTestPath.substr(0, gTestPath.lastIndexOf("/")); michael@0: Services.scriptloader.loadSubScript(testDir + "../../../commandline/test/helpers.js", this); michael@0: michael@0: waitForExplicitFinish(); michael@0: michael@0: function cleanup() michael@0: { michael@0: while (gBrowser.tabs.length > 1) { michael@0: gBrowser.removeCurrentTab(); michael@0: } michael@0: } michael@0: michael@0: registerCleanupFunction(cleanup); michael@0: michael@0: function addTab(uri) { michael@0: let deferred = promise.defer(); michael@0: michael@0: let tab = gBrowser.addTab(); michael@0: michael@0: gBrowser.selectedTab = tab; michael@0: gBrowser.selectedBrowser.addEventListener("load", function onLoad() { michael@0: gBrowser.selectedBrowser.removeEventListener("load", onLoad, true); michael@0: deferred.resolve(tab); michael@0: }, true); michael@0: michael@0: content.location = uri; michael@0: michael@0: return deferred.promise; michael@0: } michael@0: michael@0: function dropperLoaded(dropper) { michael@0: if (dropper.loaded) { michael@0: return promise.resolve(); michael@0: } michael@0: return dropper.once("load"); michael@0: }