summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/presentation-api/controlling-ua/idlharness.html
diff options
context:
space:
mode:
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.html129
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>
+