summaryrefslogtreecommitdiffstats
path: root/b2g/components/B2GPresentationDevicePrompt.js
diff options
context:
space:
mode:
Diffstat (limited to 'b2g/components/B2GPresentationDevicePrompt.js')
-rw-r--r--b2g/components/B2GPresentationDevicePrompt.js87
1 files changed, 0 insertions, 87 deletions
diff --git a/b2g/components/B2GPresentationDevicePrompt.js b/b2g/components/B2GPresentationDevicePrompt.js
deleted file mode 100644
index 998e0b7ac..000000000
--- a/b2g/components/B2GPresentationDevicePrompt.js
+++ /dev/null
@@ -1,87 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* 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("-*- B2GPresentationDevicePrompt: " + aMsg + "\n");
-}
-
-const { classes: Cc, interfaces: Ci, utils: Cu, results: Cr } = Components;
-
-const kB2GPRESENTATIONDEVICEPROMPT_CONTRACTID = "@mozilla.org/presentation-device/prompt;1";
-const kB2GPRESENTATIONDEVICEPROMPT_CID = Components.ID("{4a300c26-e99b-4018-ab9b-c48cf9bc4de1}");
-
-Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-
-XPCOMUtils.defineLazyModuleGetter(this, "SystemAppProxy",
- "resource://gre/modules/SystemAppProxy.jsm");
-
-function B2GPresentationDevicePrompt() {}
-
-B2GPresentationDevicePrompt.prototype = {
- classID: kB2GPRESENTATIONDEVICEPROMPT_CID,
- contractID: kB2GPRESENTATIONDEVICEPROMPT_CONTRACTID,
- classDescription: "B2G Presentation Device Prompt",
- QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDevicePrompt]),
-
- // nsIPresentationDevicePrompt
- promptDeviceSelection: function(aRequest) {
- let self = this;
- let requestId = Cc["@mozilla.org/uuid-generator;1"]
- .getService(Ci.nsIUUIDGenerator).generateUUID().toString();
-
- SystemAppProxy.addEventListener("mozContentEvent", function contentEvent(aEvent) {
- let detail = aEvent.detail;
- if (detail.id !== requestId) {
- return;
- }
-
- SystemAppProxy.removeEventListener("mozContentEvent", contentEvent);
-
- switch (detail.type) {
- case "presentation-select-result":
- debug("device " + detail.deviceId + " is selected by user");
- let device = self._getDeviceById(detail.deviceId);
- if (!device) {
- debug("cancel request because device is not found");
- aRequest.cancel(Cr.NS_ERROR_DOM_NOT_FOUND_ERR);
- }
- aRequest.select(device);
- break;
- case "presentation-select-deny":
- debug("request canceled by user");
- aRequest.cancel(Cr.NS_ERROR_DOM_NOT_ALLOWED_ERR);
- break;
- }
- });
-
- let detail = {
- type: "presentation-select-device",
- origin: aRequest.origin,
- requestURL: aRequest.requestURL,
- id: requestId,
- };
-
- SystemAppProxy.dispatchEvent(detail);
- },
-
- _getDeviceById: function(aDeviceId) {
- let deviceManager = Cc["@mozilla.org/presentation-device/manager;1"]
- .getService(Ci.nsIPresentationDeviceManager);
- let devices = deviceManager.getAvailableDevices().QueryInterface(Ci.nsIArray);
-
- for (let i = 0; i < devices.length; i++) {
- let device = devices.queryElementAt(i, Ci.nsIPresentationDevice);
- if (device.id === aDeviceId) {
- return device;
- }
- }
-
- return null;
- },
-};
-
-this.NSGetFactory = XPCOMUtils.generateNSGetFactory([B2GPresentationDevicePrompt]);