michael@0: function test() { michael@0: waitForExplicitFinish(); michael@0: next(); michael@0: } michael@0: michael@0: var uris = [ michael@0: "about:blank", michael@0: "about:sessionrestore", michael@0: "about:privatebrowsing", michael@0: ]; michael@0: michael@0: function next() { michael@0: var tab = gBrowser.addTab(); michael@0: var uri = uris.shift(); michael@0: michael@0: if (uri == "about:blank") { michael@0: detach(); michael@0: } else { michael@0: let browser = tab.linkedBrowser; michael@0: browser.addEventListener("load", function () { michael@0: browser.removeEventListener("load", arguments.callee, true); michael@0: detach(); michael@0: }, true); michael@0: browser.loadURI(uri); michael@0: } michael@0: michael@0: function detach() { michael@0: var win = gBrowser.replaceTabWithWindow(tab); michael@0: michael@0: whenDelayedStartupFinished(win, function () { michael@0: is(win.gBrowser.currentURI.spec, uri, uri + ": uri loaded in detached tab"); michael@0: is(win.document.activeElement, win.gBrowser.selectedBrowser, uri + ": browser is focused"); michael@0: is(win.gURLBar.value, "", uri + ": urlbar is empty"); michael@0: ok(win.gURLBar.placeholder, uri + ": placeholder text is present"); michael@0: michael@0: win.close(); michael@0: if (uris.length) michael@0: next(); michael@0: else michael@0: executeSoon(finish); michael@0: }); michael@0: } michael@0: }