gecko-dev/dom/ipc/tests/test_permission_framescript.js

32 строки
866 B
JavaScript

Components.utils.import("resource://gre/modules/Services.jsm");
var cm = Services.crashmanager;
var cpIdList = [];
var shutdownObs = {
observe: function(subject, topic, data) {
if (topic == 'ipc:content-shutdown') {
var index = cpIdList.indexOf(parseInt(data));
if (index > -1) {
cpIdList.splice(index, 1);
sendAsyncMessage('content-shutdown', '');
}
}
}
};
var createdObs = {
observe: function(subject, topic, data) {
if (topic == 'ipc:content-created') {
cpIdList.push(parseInt(data));
sendAsyncMessage('content-created', '');
}
}
};
addMessageListener('crashreporter-status', function(message) {
sendAsyncMessage('crashreporter-enable', !!cm);
});
Services.obs.addObserver(shutdownObs, 'ipc:content-shutdown', false);
Services.obs.addObserver(createdObs, 'ipc:content-created', false);