|
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/ */ |
|
4 |
|
5 // Tests that if a link in console is double clicked, the console frame doesn't |
|
6 // navigate to that destination (bug 975707). |
|
7 |
|
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); |
|
15 |
|
16 function* runner() { |
|
17 const TEST_PAGE_URI = "http://example.com/browser/browser/devtools/webconsole/test/test-console.html" + "?_uniq=" + Date.now(); |
|
18 |
|
19 const {tab} = yield loadTab("data:text/html;charset=utf8,<p>hello</p>"); |
|
20 const hud = yield openConsole(tab); |
|
21 |
|
22 content.location = TEST_PAGE_URI; |
|
23 |
|
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 }); |
|
32 |
|
33 let networkEventMessage = messages[0].matched.values().next().value; |
|
34 let urlNode = networkEventMessage.querySelector(".url"); |
|
35 |
|
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."); |
|
40 |
|
41 deferred.resolve(); |
|
42 }); |
|
43 |
|
44 EventUtils.synthesizeMouseAtCenter(urlNode, {clickCount: 2}, hud.iframeWindow); |
|
45 |
|
46 yield deferred.promise; |
|
47 } |
|
48 } |