diff options
Diffstat (limited to 'browser/base/content/test/general/test_remoteTroubleshoot.html')
-rw-r--r-- | browser/base/content/test/general/test_remoteTroubleshoot.html | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/browser/base/content/test/general/test_remoteTroubleshoot.html b/browser/base/content/test/general/test_remoteTroubleshoot.html new file mode 100644 index 000000000..7ba1c5268 --- /dev/null +++ b/browser/base/content/test/general/test_remoteTroubleshoot.html @@ -0,0 +1,50 @@ +<!DOCTYPE HTML> +<html> +<script> +// This test is run multiple times, once with only strings allowed through the +// WebChannel, and once with objects allowed. This function allows us to handle +// both cases without too much pain. +function makeDetails(object) { + if (window.location.search.indexOf("object") >= 0) { + return object; + } + return JSON.stringify(object) +} +// Add a listener for responses to our remote requests. +window.addEventListener("WebChannelMessageToContent", function (event) { + if (event.detail.id == "remote-troubleshooting") { + // Send what we got back to the test. + var backEvent = new window.CustomEvent("WebChannelMessageToChrome", { + detail: makeDetails({ + id: "test-remote-troubleshooting-backchannel", + message: { + message: event.detail.message, + }, + }), + }); + window.dispatchEvent(backEvent); + // and stick it in our DOM just for good measure/diagnostics. + document.getElementById("troubleshooting").textContent = + JSON.stringify(event.detail.message, null, 2); + } +}); + +// Make a request for the troubleshooting data as we load. +window.onload = function() { + var event = new window.CustomEvent("WebChannelMessageToChrome", { + detail: makeDetails({ + id: "remote-troubleshooting", + message: { + command: "request", + }, + }), + }); + window.dispatchEvent(event); +} +</script> + +<body> + <pre id="troubleshooting"/> +</body> + +</html> |