diff options
Diffstat (limited to 'dom/tests/mochitest/general/file_clonewrapper.html')
-rw-r--r-- | dom/tests/mochitest/general/file_clonewrapper.html | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/dom/tests/mochitest/general/file_clonewrapper.html b/dom/tests/mochitest/general/file_clonewrapper.html new file mode 100644 index 000000000..811147d78 --- /dev/null +++ b/dom/tests/mochitest/general/file_clonewrapper.html @@ -0,0 +1,36 @@ +<!doctype html> +<html> +<head> +<script type="application/javascript"> + + function waitForMessage() { + return new Promise(function(resolve) { + window.addEventListener('message', function l(evt) { + window.removeEventListener('message', l); + resolve(evt.data); + }); + }); + } + + // Set up the objects for cloning. + function setup() { + window.testObject = { myNumber: 42, + myString: "hello", + myImageData: new ImageData(10, 10) }; + } + + // Called by the chrome parent window. + function tryToClone(obj, shouldSucceed, message) { + var success = false; + try { window.postMessage(obj, '*'); success = true; } + catch (e) { message = message + ' (threw: ' + e.message + ')'; } + is(success, shouldSucceed, message); + return (success && shouldSucceed) ? waitForMessage() : Promise.resolve(); + } + +</script> +</head> +<body onload="setup()"> +<input id="fileinput" type="file"></input> +</body> +</html> |