Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 /* vim:set ts=2 sw=2 sts=2 et: */
2 /* Any copyright is dedicated to the Public Domain.
3 * http://creativecommons.org/publicdomain/zero/1.0/ */
5 // Tests that if a link in console is double clicked, the console frame doesn't
6 // navigate to that destination (bug 975707).
8 function test() {
9 let originalNetPref = Services.prefs.getBoolPref("devtools.webconsole.filter.networkinfo");
10 registerCleanupFunction(() => {
11 Services.prefs.setBoolPref("devtools.webconsole.filter.networkinfo", originalNetPref);
12 });
13 Services.prefs.setBoolPref("devtools.webconsole.filter.networkinfo", true);
14 Task.spawn(runner).then(finishTest);
16 function* runner() {
17 const TEST_PAGE_URI = "http://example.com/browser/browser/devtools/webconsole/test/test-console.html" + "?_uniq=" + Date.now();
19 const {tab} = yield loadTab("data:text/html;charset=utf8,<p>hello</p>");
20 const hud = yield openConsole(tab);
22 content.location = TEST_PAGE_URI;
24 let messages = yield waitForMessages({
25 webconsole: hud,
26 messages: [{
27 name: "Network request message",
28 url: TEST_PAGE_URI,
29 category: CATEGORY_NETWORK
30 }]
31 });
33 let networkEventMessage = messages[0].matched.values().next().value;
34 let urlNode = networkEventMessage.querySelector(".url");
36 let deferred = promise.defer();
37 urlNode.addEventListener("click", function onClick(aEvent) {
38 urlNode.removeEventListener("click", onClick);
39 ok(aEvent.defaultPrevented, "The default action was prevented.");
41 deferred.resolve();
42 });
44 EventUtils.synthesizeMouseAtCenter(urlNode, {clickCount: 2}, hud.iframeWindow);
46 yield deferred.promise;
47 }
48 }