summaryrefslogtreecommitdiffstats
path: root/b2g/components/PresentationRequestUIGlue.js
diff options
context:
space:
mode:
Diffstat (limited to 'b2g/components/PresentationRequestUIGlue.js')
-rw-r--r--b2g/components/PresentationRequestUIGlue.js116
1 files changed, 0 insertions, 116 deletions
diff --git a/b2g/components/PresentationRequestUIGlue.js b/b2g/components/PresentationRequestUIGlue.js
deleted file mode 100644
index 5c50401de..000000000
--- a/b2g/components/PresentationRequestUIGlue.js
+++ /dev/null
@@ -1,116 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
-/* 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/. */
-
-"use strict"
-
-function debug(aMsg) {
- // dump("-*- PresentationRequestUIGlue: " + aMsg + "\n");
-}
-
-const { interfaces: Ci, utils: Cu, classes: Cc } = Components;
-
-Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-Cu.import("resource://gre/modules/Services.jsm");
-
-XPCOMUtils.defineLazyModuleGetter(this, "SystemAppProxy",
- "resource://gre/modules/SystemAppProxy.jsm");
-
-function PresentationRequestUIGlue() { }
-
-PresentationRequestUIGlue.prototype = {
-
- sendRequest: function(aUrl, aSessionId, aDevice) {
- let localDevice;
- try {
- localDevice = aDevice.QueryInterface(Ci.nsIPresentationLocalDevice);
- } catch (e) {}
-
- if (localDevice) {
- return this.sendTo1UA(aUrl, aSessionId, localDevice.windowId);
- } else {
- return this.sendTo2UA(aUrl, aSessionId);
- }
- },
-
- // For 1-UA scenario
- sendTo1UA: function(aUrl, aSessionId, aWindowId) {
- return new Promise((aResolve, aReject) => {
- let handler = (evt) => {
- if (evt.type === "unload") {
- SystemAppProxy.removeEventListenerWithId(aWindowId,
- "unload",
- handler);
- SystemAppProxy.removeEventListenerWithId(aWindowId,
- "mozPresentationContentEvent",
- handler);
- aReject();
- }
- if (evt.type === "mozPresentationContentEvent" &&
- evt.detail.id == aSessionId) {
- SystemAppProxy.removeEventListenerWithId(aWindowId,
- "unload",
- handler);
- SystemAppProxy.removeEventListenerWithId(aWindowId,
- "mozPresentationContentEvent",
- handler);
- this.appLaunchCallback(evt.detail, aResolve, aReject);
- }
- };
- // If system(-remote) app is closed.
- SystemAppProxy.addEventListenerWithId(aWindowId,
- "unload",
- handler);
- // Listen to the result for the opened iframe from front-end.
- SystemAppProxy.addEventListenerWithId(aWindowId,
- "mozPresentationContentEvent",
- handler);
- SystemAppProxy.sendCustomEventWithId(aWindowId,
- "mozPresentationChromeEvent",
- { type: "presentation-launch-receiver",
- url: aUrl,
- id: aSessionId });
- });
- },
-
- // For 2-UA scenario
- sendTo2UA: function(aUrl, aSessionId) {
- return new Promise((aResolve, aReject) => {
- let handler = (evt) => {
- if (evt.type === "mozPresentationContentEvent" &&
- evt.detail.id == aSessionId) {
- SystemAppProxy.removeEventListener("mozPresentationContentEvent",
- handler);
- this.appLaunchCallback(evt.detail, aResolve, aReject);
- }
- };
-
- // Listen to the result for the opened iframe from front-end.
- SystemAppProxy.addEventListener("mozPresentationContentEvent",
- handler);
- SystemAppProxy._sendCustomEvent("mozPresentationChromeEvent",
- { type: "presentation-launch-receiver",
- url: aUrl,
- id: aSessionId });
- });
- },
-
- appLaunchCallback: function(aDetail, aResolve, aReject) {
- switch(aDetail.type) {
- case "presentation-receiver-launched":
- aResolve(aDetail.frame);
- break;
- case "presentation-receiver-permission-denied":
- aReject();
- break;
- }
- },
-
- classID: Components.ID("{ccc8a839-0b64-422b-8a60-fb2af0e376d0}"),
-
- QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationRequestUIGlue])
-};
-
-this.NSGetFactory = XPCOMUtils.generateNSGetFactory([PresentationRequestUIGlue]);