mirror of
https://github.com/classilla/tenfourfox.git
synced 2026-04-19 06:25:12 +00:00
66 lines
1.8 KiB
JavaScript
66 lines
1.8 KiB
JavaScript
var Cu = Components.utils;
|
|
var Cc = Components.classes;
|
|
var Ci = Components.interfaces;
|
|
|
|
Cu.import("resource://gre/modules/Services.jsm");
|
|
|
|
// Always log packets when running tests.
|
|
Services.prefs.setBoolPref("devtools.debugger.log", true);
|
|
SimpleTest.registerCleanupFunction(function() {
|
|
Services.prefs.clearUserPref("devtools.debugger.log");
|
|
});
|
|
|
|
Cu.import("resource://gre/modules/Task.jsm");
|
|
var { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
|
|
var { DebuggerClient } = require("devtools/shared/client/main");
|
|
var { DebuggerServer } = require("devtools/server/main");
|
|
|
|
var { MemoryFront } = require("devtools/server/actors/memory");
|
|
|
|
function startServerAndGetSelectedTabMemory() {
|
|
DebuggerServer.init();
|
|
DebuggerServer.addBrowserActors();
|
|
var client = new DebuggerClient(DebuggerServer.connectPipe());
|
|
|
|
return new Promise((resolve, reject) => {
|
|
client.connect(response => {
|
|
if (response.error) {
|
|
reject(new Error(response.error + ": " + response.message));
|
|
return;
|
|
}
|
|
|
|
client.listTabs(response => {
|
|
if (response.error) {
|
|
reject(new Error(response.error + ": " + response.message));
|
|
return;
|
|
}
|
|
|
|
var form = response.tabs[response.selected];
|
|
var memory = MemoryFront(client, form, response);
|
|
|
|
resolve({ memory, client });
|
|
});
|
|
});
|
|
});
|
|
}
|
|
|
|
function destroyServerAndFinish(client) {
|
|
client.close(() => {
|
|
DebuggerServer.destroy();
|
|
SimpleTest.finish()
|
|
});
|
|
}
|
|
|
|
function waitForTime(ms) {
|
|
return new Promise((resolve, reject) => {
|
|
setTimeout(resolve, ms);
|
|
});
|
|
}
|
|
|
|
function waitUntil(predicate) {
|
|
if (predicate()) {
|
|
return Promise.resolve(true);
|
|
}
|
|
return new Promise(resolve => setTimeout(() => waitUntil(predicate).then(() => resolve(true)), 10));
|
|
}
|