michael@0: /* vim:set ts=2 sw=2 sts=2 et: */ michael@0: /* Any copyright is dedicated to the Public Domain. michael@0: * http://creativecommons.org/publicdomain/zero/1.0/ */ michael@0: michael@0: // Tests that if a link in console is double clicked, the console frame doesn't michael@0: // navigate to that destination (bug 975707). michael@0: michael@0: function test() { michael@0: let originalNetPref = Services.prefs.getBoolPref("devtools.webconsole.filter.networkinfo"); michael@0: registerCleanupFunction(() => { michael@0: Services.prefs.setBoolPref("devtools.webconsole.filter.networkinfo", originalNetPref); michael@0: }); michael@0: Services.prefs.setBoolPref("devtools.webconsole.filter.networkinfo", true); michael@0: Task.spawn(runner).then(finishTest); michael@0: michael@0: function* runner() { michael@0: const TEST_PAGE_URI = "http://example.com/browser/browser/devtools/webconsole/test/test-console.html" + "?_uniq=" + Date.now(); michael@0: michael@0: const {tab} = yield loadTab("data:text/html;charset=utf8,
hello
"); michael@0: const hud = yield openConsole(tab); michael@0: michael@0: content.location = TEST_PAGE_URI; michael@0: michael@0: let messages = yield waitForMessages({ michael@0: webconsole: hud, michael@0: messages: [{ michael@0: name: "Network request message", michael@0: url: TEST_PAGE_URI, michael@0: category: CATEGORY_NETWORK michael@0: }] michael@0: }); michael@0: michael@0: let networkEventMessage = messages[0].matched.values().next().value; michael@0: let urlNode = networkEventMessage.querySelector(".url"); michael@0: michael@0: let deferred = promise.defer(); michael@0: urlNode.addEventListener("click", function onClick(aEvent) { michael@0: urlNode.removeEventListener("click", onClick); michael@0: ok(aEvent.defaultPrevented, "The default action was prevented."); michael@0: michael@0: deferred.resolve(); michael@0: }); michael@0: michael@0: EventUtils.synthesizeMouseAtCenter(urlNode, {clickCount: 2}, hud.iframeWindow); michael@0: michael@0: yield deferred.promise; michael@0: } michael@0: }