diff options
Diffstat (limited to '')
-rw-r--r-- | toolkit/mozapps/extensions/test/xpinstall/installtrigger.html | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/toolkit/mozapps/extensions/test/xpinstall/installtrigger.html b/toolkit/mozapps/extensions/test/xpinstall/installtrigger.html new file mode 100644 index 0000000000..d68e4acbe3 --- /dev/null +++ b/toolkit/mozapps/extensions/test/xpinstall/installtrigger.html @@ -0,0 +1,57 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html> + +<!-- This page will accept some json as the uri query and pass it to InstallTrigger.install --> + +<head> +<title>InstallTrigger tests</title> +<script type="text/javascript"> +/* globals InstallTrigger */ +/* exported startInstall */ +function installCallback(url, status) { + document.getElementById("status").textContent = status; + + dump("Sending InstallComplete\n"); + var event = new CustomEvent("InstallComplete"); + var target = window.parent ? window.parent : window; + target.dispatchEvent(event); +} + +function startInstall(viaWindowLoaded = false) { + var event = new CustomEvent("InstallTriggered"); + var text; + if (viaWindowLoaded) { + text = decodeURIComponent(document.location.search.substring(1)); + } else { + text = decodeURIComponent(document.location.search.substring("?manualStartInstall".length)); + } + var triggers = JSON.parse(text); + try { + document.getElementById("return").textContent = InstallTrigger.install(triggers, installCallback); + dump("Sending InstallTriggered\n"); + window.dispatchEvent(event); + } catch (e) { + document.getElementById("return").textContent = "exception"; + dump("Sending InstallTriggered\n"); + window.dispatchEvent(event); + if (viaWindowLoaded) { + throw e; + } + } +} + +window.onload = function () { + if (!document.location.search.startsWith("?manualStartInstall")) { + startInstall(true); + } +} +</script> +</head> +<body> +<p>InstallTrigger tests</p> +<p id="return"></p> +<p id="status"></p> +</body> +</html> |