diff options
Diffstat (limited to 'testing/web-platform/tests/presentation-api/controlling-ua/support')
-rw-r--r-- | testing/web-platform/tests/presentation-api/controlling-ua/support/iframe.html | 59 | ||||
-rw-r--r-- | testing/web-platform/tests/presentation-api/controlling-ua/support/presentation.html | 24 |
2 files changed, 83 insertions, 0 deletions
diff --git a/testing/web-platform/tests/presentation-api/controlling-ua/support/iframe.html b/testing/web-platform/tests/presentation-api/controlling-ua/support/iframe.html new file mode 100644 index 000000000..60f94b69d --- /dev/null +++ b/testing/web-platform/tests/presentation-api/controlling-ua/support/iframe.html @@ -0,0 +1,59 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Presentation API - controlling ua - sandboxing</title> +<link rel="author" title="Francois Daoust" href="https://www.w3.org/People/#fd"> +<link rel="help" href="http://w3c.github.io/presentation-api/#dom-presentationrequest-start"> +<script> + window.onmessage = function (ev) { + try { + var request = new PresentationRequest('presentation.html');; + if (ev.data === 'start') { + request.start() + .then(function () { + parent.window.postMessage('success', '*'); + }) + .catch(function (err) { + if ((err.name === 'NotFoundError') || + (err.name === 'NotAllowedError')) { + // These errors either mean that the user dismissed the dialog + // box or that the UA could not find any available or suitable + // screen. This is equivalent of succeeding for the purpose of + // iframe tests. + parent.window.postMessage('success', '*'); + } + else { + parent.window.postMessage(err.name, '*'); + } + }); + } + else if (ev.data === 'reconnect') { + request.reconnect('someid') + .then(function () { + parent.window.postMessage('success', '*'); + }) + .catch(function (err) { + parent.window.postMessage(err.name, '*'); + }); + } + else if (ev.data === 'getAvailability') { + request.getAvailability() + .then(function () { + parent.window.postMessage('success', '*'); + }) + .catch(function (err) { + if (err.name === 'NotSupportedError') { + parent.window.postMessage('success', '*'); + } + else { + parent.window.postMessage(err.name, '*'); + } + }); + } + } + catch (err) { + parent.window.postMessage('Could not create PresentationRequest', '*'); + } + } + parent.window.postMessage('ready', '*'); +</script> + diff --git a/testing/web-platform/tests/presentation-api/controlling-ua/support/presentation.html b/testing/web-platform/tests/presentation-api/controlling-ua/support/presentation.html new file mode 100644 index 000000000..ea13ded4a --- /dev/null +++ b/testing/web-platform/tests/presentation-api/controlling-ua/support/presentation.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> + +<meta charset="utf-8"> +<link rel="author" title="Intel" href="http://www.intel.com"> +<link rel="author" title="He Yue" href="mailto:yue.he@intel.com"> +<link rel="help" href="http://w3c.github.io/presentation-api/#interface-presentationconnectionlist"> +<script> + var addConnection = function(connection) { + connection.onconnected = function () { + this.onmessage = function (evt) { + this.send(evt.data); + }; + }; + navigator.receiver.connectionList + .then(function(list) { + list.onconnectionavailable = function(connections) { + addConnection(connections[connections.length - 1]); + }; + list.connections.map(function(connection) { + addConnection(connection); + }); + }); + } +</script> |