diff options
Diffstat (limited to 'testing/web-platform/tests/presentation-api/controlling-ua/idlharness.html')
-rw-r--r-- | testing/web-platform/tests/presentation-api/controlling-ua/idlharness.html | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/testing/web-platform/tests/presentation-api/controlling-ua/idlharness.html b/testing/web-platform/tests/presentation-api/controlling-ua/idlharness.html new file mode 100644 index 000000000..8c3268af2 --- /dev/null +++ b/testing/web-platform/tests/presentation-api/controlling-ua/idlharness.html @@ -0,0 +1,129 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Presentation API IDL tests for Controlling User Agent</title> +<link rel="author" title="Louay Bassbouss" href="http://www.fokus.fraunhofer.de"> +<link rel="help" href="http://w3c.github.io/presentation-api/#dfn-controlling-user-agent"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/WebIDLParser.js"></script> +<script src="/resources/idlharness.js"></script> + +<script id="untested_idl" type="text/plain"> +interface Navigator { +}; +interface EventTarget { +}; +interface EventHandler { +}; +interface Event { +}; +dictionary EventInit { +}; +</script> + +<script id='idl' type="text/plain"> +partial interface Navigator { + [SameObject] + readonly attribute Presentation? presentation; +}; + +interface Presentation { +}; + +partial interface Presentation { + attribute PresentationRequest? defaultRequest; +}; + +[Constructor(DOMString url), + Constructor(sequence<DOMString> urls)] +interface PresentationRequest : EventTarget { + Promise<PresentationConnection> start(); + Promise<PresentationConnection> reconnect(DOMString presentationId); + Promise<PresentationAvailability> getAvailability(); + + attribute EventHandler onconnectionavailable; +}; + +interface PresentationAvailability : EventTarget { + readonly attribute boolean value; + attribute EventHandler onchange; +}; + +[Constructor(DOMString type, PresentationConnectionAvailableEventInit eventInitDict)] +interface PresentationConnectionAvailableEvent : Event { + [SameObject] + readonly attribute PresentationConnection connection; +}; + +dictionary PresentationConnectionAvailableEventInit : EventInit { + required PresentationConnection connection; +}; + +enum PresentationConnectionState { + "connecting", + "connected", + "closed", + "terminated" +}; + +enum BinaryType { + "blob", + "arraybuffer" +}; + +interface PresentationConnection : EventTarget { + readonly attribute DOMString id; + readonly attribute DOMString url; + readonly attribute PresentationConnectionState state; + void close(); + void terminate(); + attribute EventHandler onconnect; + attribute EventHandler onclose; + attribute EventHandler onterminate; + + // Communication + attribute BinaryType binaryType; + attribute EventHandler onmessage; + void send(DOMString message); + void send(Blob data); + void send(ArrayBuffer data); + void send(ArrayBufferView data); +}; + +enum PresentationConnectionClosedReason { + "error", + "closed", + "wentaway" +}; + +[Constructor(DOMString type, PresentationConnectionCloseEventInit eventInitDict)] +interface PresentationConnectionCloseEvent : Event { + readonly attribute PresentationConnectionClosedReason reason; + readonly attribute DOMString message; +}; + +dictionary PresentationConnectionCloseEventInit : EventInit { + required PresentationConnectionClosedReason reason; + DOMString message = ""; +}; +</script> + +<script> + (function() { + "use strict"; + var idl_array = new IdlArray(); + var idls = document.getElementById('idl').textContent; + idl_array.add_untested_idls(document.getElementById('untested_idl').textContent); + idl_array.add_idls(idls); + window.presentation_request = new PresentationRequest("/presentation-api/receiving-ua/idlharness.html"); + window.presentation_request_urls = new PresentationRequest(["/presentation-api/receiving-ua/idlharness.html", + "http://www.example.com/presentation.html"]); + navigator.presentation.defaultRequest = presentation_request; + idl_array.add_objects({ + Presentation: ['navigator.presentation'], + PresentationRequest: ['navigator.presentation.defaultRequest', 'presentation_request', 'presentation_request_urls'] + }); + idl_array.test(); + })(); +</script> + |