|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 http://creativecommons.org/publicdomain/zero/1.0/ */ |
|
3 |
|
4 let { DebuggerServer } = |
|
5 Cu.import("resource://gre/modules/devtools/dbg-server.jsm", {}); |
|
6 let { DebuggerClient } = |
|
7 Cu.import("resource://gre/modules/devtools/dbg-client.jsm", {}); |
|
8 let { devtools } = |
|
9 Cu.import("resource://gre/modules/devtools/Loader.jsm", {}); |
|
10 |
|
11 // Ensure target is closed if client is closed directly |
|
12 function test() { |
|
13 waitForExplicitFinish(); |
|
14 |
|
15 if (!DebuggerServer.initialized) { |
|
16 DebuggerServer.init(function () { return true; }); |
|
17 DebuggerServer.addBrowserActors(); |
|
18 } |
|
19 |
|
20 var client = new DebuggerClient(DebuggerServer.connectPipe()); |
|
21 client.connect(() => { |
|
22 client.listTabs(response => { |
|
23 let options = { |
|
24 form: response, |
|
25 client: client, |
|
26 chrome: true |
|
27 }; |
|
28 |
|
29 devtools.TargetFactory.forRemoteTab(options).then(target => { |
|
30 target.on("close", () => { |
|
31 ok(true, "Target was closed"); |
|
32 DebuggerServer.destroy(); |
|
33 finish(); |
|
34 }); |
|
35 client.close(); |
|
36 }); |
|
37 }); |
|
38 }); |
|
39 } |