diff options
Diffstat (limited to 'mobile/android/extensions/flyweb')
-rw-r--r-- | mobile/android/extensions/flyweb/bootstrap.js | 154 | ||||
-rw-r--r-- | mobile/android/extensions/flyweb/content/aboutFlyWeb.css | 29 | ||||
-rw-r--r-- | mobile/android/extensions/flyweb/content/aboutFlyWeb.js | 73 | ||||
-rw-r--r-- | mobile/android/extensions/flyweb/content/aboutFlyWeb.xhtml | 47 | ||||
-rw-r--r-- | mobile/android/extensions/flyweb/content/icon-64.png | bin | 1311 -> 0 bytes | |||
-rw-r--r-- | mobile/android/extensions/flyweb/install.rdf.in | 31 | ||||
-rw-r--r-- | mobile/android/extensions/flyweb/jar.mn | 10 | ||||
-rw-r--r-- | mobile/android/extensions/flyweb/locale/en-US/aboutFlyWeb.dtd | 7 | ||||
-rw-r--r-- | mobile/android/extensions/flyweb/locale/en-US/flyweb.properties | 5 | ||||
-rw-r--r-- | mobile/android/extensions/flyweb/moz.build | 18 |
10 files changed, 0 insertions, 374 deletions
diff --git a/mobile/android/extensions/flyweb/bootstrap.js b/mobile/android/extensions/flyweb/bootstrap.js deleted file mode 100644 index 017cb4763..000000000 --- a/mobile/android/extensions/flyweb/bootstrap.js +++ /dev/null @@ -1,154 +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/. */ - -const {classes: Cc, interfaces: Ci, manager: Cm, results: Cr, utils: Cu, Constructor: CC} = Components; - -Cm.QueryInterface(Ci.nsIComponentRegistrar); - -Cu.import("resource://gre/modules/XPCOMUtils.jsm"); - -XPCOMUtils.defineLazyModuleGetter(this, "Console", - "resource://gre/modules/Console.jsm"); -XPCOMUtils.defineLazyModuleGetter(this, "Services", - "resource://gre/modules/Services.jsm"); - -XPCOMUtils.defineLazyGetter(this, "gFlyWebBundle", function() { - return Services.strings.createBundle("chrome://flyweb/locale/flyweb.properties"); -}); - -const FLYWEB_ENABLED_PREF = "dom.flyweb.enabled"; - -let factory, menuID; - -function AboutFlyWeb() {} - -AboutFlyWeb.prototype = Object.freeze({ - classDescription: "About page for displaying nearby FlyWeb services", - contractID: "@mozilla.org/network/protocol/about;1?what=flyweb", - classID: Components.ID("{baa04ff0-08b5-11e6-a837-0800200c9a66}"), - QueryInterface: XPCOMUtils.generateQI([Ci.nsIAboutModule]), - - getURIFlags: function(aURI) { - return Ci.nsIAboutModule.ALLOW_SCRIPT; - }, - - newChannel: function(aURI, aLoadInfo) { - let uri = Services.io.newURI("chrome://flyweb/content/aboutFlyWeb.xhtml", null, null); - let channel = Services.io.newChannelFromURIWithLoadInfo(uri, aLoadInfo); - channel.originalURI = aURI; - return channel; - } -}); - -function Factory(component) { - this.createInstance = function(outer, iid) { - if (outer) { - throw Cr.NS_ERROR_NO_AGGREGATION; - } - return new component(); - }; - this.register = function() { - Cm.registerFactory(component.prototype.classID, component.prototype.classDescription, component.prototype.contractID, this); - }; - this.unregister = function() { - Cm.unregisterFactory(component.prototype.classID, this); - } - Object.freeze(this); - this.register(); -} - -let windowListener = { - onOpenWindow: function(aWindow) { - // Wait for the window to finish loading - let domWindow = aWindow.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowInternal || Ci.nsIDOMWindow); - domWindow.addEventListener("UIReady", function onLoad() { - domWindow.removeEventListener("UIReady", onLoad, false); - loadIntoWindow(domWindow); - }, false); - }, - - onCloseWindow: function(aWindow) {}, - onWindowTitleChange: function(aWindow, aTitle) {} -}; - -let FlyWebUI = { - init() { - factory = new Factory(AboutFlyWeb); - - // Load into any existing windows - let windows = Services.wm.getEnumerator("navigator:browser"); - while (windows.hasMoreElements()) { - let domWindow = windows.getNext().QueryInterface(Ci.nsIDOMWindow); - loadIntoWindow(domWindow); - } - - // Load into any new windows - Services.wm.addListener(windowListener); - }, - - uninit() { - factory.unregister(); - - // Stop listening for new windows - Services.wm.removeListener(windowListener); - - // Unload from any existing windows - let windows = Services.wm.getEnumerator("navigator:browser"); - while (windows.hasMoreElements()) { - let domWindow = windows.getNext().QueryInterface(Ci.nsIDOMWindow); - unloadFromWindow(domWindow); - } - } -}; - -function loadIntoWindow(aWindow) { - menuID = aWindow.NativeWindow.menu.add({ - name: gFlyWebBundle.GetStringFromName("flyweb-menu.name"), - callback() { - aWindow.BrowserApp.addTab("about:flyweb"); - } - }); -} - -function unloadFromWindow(aWindow) { - if (!aWindow) { - return; - } - - aWindow.NativeWindow.menu.remove(menuID); -} - -function prefObserver(aSubject, aTopic, aData) { - let enabled = Services.prefs.getBoolPref(FLYWEB_ENABLED_PREF); - if (enabled) { - FlyWebUI.init(); - } else { - FlyWebUI.uninit(); - } -} - -function install(aData, aReason) {} - -function uninstall(aData, aReason) {} - -function startup(aData, aReason) { - // Observe pref changes and enable/disable as necessary. - Services.prefs.addObserver(FLYWEB_ENABLED_PREF, prefObserver, false); - - // Only initialize if pref is enabled. - let enabled = Services.prefs.getBoolPref(FLYWEB_ENABLED_PREF); - if (enabled) { - FlyWebUI.init(); - } -} - -function shutdown(aData, aReason) { - Services.prefs.removeObserver(FLYWEB_ENABLED_PREF, prefObserver); - - let enabled = Services.prefs.getBoolPref(FLYWEB_ENABLED_PREF); - if (enabled) { - FlyWebUI.uninit(); - } -} diff --git a/mobile/android/extensions/flyweb/content/aboutFlyWeb.css b/mobile/android/extensions/flyweb/content/aboutFlyWeb.css deleted file mode 100644 index 0c751b53f..000000000 --- a/mobile/android/extensions/flyweb/content/aboutFlyWeb.css +++ /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 "defines.css" - -.list-item > a { - color: inherit; - text-decoration: none; -} - -.details { - -moz-margin-start: calc(var(--icon-size) + var(--icon-margin) * 2 - 1em); - padding: 1em; -} - -#flyweb-item-template { - display: none; -} - -#flyweb-list-empty { - display: none; -} - -#flyweb-list:empty + #flyweb-list-empty { - display: block; - text-align: center; - padding-top: 3.9em; -} diff --git a/mobile/android/extensions/flyweb/content/aboutFlyWeb.js b/mobile/android/extensions/flyweb/content/aboutFlyWeb.js deleted file mode 100644 index 48b7ea4b7..000000000 --- a/mobile/android/extensions/flyweb/content/aboutFlyWeb.js +++ /dev/null @@ -1,73 +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/. */ -"use strict"; - -const {classes: Cc, interfaces: Ci, utils: Cu} = Components; - -Cu.import("resource://gre/modules/Console.jsm"); -Cu.import("resource://gre/modules/XPCOMUtils.jsm"); - -XPCOMUtils.defineLazyModuleGetter(this, "Services", "resource://gre/modules/Services.jsm"); - -XPCOMUtils.defineLazyGetter(this, "gFlyWebBundle", function() { - return Services.strings.createBundle("chrome://flyweb/locale/flyweb.properties"); -}); - -let discoveryManager = new FlyWebDiscoveryManager(); - -let discoveryCallback = { - onDiscoveredServicesChanged(services) { - if (!this.id) { - return; - } - - let list = document.getElementById("flyweb-list"); - while (list.firstChild) { - list.firstChild.remove(); - } - - let template = document.getElementById("flyweb-item-template"); - - for (let service of services) { - let item = template.cloneNode(true); - item.removeAttribute("id"); - - item.setAttribute("data-service-id", service.serviceId); - item.querySelector(".title").setAttribute("value", service.displayName); - item.querySelector(".icon").src = "chrome://flyweb/content/icon-64.png"; - - list.appendChild(item); - } - }, - start() { - this.id = discoveryManager.startDiscovery(this); - }, - stop() { - discoveryManager.stopDiscovery(this.id); - this.id = undefined; - } -}; - -window.addEventListener("DOMContentLoaded", () => { - let list = document.getElementById("flyweb-list"); - list.addEventListener("click", (evt) => { - let serviceId = evt.target.closest("[data-service-id]").getAttribute("data-service-id"); - - discoveryManager.pairWithService(serviceId, { - pairingSucceeded(service) { - window.open(service.uiUrl, "FlyWebWindow_" + serviceId); - }, - - pairingFailed(error) { - console.error("FlyWeb failed to connect to service " + serviceId, error); - } - }); - }); - - discoveryCallback.start(); -}); - -window.addEventListener("unload", () => { - discoveryCallback.stop(); -}); diff --git a/mobile/android/extensions/flyweb/content/aboutFlyWeb.xhtml b/mobile/android/extensions/flyweb/content/aboutFlyWeb.xhtml deleted file mode 100644 index 85e92ddf8..000000000 --- a/mobile/android/extensions/flyweb/content/aboutFlyWeb.xhtml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" - "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [ -<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" > -%brandDTD; -<!ENTITY % globalDTD SYSTEM "chrome://global/locale/global.dtd" > -%globalDTD; -<!ENTITY % flywebDTD SYSTEM "chrome://flyweb/locale/aboutFlyWeb.dtd" > -%flywebDTD; -]> - -<!-- 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/. --> - -<html xmlns="http://www.w3.org/1999/xhtml" - xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> -<head> - <title>&aboutFlyWeb.title;</title> - <meta name="viewport" content="width=device-width; user-scalable=0" /> - <link rel="icon" type="image/png" sizes="64x64" href="chrome://branding/content/favicon64.png" /> - <link rel="stylesheet" href="chrome://browser/skin/aboutBase.css" type="text/css"/> - <link rel="stylesheet" href="chrome://flyweb/content/aboutFlyWeb.css" type="text/css"/> -</head> - -<body dir="&locale.dir;"> - <!--template id="flyweb-item-template"--> - <li id="flyweb-item-template" class="list-item" role="button"> - <img class="icon" src=""/> - <div class="details"> - <div class="row"> - <!-- This is a hack so that we can crop this label in its center --> - <xul:label class="title" crop="center" value=""/> - </div> - </div> - </li> - <!--/template--> - - <div class="header"> - <div>&aboutFlyWeb.header;</div> - </div> - <ul id="flyweb-list" class="list"></ul> - <span id="flyweb-list-empty">&aboutFlyWeb.empty;</span> - <script type="application/javascript;version=1.8" src="chrome://flyweb/content/aboutFlyWeb.js"/> -</body> -</html> diff --git a/mobile/android/extensions/flyweb/content/icon-64.png b/mobile/android/extensions/flyweb/content/icon-64.png Binary files differdeleted file mode 100644 index be8ece467..000000000 --- a/mobile/android/extensions/flyweb/content/icon-64.png +++ /dev/null diff --git a/mobile/android/extensions/flyweb/install.rdf.in b/mobile/android/extensions/flyweb/install.rdf.in deleted file mode 100644 index dfa7a4262..000000000 --- a/mobile/android/extensions/flyweb/install.rdf.in +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.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/. --> - -#filter substitution - -<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:em="http://www.mozilla.org/2004/em-rdf#"> - - <Description about="urn:mozilla:install-manifest"> - <em:id>flyweb@mozilla.org</em:id> - <em:version>1.0.0</em:version> - <em:type>2</em:type> - <em:bootstrap>true</em:bootstrap> - - <!-- Target Application this theme can install into, - with minimum and maximum supported versions. --> - <em:targetApplication> - <Description> - <em:id>@MOZ_APP_ID@</em:id> - <em:minVersion>@MOZ_APP_VERSION@</em:minVersion> - <em:maxVersion>@MOZ_APP_VERSION@</em:maxVersion> - </Description> - </em:targetApplication> - - <!-- Front End MetaData --> - <em:name>FlyWeb</em:name> - <em:description>Discover nearby services in the browser</em:description> - </Description> -</RDF> diff --git a/mobile/android/extensions/flyweb/jar.mn b/mobile/android/extensions/flyweb/jar.mn deleted file mode 100644 index c0aba080b..000000000 --- a/mobile/android/extensions/flyweb/jar.mn +++ /dev/null @@ -1,10 +0,0 @@ -#filter substitution -# 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/. - -[features/flyweb@mozilla.org] chrome.jar: -% content flyweb %content/ contentaccessible=yes - content/ (content/*) -% locale flyweb en-US %locale/en-US/ - locale/ (locale/*)
\ No newline at end of file diff --git a/mobile/android/extensions/flyweb/locale/en-US/aboutFlyWeb.dtd b/mobile/android/extensions/flyweb/locale/en-US/aboutFlyWeb.dtd deleted file mode 100644 index 9366ea19c..000000000 --- a/mobile/android/extensions/flyweb/locale/en-US/aboutFlyWeb.dtd +++ /dev/null @@ -1,7 +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/. --> - -<!ENTITY aboutFlyWeb.title "FlyWeb"> -<!ENTITY aboutFlyWeb.header "Nearby FlyWeb Services"> -<!ENTITY aboutFlyWeb.empty "No FlyWeb Services Found"> diff --git a/mobile/android/extensions/flyweb/locale/en-US/flyweb.properties b/mobile/android/extensions/flyweb/locale/en-US/flyweb.properties deleted file mode 100644 index 556e646d3..000000000 --- a/mobile/android/extensions/flyweb/locale/en-US/flyweb.properties +++ /dev/null @@ -1,5 +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/. - -flyweb-menu.name = FlyWeb diff --git a/mobile/android/extensions/flyweb/moz.build b/mobile/android/extensions/flyweb/moz.build deleted file mode 100644 index 975e109e5..000000000 --- a/mobile/android/extensions/flyweb/moz.build +++ /dev/null @@ -1,18 +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/. - -DEFINES['MOZ_APP_VERSION'] = CONFIG['MOZ_APP_VERSION'] -DEFINES['MOZ_APP_ID'] = CONFIG['MOZ_APP_ID'] - -FINAL_TARGET_FILES.features['flyweb@mozilla.org'] += [ - 'bootstrap.js' -] - -FINAL_TARGET_PP_FILES.features['flyweb@mozilla.org'] += [ - 'install.rdf.in' -] - -JAR_MANIFESTS += ['jar.mn'] |