зеркало из https://github.com/mozilla/gecko-dev.git
50 строки
1.4 KiB
JavaScript
50 строки
1.4 KiB
JavaScript
Cu.import("resource://gre/modules/Services.jsm");
|
|
let { WebappOSUtils } = Cu.import("resource://gre/modules/WebappOSUtils.jsm", {});
|
|
|
|
let url = "http://test/webapprtChrome/webapprt/test/chrome/sample.webapp";
|
|
|
|
function test() {
|
|
waitForExplicitFinish();
|
|
|
|
loadWebapp("install-app.webapp", undefined, function onLoad() {
|
|
|
|
let dialogShown = false;
|
|
|
|
let winObserver = function(win, topic) {
|
|
if (topic == "domwindowopened") {
|
|
win.addEventListener("load", function onLoadWindow() {
|
|
win.removeEventListener("load", onLoadWindow, false);
|
|
|
|
if (win.document.documentURI == "chrome://global/content/commonDialog.xul") {
|
|
dialogShown = true;
|
|
|
|
executeSoon(() => {
|
|
win.document.documentElement.acceptDialog();
|
|
});
|
|
}
|
|
}, false);
|
|
}
|
|
}
|
|
|
|
Services.ww.registerNotification(winObserver);
|
|
|
|
registerCleanupFunction(function() {
|
|
Services.ww.unregisterNotification(winObserver);
|
|
});
|
|
|
|
let request = navigator.mozApps.install(url);
|
|
request.onsuccess = function() {
|
|
ok(dialogShown, "Install app dialog shown");
|
|
ok(request.result, "App installed");
|
|
|
|
navigator.mozApps.mgmt.uninstall(request.result).onsuccess = function() {
|
|
finish();
|
|
}
|
|
}
|
|
request.onerror = function() {
|
|
ok(false, "Not installed: " + request.error.name);
|
|
finish();
|
|
}
|
|
});
|
|
}
|