1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/browser/devtools/webconsole/test/browser_webconsole_dont_navigate_on_doubleclick.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,48 @@ 1.4 +/* vim:set ts=2 sw=2 sts=2 et: */ 1.5 +/* Any copyright is dedicated to the Public Domain. 1.6 + * http://creativecommons.org/publicdomain/zero/1.0/ */ 1.7 + 1.8 +// Tests that if a link in console is double clicked, the console frame doesn't 1.9 +// navigate to that destination (bug 975707). 1.10 + 1.11 +function test() { 1.12 + let originalNetPref = Services.prefs.getBoolPref("devtools.webconsole.filter.networkinfo"); 1.13 + registerCleanupFunction(() => { 1.14 + Services.prefs.setBoolPref("devtools.webconsole.filter.networkinfo", originalNetPref); 1.15 + }); 1.16 + Services.prefs.setBoolPref("devtools.webconsole.filter.networkinfo", true); 1.17 + Task.spawn(runner).then(finishTest); 1.18 + 1.19 + function* runner() { 1.20 + const TEST_PAGE_URI = "http://example.com/browser/browser/devtools/webconsole/test/test-console.html" + "?_uniq=" + Date.now(); 1.21 + 1.22 + const {tab} = yield loadTab("data:text/html;charset=utf8,<p>hello</p>"); 1.23 + const hud = yield openConsole(tab); 1.24 + 1.25 + content.location = TEST_PAGE_URI; 1.26 + 1.27 + let messages = yield waitForMessages({ 1.28 + webconsole: hud, 1.29 + messages: [{ 1.30 + name: "Network request message", 1.31 + url: TEST_PAGE_URI, 1.32 + category: CATEGORY_NETWORK 1.33 + }] 1.34 + }); 1.35 + 1.36 + let networkEventMessage = messages[0].matched.values().next().value; 1.37 + let urlNode = networkEventMessage.querySelector(".url"); 1.38 + 1.39 + let deferred = promise.defer(); 1.40 + urlNode.addEventListener("click", function onClick(aEvent) { 1.41 + urlNode.removeEventListener("click", onClick); 1.42 + ok(aEvent.defaultPrevented, "The default action was prevented."); 1.43 + 1.44 + deferred.resolve(); 1.45 + }); 1.46 + 1.47 + EventUtils.synthesizeMouseAtCenter(urlNode, {clickCount: 2}, hud.iframeWindow); 1.48 + 1.49 + yield deferred.promise; 1.50 + } 1.51 +}