summaryrefslogtreecommitdiffstats
path: root/dom/presentation/interfaces
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2020-02-06 16:03:39 -0500
committerwolfbeast <mcwerewolf@wolfbeast.com>2020-04-14 12:31:16 +0200
commit8c41fcd24048154e3526e506157d337a2ab434e8 (patch)
treecadcee4433f470969e8e14591f6d7d89c1c9f39b /dom/presentation/interfaces
parent27f4e60be80610b4be361f51257a5501852ed795 (diff)
downloadUXP-8c41fcd24048154e3526e506157d337a2ab434e8.tar
UXP-8c41fcd24048154e3526e506157d337a2ab434e8.tar.gz
UXP-8c41fcd24048154e3526e506157d337a2ab434e8.tar.lz
UXP-8c41fcd24048154e3526e506157d337a2ab434e8.tar.xz
UXP-8c41fcd24048154e3526e506157d337a2ab434e8.zip
Issue #1390 - Get rid of the Presentation API
Diffstat (limited to 'dom/presentation/interfaces')
-rw-r--r--dom/presentation/interfaces/moz.build30
-rw-r--r--dom/presentation/interfaces/nsIPresentationControlChannel.idl139
-rw-r--r--dom/presentation/interfaces/nsIPresentationControlService.idl156
-rw-r--r--dom/presentation/interfaces/nsIPresentationDevice.idl43
-rw-r--r--dom/presentation/interfaces/nsIPresentationDeviceManager.idl51
-rw-r--r--dom/presentation/interfaces/nsIPresentationDevicePrompt.idl58
-rw-r--r--dom/presentation/interfaces/nsIPresentationDeviceProvider.idl75
-rw-r--r--dom/presentation/interfaces/nsIPresentationListener.idl50
-rw-r--r--dom/presentation/interfaces/nsIPresentationLocalDevice.idl17
-rw-r--r--dom/presentation/interfaces/nsIPresentationNetworkHelper.idl36
-rw-r--r--dom/presentation/interfaces/nsIPresentationRequestUIGlue.idl29
-rw-r--r--dom/presentation/interfaces/nsIPresentationService.idl275
-rw-r--r--dom/presentation/interfaces/nsIPresentationSessionRequest.idl35
-rw-r--r--dom/presentation/interfaces/nsIPresentationSessionTransport.idl69
-rw-r--r--dom/presentation/interfaces/nsIPresentationSessionTransportBuilder.idl80
-rw-r--r--dom/presentation/interfaces/nsIPresentationTerminateRequest.idl33
16 files changed, 0 insertions, 1176 deletions
diff --git a/dom/presentation/interfaces/moz.build b/dom/presentation/interfaces/moz.build
deleted file mode 100644
index 935e39000..000000000
--- a/dom/presentation/interfaces/moz.build
+++ /dev/null
@@ -1,30 +0,0 @@
-# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-XPIDL_SOURCES += [
- 'nsIPresentationControlChannel.idl',
- 'nsIPresentationControlService.idl',
- 'nsIPresentationDevice.idl',
- 'nsIPresentationDeviceManager.idl',
- 'nsIPresentationDevicePrompt.idl',
- 'nsIPresentationDeviceProvider.idl',
- 'nsIPresentationListener.idl',
- 'nsIPresentationLocalDevice.idl',
- 'nsIPresentationRequestUIGlue.idl',
- 'nsIPresentationService.idl',
- 'nsIPresentationSessionRequest.idl',
- 'nsIPresentationSessionTransport.idl',
- 'nsIPresentationSessionTransportBuilder.idl',
- 'nsIPresentationTerminateRequest.idl',
-]
-
-if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
- XPIDL_SOURCES += [
- 'nsIPresentationNetworkHelper.idl',
- ]
-
-XPIDL_MODULE = 'dom_presentation'
-
diff --git a/dom/presentation/interfaces/nsIPresentationControlChannel.idl b/dom/presentation/interfaces/nsIPresentationControlChannel.idl
deleted file mode 100644
index 669e4088e..000000000
--- a/dom/presentation/interfaces/nsIPresentationControlChannel.idl
+++ /dev/null
@@ -1,139 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsISupports.idl"
-
-interface nsIArray;
-interface nsIInputStream;
-
-[scriptable, uuid(ae318e05-2a4e-4f85-95c0-e8b191ad812c)]
-interface nsIPresentationChannelDescription: nsISupports
-{
- const unsigned short TYPE_TCP = 1;
- const unsigned short TYPE_DATACHANNEL = 2;
-
- // Type of transport channel.
- readonly attribute uint8_t type;
-
- // Addresses for TCP channel (as a list of nsISupportsCString).
- // Should only be used while type == TYPE_TCP.
- readonly attribute nsIArray tcpAddress;
-
- // Port number for TCP channel.
- // Should only be used while type == TYPE_TCP.
- readonly attribute uint16_t tcpPort;
-
- // SDP for Data Channel.
- // Should only be used while type == TYPE_DATACHANNEL.
- readonly attribute DOMString dataChannelSDP;
-};
-
-/*
- * The callbacks for events on control channel.
- */
-[scriptable, uuid(96dd548f-7d0f-43c1-b1ad-28e666cf1e82)]
-interface nsIPresentationControlChannelListener: nsISupports
-{
- /*
- * Callback for receiving offer from remote endpoint.
- * @param offer The received offer.
- */
- void onOffer(in nsIPresentationChannelDescription offer);
-
- /*
- * Callback for receiving answer from remote endpoint.
- * @param answer The received answer.
- */
- void onAnswer(in nsIPresentationChannelDescription answer);
-
- /*
- * Callback for receiving ICE candidate from remote endpoint.
- * @param answer The received answer.
- */
- void onIceCandidate(in DOMString candidate);
-
- /*
- * The callback for notifying channel connected. This should be async called
- * after nsIPresentationDevice::establishControlChannel.
- */
- void notifyConnected();
-
- /*
- * The callback for notifying channel disconnected.
- * @param reason The reason of channel close, NS_OK represents normal close.
- */
- void notifyDisconnected(in nsresult reason);
-
- /*
- * The callback for notifying the reconnect command is acknowledged.
- */
- void notifyReconnected();
-};
-
-/*
- * The control channel for establishing RTCPeerConnection for a presentation
- * session. SDP Offer/Answer will be exchanged through this interface. The
- * control channel should be in-order.
- */
-[scriptable, uuid(e60e208c-a9f5-4bc6-9a3e-47f3e4ae9c57)]
-interface nsIPresentationControlChannel: nsISupports
-{
- // The listener for handling events of this control channel.
- // All the events should be pending until listener is assigned.
- attribute nsIPresentationControlChannelListener listener;
-
- /*
- * Send offer to remote endpoint. |onOffer| should be invoked on remote
- * endpoint.
- * @param offer The offer to send.
- * @throws NS_ERROR_FAILURE on failure
- */
- void sendOffer(in nsIPresentationChannelDescription offer);
-
- /*
- * Send answer to remote endpoint. |onAnswer| should be invoked on remote
- * endpoint.
- * @param answer The answer to send.
- * @throws NS_ERROR_FAILURE on failure
- */
- void sendAnswer(in nsIPresentationChannelDescription answer);
-
- /*
- * Send ICE candidate to remote endpoint. |onIceCandidate| should be invoked
- * on remote endpoint.
- * @param candidate The candidate to send
- * @throws NS_ERROR_FAILURE on failure
- */
- void sendIceCandidate(in DOMString candidate);
-
- /*
- * Launch a presentation on remote endpoint.
- * @param presentationId The Id for representing this session.
- * @param url The URL requested to open by remote device.
- * @throws NS_ERROR_FAILURE on failure
- */
- void launch(in DOMString presentationId, in DOMString url);
-
- /*
- * Terminate a presentation on remote endpoint.
- * @param presentationId The Id for representing this session.
- * @throws NS_ERROR_FAILURE on failure
- */
- void terminate(in DOMString presentationId);
-
- /*
- * Disconnect the control channel.
- * @param reason The reason of disconnecting channel; NS_OK represents normal.
- */
- void disconnect(in nsresult reason);
-
- /*
- * Reconnect a presentation on remote endpoint.
- * Note that only controller is allowed to reconnect a session.
- * @param presentationId The Id for representing this session.
- * @param url The URL requested to open by remote device.
- * @throws NS_ERROR_FAILURE on failure
- */
- void reconnect(in DOMString presentationId, in DOMString url);
-};
diff --git a/dom/presentation/interfaces/nsIPresentationControlService.idl b/dom/presentation/interfaces/nsIPresentationControlService.idl
deleted file mode 100644
index d4b967b00..000000000
--- a/dom/presentation/interfaces/nsIPresentationControlService.idl
+++ /dev/null
@@ -1,156 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsISupports.idl"
-
-interface nsIPresentationControlChannel;
-
-%{C++
-#define PRESENTATION_CONTROL_SERVICE_CONTACT_ID \
- "@mozilla.org/presentation/control-service;1"
-%}
-
-/*
- * The device information required for establishing control channel.
- */
-[scriptable, uuid(296fd171-e4d0-4de0-99ff-ad8ed52ddef3)]
-interface nsITCPDeviceInfo: nsISupports
-{
- readonly attribute AUTF8String id;
- readonly attribute AUTF8String address;
- readonly attribute uint16_t port;
- // SHA-256 fingerprint of server certificate. Empty string represents
- // server doesn't support TLS or not available.
- readonly attribute AUTF8String certFingerprint;
-};
-
-[scriptable, uuid(09bddfaf-fcc2-4dc9-b33e-a509a1c2fb6d)]
-interface nsIPresentationControlServerListener: nsISupports
-{
- /**
- * Callback while the server is ready or restarted.
- * @param aPort
- * The port of the server socket.
- * @param aCertFingerprint
- * The SHA-256 fingerprint of TLS server certificate.
- * Empty string represents server started without encryption.
- */
- void onServerReady(in uint16_t aPort, in AUTF8String aCertFingerprint);
-
- /**
- * Callback while the server is stopped or fails to start.
- * @param aResult
- * The error cause of server stopped or the reason of
- * start failure.
- * NS_OK means the server is stopped by close.
- */
- void onServerStopped(in nsresult aResult);
-
- /**
- * Callback while the remote host is requesting to start a presentation session.
- * @param aDeviceInfo The device information related to the remote host.
- * @param aUrl The URL requested to open by remote device.
- * @param aPresentationId The Id for representing this session.
- * @param aControlChannel The control channel for this session.
- */
- void onSessionRequest(in nsITCPDeviceInfo aDeviceInfo,
- in DOMString aUrl,
- in DOMString aPresentationId,
- in nsIPresentationControlChannel aControlChannel);
-
- /**
- * Callback while the remote host is requesting to terminate a presentation session.
- * @param aDeviceInfo The device information related to the remote host.
- * @param aPresentationId The Id for representing this session.
- * @param aControlChannel The control channel for this session.
- * @param aIsFromReceiver true if termination is initiated by receiver.
- */
- void onTerminateRequest(in nsITCPDeviceInfo aDeviceInfo,
- in DOMString aPresentationId,
- in nsIPresentationControlChannel aControlChannel,
- in boolean aIsFromReceiver);
-
- /**
- * Callback while the remote host is requesting to reconnect a presentation session.
- * @param aDeviceInfo The device information related to the remote host.
- * @param aUrl The URL requested to open by remote device.
- * @param aPresentationId The Id for representing this session.
- * @param aControlChannel The control channel for this session.
- */
- void onReconnectRequest(in nsITCPDeviceInfo aDeviceInfo,
- in DOMString url,
- in DOMString aPresentationId,
- in nsIPresentationControlChannel aControlChannel);
-};
-
-/**
- * Presentation control service which can be used for both presentation
- * control client and server.
- */
-[scriptable, uuid(55d6b605-2389-4aae-a8fe-60d4440540ea)]
-interface nsIPresentationControlService: nsISupports
-{
- /**
- * This method initializes server socket. Caller should set listener and
- * monitor onServerReady event to get the correct server info.
- * @param aEncrypted
- * True for using TLS control channel.
- * @param aPort
- * The port of the server socket. Pass 0 or opt-out to indicate no
- * preference, and a port will be selected automatically.
- * @throws NS_ERROR_FAILURE if the server socket has been inited or the
- * server socket can not be inited.
- */
- void startServer(in boolean aEncrypted, [optional] in uint16_t aPort);
-
- /**
- * Request connection to designated remote presentation control receiver.
- * @param aDeviceInfo
- * The remtoe device info for establish connection.
- * @returns The control channel for this session.
- * @throws NS_ERROR_FAILURE if the Id hasn't been inited.
- */
- nsIPresentationControlChannel connect(in nsITCPDeviceInfo aDeviceInfo);
-
- /**
- * Check the compatibility to remote presentation control server.
- * @param aVersion
- * The version of remote server.
- */
- boolean isCompatibleServer(in uint32_t aVersion);
-
- /**
- * Close server socket and call |listener.onClose(NS_OK)|
- */
- void close();
-
- /**
- * Get the listen port of the TCP socket, valid after the server is ready.
- * 0 indicates the server socket is not ready or is closed.
- */
- readonly attribute uint16_t port;
-
- /**
- * The protocol version implemented by this server.
- */
- readonly attribute uint32_t version;
-
- /**
- * The id of the TCP presentation server. |requestSession| won't
- * work until the |id| is set.
- */
- attribute AUTF8String id;
-
- /**
- * The fingerprint of the TLS server certificate.
- * Empty string indicates the server is not ready or not encrypted.
- */
- attribute AUTF8String certFingerprint;
-
- /**
- * The listener for handling events of this presentation control server.
- * Listener must be provided before invoke |startServer| and |close|.
- */
- attribute nsIPresentationControlServerListener listener;
-};
diff --git a/dom/presentation/interfaces/nsIPresentationDevice.idl b/dom/presentation/interfaces/nsIPresentationDevice.idl
deleted file mode 100644
index 63e4a52ef..000000000
--- a/dom/presentation/interfaces/nsIPresentationDevice.idl
+++ /dev/null
@@ -1,43 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsISupports.idl"
-
-interface nsIPresentationControlChannel;
-
-/*
- * Remote device.
- */
-[scriptable, uuid(b1e0a7af-5936-4066-8f2e-f789fb9a7e8f)]
-interface nsIPresentationDevice : nsISupports
-{
- // The unique Id for the device. UUID is recommanded.
- readonly attribute AUTF8String id;
-
- // The human-readable name of this device.
- readonly attribute AUTF8String name;
-
- // TODO expose more info in order to fulfill UX spec
- // The category of this device, could be "wifi", "bluetooth", "hdmi", etc.
- readonly attribute AUTF8String type;
-
- /*
- * Establish a control channel to this device.
- * @returns The control channel for this session.
- * @throws NS_ERROR_FAILURE if the establishment fails
- */
- nsIPresentationControlChannel establishControlChannel();
-
- // Do something when presentation session is disconnected.
- void disconnect();
-
- /*
- * Query if requested presentation URL is supported.
- * @params requestedUrl the designated URL for a presentation request.
- * @returns true if designated URL is supported.
- */
- boolean isRequestedUrlSupported(in DOMString requestedUrl);
-};
-
-
diff --git a/dom/presentation/interfaces/nsIPresentationDeviceManager.idl b/dom/presentation/interfaces/nsIPresentationDeviceManager.idl
deleted file mode 100644
index adff9fc09..000000000
--- a/dom/presentation/interfaces/nsIPresentationDeviceManager.idl
+++ /dev/null
@@ -1,51 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsISupports.idl"
-
-interface nsIArray;
-interface nsIPresentationDeviceProvider;
-
-%{C++
-#define PRESENTATION_DEVICE_MANAGER_CONTRACTID "@mozilla.org/presentation-device/manager;1"
-#define PRESENTATION_DEVICE_CHANGE_TOPIC "presentation-device-change"
-%}
-
-/*
- * Manager for the device availability. User can observe "presentation-device-change"
- * for any update of the available devices.
- */
-[scriptable, uuid(beb61db5-3d5f-454f-a15a-dbfa0337c569)]
-interface nsIPresentationDeviceManager : nsISupports
-{
- // true if there is any device available.
- readonly attribute boolean deviceAvailable;
-
- /*
- * Register a device provider manually.
- * @param provider The device provider to add.
- */
- void addDeviceProvider(in nsIPresentationDeviceProvider provider);
-
- /*
- * Unregister a device provider manually.
- * @param provider The device provider to remove.
- */
- void removeDeviceProvider(in nsIPresentationDeviceProvider provider);
-
- /*
- * Force all registered device providers to update device information.
- */
- void forceDiscovery();
-
- /*
- * Retrieve all available devices or all available devices that supports
- * designated presentation URLs, return a list of nsIPresentationDevice.
- * The returned list is a cached device list and could be out-of-date.
- * Observe device change events to get following updates.
- * @param presentationUrls the target presentation URLs for device filtering
- */
- nsIArray getAvailableDevices([optional] in nsIArray presentationUrls);
-};
-
diff --git a/dom/presentation/interfaces/nsIPresentationDevicePrompt.idl b/dom/presentation/interfaces/nsIPresentationDevicePrompt.idl
deleted file mode 100644
index 2900eb59c..000000000
--- a/dom/presentation/interfaces/nsIPresentationDevicePrompt.idl
+++ /dev/null
@@ -1,58 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsISupports.idl"
-
-interface nsIArray;
-interface nsIDOMEventTarget;
-interface nsIPresentationDevice;
-interface nsIPrincipal;
-
-%{C++
-#define PRESENTATION_DEVICE_PROMPT_CONTRACTID "@mozilla.org/presentation-device/prompt;1"
-%}
-
-/*
- * The information and callbacks for device selection
- */
-[scriptable, uuid(b2aa7f6a-9448-446a-bba4-9c29638b0ed4)]
-interface nsIPresentationDeviceRequest : nsISupports
-{
- // The origin which initiate the request.
- readonly attribute DOMString origin;
-
- // The array of candidate URLs.
- readonly attribute nsIArray requestURLs;
-
- // The XUL browser element that the request was originated in.
- readonly attribute nsIDOMEventTarget chromeEventHandler;
-
- // The principal of the request.
- readonly attribute nsIPrincipal principal;
-
- /*
- * Callback after selecting a device
- * @param device The selected device.
- */
- void select(in nsIPresentationDevice device);
-
- /*
- * Callback after selection failed or canceled by user.
- * @param reason The error cause for canceling this request.
- */
- void cancel(in nsresult reason);
-};
-
-/*
- * UI prompt for device selection.
- */
-[scriptable, uuid(ac1a7e44-de86-454f-a9f1-276de2539831)]
-interface nsIPresentationDevicePrompt : nsISupports
-{
- /*
- * Request a device selection.
- * @param request The information and callbacks of this selection request.
- */
- void promptDeviceSelection(in nsIPresentationDeviceRequest request);
-};
diff --git a/dom/presentation/interfaces/nsIPresentationDeviceProvider.idl b/dom/presentation/interfaces/nsIPresentationDeviceProvider.idl
deleted file mode 100644
index b2c5e530c..000000000
--- a/dom/presentation/interfaces/nsIPresentationDeviceProvider.idl
+++ /dev/null
@@ -1,75 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsISupports.idl"
-
-interface nsIPresentationDevice;
-interface nsIPresentationControlChannel;
-
-%{C++
-#define PRESENTATION_DEVICE_PROVIDER_CATEGORY "presentation-device-provider"
-%}
-
-/*
- * The callbacks for any device updates and session request.
- */
-[scriptable, uuid(46fd372b-2e40-4179-9b36-0478d141e440)]
-interface nsIPresentationDeviceListener: nsISupports
-{
- void addDevice(in nsIPresentationDevice device);
- void removeDevice(in nsIPresentationDevice device);
- void updateDevice(in nsIPresentationDevice device);
-
- /*
- * Callback while the remote device is requesting to start a presentation session.
- * @param device The remote device that sent session request.
- * @param url The URL requested to open by remote device.
- * @param presentationId The Id for representing this session.
- * @param controlChannel The control channel for this session.
- */
- void onSessionRequest(in nsIPresentationDevice device,
- in DOMString url,
- in DOMString presentationId,
- in nsIPresentationControlChannel controlChannel);
-
- /*
- * Callback while the remote device is requesting to terminate a presentation session.
- * @param device The remote device that sent session request.
- * @param presentationId The Id for representing this session.
- * @param controlChannel The control channel for this session.
- * @param aIsFromReceiver true if termination is initiated by receiver.
- */
- void onTerminateRequest(in nsIPresentationDevice device,
- in DOMString presentationId,
- in nsIPresentationControlChannel controlChannel,
- in boolean aIsFromReceiver);
-
- /*
- * Callback while the remote device is requesting to reconnect a presentation session.
- * @param device The remote device that sent session request.
- * @param aUrl The URL requested to open by remote device.
- * @param presentationId The Id for representing this session.
- * @param controlChannel The control channel for this session.
- */
- void onReconnectRequest(in nsIPresentationDevice device,
- in DOMString url,
- in DOMString presentationId,
- in nsIPresentationControlChannel controlChannel);
-};
-
-/*
- * Device provider for any device protocol, can be registered as default
- * providers by adding its contractID to category "presentation-device-provider".
- */
-[scriptable, uuid(3db2578a-0f50-44ad-b01b-28427b71b7bf)]
-interface nsIPresentationDeviceProvider: nsISupports
-{
- // The listener for handling any device update.
- attribute nsIPresentationDeviceListener listener;
-
- /*
- * Force to update device information.
- */
- void forceDiscovery();
-};
diff --git a/dom/presentation/interfaces/nsIPresentationListener.idl b/dom/presentation/interfaces/nsIPresentationListener.idl
deleted file mode 100644
index 546c2fd4b..000000000
--- a/dom/presentation/interfaces/nsIPresentationListener.idl
+++ /dev/null
@@ -1,50 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsISupports.idl"
-
-[ref] native URLArrayRef(const nsTArray<nsString>);
-
-[uuid(0105f837-4279-4715-9d5b-2dc3f8b65353)]
-interface nsIPresentationAvailabilityListener : nsISupports
-{
- /*
- * Called when device availability changes.
- */
- [noscript] void notifyAvailableChange(in URLArrayRef urls,
- in bool available);
-};
-
-[scriptable, uuid(7dd48df8-8f8c-48c7-ac37-7b9fd1acf2f8)]
-interface nsIPresentationSessionListener : nsISupports
-{
- const unsigned short STATE_CONNECTING = 0;
- const unsigned short STATE_CONNECTED = 1;
- const unsigned short STATE_CLOSED = 2;
- const unsigned short STATE_TERMINATED = 3;
-
- /*
- * Called when session state changes.
- */
- void notifyStateChange(in DOMString sessionId,
- in unsigned short state,
- in nsresult reason);
-
- /*
- * Called when receive messages.
- */
- void notifyMessage(in DOMString sessionId,
- in ACString data,
- in boolean isBinary);
-};
-
-[scriptable, uuid(27f101d7-9ed1-429e-b4f8-43b00e8e111c)]
-interface nsIPresentationRespondingListener : nsISupports
-{
- /*
- * Called when an incoming session connects.
- */
- void notifySessionConnect(in unsigned long long windowId,
- in DOMString sessionId);
-};
diff --git a/dom/presentation/interfaces/nsIPresentationLocalDevice.idl b/dom/presentation/interfaces/nsIPresentationLocalDevice.idl
deleted file mode 100644
index 80e3b4041..000000000
--- a/dom/presentation/interfaces/nsIPresentationLocalDevice.idl
+++ /dev/null
@@ -1,17 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsIPresentationDevice.idl"
-
-/*
- * Local device.
- * This device is used for 1-UA use case. The result for display is rendered by
- * this host device.
- */
-[scriptable, uuid(dd239720-cab6-4fb5-9025-cba23f1bbc2d)]
-interface nsIPresentationLocalDevice : nsIPresentationDevice
-{
- // (1-UA only) The property is used to get the window ID of 1-UA device.
- readonly attribute AUTF8String windowId;
-};
diff --git a/dom/presentation/interfaces/nsIPresentationNetworkHelper.idl b/dom/presentation/interfaces/nsIPresentationNetworkHelper.idl
deleted file mode 100644
index 514075dfa..000000000
--- a/dom/presentation/interfaces/nsIPresentationNetworkHelper.idl
+++ /dev/null
@@ -1,36 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsISupports.idl"
-
-%{C++
-#define PRESENTATION_NETWORK_HELPER_CONTRACTID \
- "@mozilla.org/presentation-device/networkHelper;1"
-%}
-
-[scriptable, uuid(0a7e134f-ff80-4e73-91e6-12b3134fe568)]
-interface nsIPresentationNetworkHelperListener : nsISupports
-{
- /**
- * Called when error occurs.
- * @param aReason error message.
- */
- void onError(in AUTF8String aReason);
-
- /**
- * Called when get Wi-Fi IP address.
- * @param aIPAddress the IP address of Wi-Fi interface.
- */
- void onGetWifiIPAddress(in AUTF8String aIPAddress);
-};
-
-[scriptable, uuid(650dc16b-3d9c-49a6-9037-1d6f2d18c90c)]
-interface nsIPresentationNetworkHelper : nsISupports
-{
- /**
- * Get IP address of Wi-Fi interface.
- * @param aListener the callback interface.
- */
- void getWifiIPAddress(in nsIPresentationNetworkHelperListener aListener);
-};
diff --git a/dom/presentation/interfaces/nsIPresentationRequestUIGlue.idl b/dom/presentation/interfaces/nsIPresentationRequestUIGlue.idl
deleted file mode 100644
index dab1991e4..000000000
--- a/dom/presentation/interfaces/nsIPresentationRequestUIGlue.idl
+++ /dev/null
@@ -1,29 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsISupports.idl"
-
-interface nsIPresentationDevice;
-
-%{C++
-#define PRESENTATION_REQUEST_UI_GLUE_CONTRACTID \
- "@mozilla.org/presentation/requestuiglue;1"
-%}
-
-[scriptable, uuid(faa45119-6fb5-496c-aa4c-f740177a38b5)]
-interface nsIPresentationRequestUIGlue : nsISupports
-{
- /*
- * This method is called to open the responding app/page when
- * a presentation request comes in at receiver side.
- *
- * @param url The url of the request.
- * @param sessionId The session ID of the request.
- *
- * @return A promise that resolves to the opening frame.
- */
- nsISupports sendRequest(in DOMString url,
- in DOMString sessionId,
- in nsIPresentationDevice device);
-};
diff --git a/dom/presentation/interfaces/nsIPresentationService.idl b/dom/presentation/interfaces/nsIPresentationService.idl
deleted file mode 100644
index c3c15bb9f..000000000
--- a/dom/presentation/interfaces/nsIPresentationService.idl
+++ /dev/null
@@ -1,275 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsISupports.idl"
-
-interface nsIDOMBlob;
-interface nsIDOMEventTarget;
-interface nsIInputStream;
-interface nsIPresentationAvailabilityListener;
-interface nsIPresentationRespondingListener;
-interface nsIPresentationSessionListener;
-interface nsIPresentationTransportBuilderConstructor;
-interface nsIPrincipal;
-
-%{C++
-#define PRESENTATION_SERVICE_CID \
- { 0x1d9bb10c, 0xc0ab, 0x4fe8, \
- { 0x9e, 0x4f, 0x40, 0x58, 0xb8, 0x51, 0x98, 0x32 } }
-#define PRESENTATION_SERVICE_CONTRACTID \
- "@mozilla.org/presentation/presentationservice;1"
-
-#include "nsTArray.h"
-
-class nsString;
-%}
-
-[ref] native URLArrayRef(const nsTArray<nsString>);
-
-[scriptable, uuid(12073206-0065-4b10-9488-a6eb9b23e65b)]
-interface nsIPresentationServiceCallback : nsISupports
-{
- /*
- * Called when the operation succeeds.
- *
- * @param url: the selected request url used to start or reconnect a session.
- */
- void notifySuccess(in DOMString url);
-
- /*
- * Called when the operation fails.
- *
- * @param error: error message.
- */
- void notifyError(in nsresult error);
-};
-
-[scriptable, uuid(de42b741-5619-4650-b961-c2cebb572c95)]
-interface nsIPresentationService : nsISupports
-{
- const unsigned short ROLE_CONTROLLER = 0x1;
- const unsigned short ROLE_RECEIVER = 0x2;
-
- const unsigned short CLOSED_REASON_ERROR = 0x1;
- const unsigned short CLOSED_REASON_CLOSED = 0x2;
- const unsigned short CLOSED_REASON_WENTAWAY = 0x3;
-
- /*
- * Start a new presentation session and display a prompt box which asks users
- * to select a device.
- *
- * @param urls: The candidate Urls of presenting page. Only one url would be used.
- * @param sessionId: An ID to identify presentation session.
- * @param origin: The url of requesting page.
- * @param deviceId: The specified device of handling this request, null string
- * for prompt device selection dialog.
- * @param windowId: The inner window ID associated with the presentation
- * session. (0 implies no window ID since no actual window
- * uses 0 as its ID. Generally it's the case the window is
- * located in different process from this service)
- * @param eventTarget: The chrome event handler, in particular XUL browser
- * element in parent process, that the request was
- * originated in.
- * @param principal: The principal that initiated the session.
- * @param callback: Invoke the callback when the operation is completed.
- * NotifySuccess() is called with |id| if a session is
- * established successfully with the selected device.
- * Otherwise, NotifyError() is called with a error message.
- * @param constructor: The constructor for creating a transport builder.
- */
- [noscript] void startSession(in URLArrayRef urls,
- in DOMString sessionId,
- in DOMString origin,
- in DOMString deviceId,
- in unsigned long long windowId,
- in nsIDOMEventTarget eventTarget,
- in nsIPrincipal principal,
- in nsIPresentationServiceCallback callback,
- in nsIPresentationTransportBuilderConstructor constructor);
-
- /*
- * Send the message to the session.
- *
- * @param sessionId: An ID to identify presentation session.
- * @param role: Identify the function called by controller or receiver.
- * @param data: the message being sent out.
- */
- void sendSessionMessage(in DOMString sessionId,
- in uint8_t role,
- in DOMString data);
-
- /*
- * Send the binary message to the session.
- *
- * @param sessionId: An ID to identify presentation session.
- * @param role: Identify the function called by controller or receiver.
- * @param data: the message being sent out.
- */
- void sendSessionBinaryMsg(in DOMString sessionId,
- in uint8_t role,
- in ACString data);
-
- /*
- * Send the blob to the session.
- *
- * @param sessionId: An ID to identify presentation session.
- * @param role: Identify the function called by controller or receiver.
- * @param blob: The input blob to be sent.
- */
- void sendSessionBlob(in DOMString sessionId,
- in uint8_t role,
- in nsIDOMBlob blob);
-
- /*
- * Close the session.
- *
- * @param sessionId: An ID to identify presentation session.
- * @param role: Identify the function called by controller or receiver.
- */
- void closeSession(in DOMString sessionId,
- in uint8_t role,
- in uint8_t closedReason);
-
- /*
- * Terminate the session.
- *
- * @param sessionId: An ID to identify presentation session.
- * @param role: Identify the function called by controller or receiver.
- */
- void terminateSession(in DOMString sessionId,
- in uint8_t role);
-
- /*
- * Reconnect the session.
- *
- * @param url: The request Urls.
- * @param sessionId: An ID to identify presentation session.
- * @param role: Identify the function called by controller or receiver.
- * @param callback: NotifySuccess() is called when a control channel
- * is opened successfully.
- * Otherwise, NotifyError() is called with a error message.
- */
- [noscript] void reconnectSession(in URLArrayRef urls,
- in DOMString sessionId,
- in uint8_t role,
- in nsIPresentationServiceCallback callback);
-
- /*
- * Register an availability listener. Must be called from the main thread.
- *
- * @param availabilityUrls: The Urls that this listener is interested in.
- * @param listener: The listener to register.
- */
- [noscript] void registerAvailabilityListener(
- in URLArrayRef availabilityUrls,
- in nsIPresentationAvailabilityListener listener);
-
- /*
- * Unregister an availability listener. Must be called from the main thread.
- *
- * @param availabilityUrls: The Urls that are registered before.
- * @param listener: The listener to unregister.
- */
- [noscript] void unregisterAvailabilityListener(
- in URLArrayRef availabilityUrls,
- in nsIPresentationAvailabilityListener listener);
-
- /*
- * Register a session listener. Must be called from the main thread.
- *
- * @param sessionId: An ID to identify presentation session.
- * @param role: Identify the function called by controller or receiver.
- * @param listener: The listener to register.
- */
- void registerSessionListener(in DOMString sessionId,
- in uint8_t role,
- in nsIPresentationSessionListener listener);
-
- /*
- * Unregister a session listener. Must be called from the main thread.
- *
- * @param sessionId: An ID to identify presentation session.
- * @param role: Identify the function called by controller or receiver.
- */
- void unregisterSessionListener(in DOMString sessionId,
- in uint8_t role);
-
- /*
- * Register a responding listener. Must be called from the main thread.
- *
- * @param windowId: The window ID associated with the listener.
- * @param listener: The listener to register.
- */
- void registerRespondingListener(in unsigned long long windowId,
- in nsIPresentationRespondingListener listener);
-
- /*
- * Unregister a responding listener. Must be called from the main thread.
- * @param windowId: The window ID associated with the listener.
- */
- void unregisterRespondingListener(in unsigned long long windowId);
-
- /*
- * Notify the receiver page is ready for presentation use.
- *
- * @param sessionId An ID to identify presentation session.
- * @param windowId The inner window ID associated with the presentation
- * session.
- * @param isLoading true if receiver page is loading successfully.
- * @param constructor: The constructor for creating a transport builder.
- */
- void notifyReceiverReady(in DOMString sessionId,
- in unsigned long long windowId,
- in boolean isLoading,
- in nsIPresentationTransportBuilderConstructor constructor);
-
- /*
- * Notify the transport is closed
- *
- * @param sessionId: An ID to identify presentation session.
- * @param role: Identify the function called by controller or receiver.
- * @param reason: the error message. NS_OK indicates it is closed normally.
- */
- void NotifyTransportClosed(in DOMString sessionId,
- in uint8_t role,
- in nsresult reason);
-
- /*
- * Untrack the relevant info about the presentation session if there's any.
- *
- * @param sessionId: An ID to identify presentation session.
- * @param role: Identify the function called by controller or receiver.
- */
- void untrackSessionInfo(in DOMString sessionId, in uint8_t role);
-
- /*
- * The windowId for building RTCDataChannel session transport
- *
- * @param sessionId: An ID to identify presentation session.
- * @param role: Identify the function called by controller or receiver.
- */
- unsigned long long getWindowIdBySessionId(in DOMString sessionId,
- in uint8_t role);
-
- /*
- * Update the mapping of the session ID and window ID.
- *
- * @param sessionId: An ID to identify presentation session.
- * @param role: Identify the function called by controller or receiver.
- * @param windowId: The inner window ID associated with the presentation
- * session.
- */
- void updateWindowIdBySessionId(in DOMString sessionId,
- in uint8_t role,
- in unsigned long long windowId);
-
- /*
- * To build the session transport.
- * NOTE: This function should be only called at controller side.
- *
- * @param sessionId: An ID to identify presentation session.
- * @param role: Identify the function called by controller or receiver.
- */
- void buildTransport(in DOMString sessionId, in uint8_t role);
-};
diff --git a/dom/presentation/interfaces/nsIPresentationSessionRequest.idl b/dom/presentation/interfaces/nsIPresentationSessionRequest.idl
deleted file mode 100644
index 45a0e314c..000000000
--- a/dom/presentation/interfaces/nsIPresentationSessionRequest.idl
+++ /dev/null
@@ -1,35 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsISupports.idl"
-
-interface nsIPresentationDevice;
-interface nsIPresentationControlChannel;
-
-%{C++
-#define PRESENTATION_SESSION_REQUEST_TOPIC "presentation-session-request"
-#define PRESENTATION_RECONNECT_REQUEST_TOPIC "presentation-reconnect-request"
-%}
-
-/*
- * The event of a device requesting for starting or reconnecting
- * a presentation session. User can monitor the session request
- * on every device by observing "presentation-sesion-request" for a
- * new session and "presentation-reconnect-request" for reconnecting.
- */
-[scriptable, uuid(d808a084-d0f8-455a-a8df-5879e05a755b)]
-interface nsIPresentationSessionRequest: nsISupports
-{
- // The device which requesting the presentation session.
- readonly attribute nsIPresentationDevice device;
-
- // The URL requested to open by remote device.
- readonly attribute DOMString url;
-
- // The Id for representing this session.
- readonly attribute DOMString presentationId;
-
- // The control channel for this session.
- readonly attribute nsIPresentationControlChannel controlChannel;
-};
diff --git a/dom/presentation/interfaces/nsIPresentationSessionTransport.idl b/dom/presentation/interfaces/nsIPresentationSessionTransport.idl
deleted file mode 100644
index a0b5617d7..000000000
--- a/dom/presentation/interfaces/nsIPresentationSessionTransport.idl
+++ /dev/null
@@ -1,69 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsISupports.idl"
-
-interface nsIDOMBlob;
-interface nsIInputStream;
-interface nsINetAddr;
-
-%{C++
-#define PRESENTATION_TCP_SESSION_TRANSPORT_CONTRACTID \
- "@mozilla.org/presentation/presentationtcpsessiontransport;1"
-%}
-
-/*
- * The callback for session transport events.
- */
-[scriptable, uuid(9f158786-41a6-4a10-b29b-9497f25d4b67)]
-interface nsIPresentationSessionTransportCallback : nsISupports
-{
- void notifyTransportReady();
- void notifyTransportClosed(in nsresult reason);
- void notifyData(in ACString data, in boolean isBinary);
-};
-
-/*
- * App-to-App transport channel for the presentation session.
- */
-[scriptable, uuid(670b7e1b-65be-42b6-a596-be571907fa18)]
-interface nsIPresentationSessionTransport : nsISupports
-{
- // Should be set once the underlying session transport is built
- attribute nsIPresentationSessionTransportCallback callback;
-
- // valid for TCP session transport
- readonly attribute nsINetAddr selfAddress;
-
- /*
- * Enable the notification for incoming data. |notifyData| of
- * |nsIPresentationSessionTransportCallback| can start getting invoked.
- * Should set callback before |enableDataNotification| is called.
- */
- void enableDataNotification();
-
- /*
- * Send message to the remote endpoint.
- * @param data The message to send.
- */
- void send(in DOMString data);
-
- /*
- * Send the binary message to the remote endpoint.
- * @param data: the message being sent out.
- */
- void sendBinaryMsg(in ACString data);
-
- /*
- * Send the blob to the remote endpoint.
- * @param blob: The input blob to be sent.
- */
- void sendBlob(in nsIDOMBlob blob);
-
- /*
- * Close this session transport.
- * @param reason The reason for closing this session transport.
- */
- void close(in nsresult reason);
-};
diff --git a/dom/presentation/interfaces/nsIPresentationSessionTransportBuilder.idl b/dom/presentation/interfaces/nsIPresentationSessionTransportBuilder.idl
deleted file mode 100644
index 969f37d71..000000000
--- a/dom/presentation/interfaces/nsIPresentationSessionTransportBuilder.idl
+++ /dev/null
@@ -1,80 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsISupports.idl"
-
-interface nsIPresentationChannelDescription;
-interface nsISocketTransport;
-interface mozIDOMWindow;
-interface nsIPresentationControlChannel;
-interface nsIPresentationSessionTransport;
-
-[scriptable, uuid(673f6de1-e253-41b8-9be8-b7ff161fa8dc)]
-interface nsIPresentationSessionTransportBuilderListener : nsISupports
-{
- // Should set |transport.callback| in |onSessionTransport|.
- void onSessionTransport(in nsIPresentationSessionTransport transport);
- void onError(in nsresult reason);
-
- void sendOffer(in nsIPresentationChannelDescription offer);
- void sendAnswer(in nsIPresentationChannelDescription answer);
- void sendIceCandidate(in DOMString candidate);
- void close(in nsresult reason);
-};
-
-[scriptable, uuid(2fdbe67d-80f9-48dc-8237-5bef8fa19801)]
-interface nsIPresentationSessionTransportBuilder : nsISupports
-{
-};
-
-/**
- * The constructor for creating a transport builder.
- */
-[scriptable, uuid(706482b2-1b51-4bed-a21d-785a9cfcfac7)]
-interface nsIPresentationTransportBuilderConstructor : nsISupports
-{
- nsIPresentationSessionTransportBuilder createTransportBuilder(in uint8_t type);
-};
-
-/**
- * Builder for TCP session transport
- */
-[scriptable, uuid(cde36d6e-f471-4262-a70d-f932a26b21d9)]
-interface nsIPresentationTCPSessionTransportBuilder : nsIPresentationSessionTransportBuilder
-{
- /**
- * The following creation functions will trigger |listener.onSessionTransport|
- * if the session transport is successfully built, |listener.onError| if some
- * error occurs during building session transport.
- */
- void buildTCPSenderTransport(in nsISocketTransport aTransport,
- in nsIPresentationSessionTransportBuilderListener aListener);
-
- void buildTCPReceiverTransport(in nsIPresentationChannelDescription aDescription,
- in nsIPresentationSessionTransportBuilderListener aListener);
-};
-
-/**
- * Builder for WebRTC data channel session transport
- */
-[scriptable, uuid(8131c4e0-3a8c-4bc1-a92a-8431473d2fe8)]
-interface nsIPresentationDataChannelSessionTransportBuilder : nsIPresentationSessionTransportBuilder
-{
- /**
- * The following creation function will trigger |listener.onSessionTransport|
- * if the session transport is successfully built, |listener.onError| if some
- * error occurs during creating session transport. The |notifyConnected| of
- * |aControlChannel| should be called before calling
- * |buildDataChannelTransport|.
- */
- void buildDataChannelTransport(in uint8_t aRole,
- in mozIDOMWindow aWindow,
- in nsIPresentationSessionTransportBuilderListener aListener);
-
- // Bug 1275150 - Merge TCP builder with the following APIs
- void onOffer(in nsIPresentationChannelDescription offer);
- void onAnswer(in nsIPresentationChannelDescription answer);
- void onIceCandidate(in DOMString candidate);
- void notifyDisconnected(in nsresult reason);
-};
diff --git a/dom/presentation/interfaces/nsIPresentationTerminateRequest.idl b/dom/presentation/interfaces/nsIPresentationTerminateRequest.idl
deleted file mode 100644
index a9f86fa0d..000000000
--- a/dom/presentation/interfaces/nsIPresentationTerminateRequest.idl
+++ /dev/null
@@ -1,33 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsISupports.idl"
-
-interface nsIPresentationDevice;
-interface nsIPresentationControlChannel;
-
-%{C++
-#define PRESENTATION_TERMINATE_REQUEST_TOPIC "presentation-terminate-request"
-%}
-
-/*
- * The event of a device requesting for terminating a presentation session. User can
- * monitor the terminate request on every device by observing "presentation-terminate-request".
- */
-[scriptable, uuid(3ddbf3a4-53ee-4b70-9bbc-58ac90dce6b5)]
-interface nsIPresentationTerminateRequest: nsISupports
-{
- // The device which requesting to terminate presentation session.
- readonly attribute nsIPresentationDevice device;
-
- // The Id for representing this session.
- readonly attribute DOMString presentationId;
-
- // The control channel for this session.
- // Should only use this channel to complete session termination.
- readonly attribute nsIPresentationControlChannel controlChannel;
-
- // True if termination is initiated by receiver.
- readonly attribute boolean isFromReceiver;
-};