mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-10-26 13:27:27 +00:00
47 lines
1.3 KiB
JavaScript
47 lines
1.3 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
/**
|
|
* Tests whether the profiler actor correctly handles the case where the
|
|
* built-in module was already started.
|
|
*/
|
|
|
|
const Profiler = Cc["@mozilla.org/tools/profiler;1"].getService(Ci.nsIProfiler);
|
|
const WAIT_TIME = 1000; // ms
|
|
|
|
function run_test()
|
|
{
|
|
// Ensure the profiler is already running when the test starts.
|
|
Profiler.StartProfiler(1000000, 1, ["js"], 1);
|
|
|
|
DevToolsUtils.waitForTime(WAIT_TIME).then(() => {
|
|
|
|
get_chrome_actors((client, form) => {
|
|
let actor = form.profilerActor;
|
|
test_start_time(client, actor, () => {
|
|
client.close(do_test_finished);
|
|
});
|
|
});
|
|
});
|
|
|
|
do_test_pending();
|
|
}
|
|
|
|
function test_start_time(client, actor, callback) {
|
|
// Profiler should already be active at this point.
|
|
client.request({ to: actor, type: "isActive" }, firstResponse => {
|
|
do_check_true(Profiler.IsActive());
|
|
do_check_true(firstResponse.isActive);
|
|
do_check_true(firstResponse.currentTime > 0);
|
|
|
|
client.request({ to: actor, type: "getProfile" }, secondResponse => {
|
|
do_check_true("profile" in secondResponse);
|
|
do_check_true(secondResponse.currentTime > firstResponse.currentTime);
|
|
|
|
callback();
|
|
});
|
|
});
|
|
}
|