mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-06-02 09:59:57 +00:00
53 lines
1.3 KiB
JavaScript
53 lines
1.3 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
var gClient;
|
|
var gMgr;
|
|
var gRefMemory;
|
|
|
|
function run_test() {
|
|
gMgr = Cc["@mozilla.org/memory-reporter-manager;1"].getService(Ci.nsIMemoryReporterManager);
|
|
Cu.forceGC();
|
|
gRefMemory = gMgr.residentUnique;
|
|
|
|
add_test(init_server);
|
|
add_test(add_browser_actors);
|
|
add_test(connect_client);
|
|
add_test(list_tabs);
|
|
add_test(close_client);
|
|
run_next_test();
|
|
}
|
|
|
|
function check_footprint(step, max) {
|
|
var footprint = (gMgr.residentUnique - gRefMemory) / 1024;
|
|
ok(footprint < max, "Footprint after " + step + " is " + footprint + " kB (should be less than " + max + " kB).");
|
|
run_next_test();
|
|
}
|
|
|
|
function init_server() {
|
|
DebuggerServer.init();
|
|
check_footprint("DebuggerServer.init()", 500);
|
|
}
|
|
|
|
function add_browser_actors() {
|
|
DebuggerServer.addBrowserActors();
|
|
check_footprint("DebuggerServer.addBrowserActors()", 12000);
|
|
}
|
|
|
|
function connect_client() {
|
|
gClient = new DebuggerClient(DebuggerServer.connectPipe());
|
|
gClient.connect(function onConnect() {
|
|
check_footprint("DebuggerClient.connect()", 12500);
|
|
});
|
|
}
|
|
|
|
function list_tabs() {
|
|
gClient.listTabs(function onListTabs(aResponse) {
|
|
check_footprint("DebuggerClient.listTabs()", 13000);
|
|
});
|
|
}
|
|
|
|
function close_client() {
|
|
gClient.close(run_next_test);
|
|
}
|