michael@0: /* Any copyright is dedicated to the Public Domain. michael@0: http://creativecommons.org/publicdomain/zero/1.0/ */ michael@0: michael@0: const URL = "data:text/html;charset=utf8,
JavaScript Profiler test
"; michael@0: michael@0: let temp = {}; michael@0: michael@0: Cu.import("resource://gre/modules/devtools/dbg-server.jsm", temp); michael@0: let DebuggerServer = temp.DebuggerServer; michael@0: michael@0: Cu.import("resource://gre/modules/devtools/dbg-client.jsm", temp); michael@0: let DebuggerClient = temp.DebuggerClient; michael@0: let debuggerSocketConnect = temp.debuggerSocketConnect; michael@0: michael@0: Cu.import("resource:///modules/devtools/profiler/controller.js", temp); michael@0: let ProfilerController = temp.ProfilerController; michael@0: michael@0: function test() { michael@0: waitForExplicitFinish(); michael@0: Services.prefs.setBoolPref(REMOTE_ENABLED, true); michael@0: michael@0: loadTab(URL, function onTabLoad(tab, browser) { michael@0: DebuggerServer.init(function () true); michael@0: DebuggerServer.addBrowserActors(); michael@0: is(DebuggerServer._socketConnections, 0); michael@0: michael@0: DebuggerServer.openListener(2929); michael@0: is(DebuggerServer._socketConnections, 1); michael@0: michael@0: let transport = debuggerSocketConnect("127.0.0.1", 2929); michael@0: let client = new DebuggerClient(transport); michael@0: client.connect(function onClientConnect() { michael@0: let target = { isRemote: true, client: client }; michael@0: let controller = new ProfilerController(target); michael@0: michael@0: controller.connect(function onControllerConnect() { michael@0: // If this callback is called, this means listTabs call worked. michael@0: // Which means that the transport worked. Time to finish up this michael@0: // test. michael@0: michael@0: function onShutdown() { michael@0: window.removeEventListener("Debugger:Shutdown", onShutdown, true); michael@0: transport = client = null; michael@0: finish(); michael@0: } michael@0: michael@0: window.addEventListener("Debugger:Shutdown", onShutdown, true); michael@0: michael@0: client.close(function () { michael@0: gBrowser.removeTab(tab); michael@0: }); michael@0: }); michael@0: }); michael@0: }); michael@0: }