Bug 776027 - Pass web activities to Java. r=wesj

This commit is contained in:
Josh Dover 2014-04-14 17:47:00 +02:00
parent dd5f90c9c7
commit 2c4c356661
5 changed files with 46 additions and 0 deletions

View File

@ -590,6 +590,8 @@ pref("image.mem.min_discard_timeout_ms", 10000);
#ifdef NIGHTLY_BUILD
// Shumway component (SWF player) is disabled by default. Also see bug 904346.
pref("shumway.disabled", true);
// Enabled system messages for web activity support
pref("dom.sysmsg.enabled", true);
#endif
// enable touch events interfaces

View File

@ -0,0 +1,31 @@
/* 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 Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
Cu.import("resource://gre/modules/Messaging.jsm");
function ActivitiesGlue() { }
ActivitiesGlue.prototype = {
QueryInterface: XPCOMUtils.generateQI([Ci.nsIActivityUIGlue]),
classID: Components.ID("{e4deb5f6-d5e3-4fce-bc53-901dd9951c48}"),
// Ignore aActivities results on Android, go straight to Android intents.
chooseActivity: function ap_chooseActivity(aOptions, aActivities, aCallback) {
sendMessageToJava({
type: "WebActivity:Open",
activity: { name: aOptions.name, data: aOptions.data }
}, (result) => {
aCallback.handleEvent(Ci.nsIActivityUIGlueCallback.NATIVE_ACTIVITY, result);
});
}
};
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([ActivitiesGlue]);

View File

@ -118,3 +118,7 @@ category update-timer WebappsUpdateTimer @mozilla.org/webapps-update-timer;1,get
# ColorPicker.js
component {430b987f-bb9f-46a3-99a5-241749220b29} ColorPicker.js
contract @mozilla.org/colorpicker;1 {430b987f-bb9f-46a3-99a5-241749220b29}
# ActivitiesGlue.js
component {e4deb5f6-d5e3-4fce-bc53-901dd9951c48} ActivitiesGlue.js
contract @mozilla.org/dom/activities/ui-glue;1 {e4deb5f6-d5e3-4fce-bc53-901dd9951c48}

View File

@ -11,6 +11,7 @@ XPIDL_SOURCES += [
XPIDL_MODULE = 'MobileComponents'
EXTRA_COMPONENTS += [
'ActivitiesGlue.js',
'AddonUpdateService.js',
'BlocklistPrompt.js',
'ColorPicker.js',

View File

@ -134,6 +134,7 @@
@BINPATH@/components/directory.xpt
@BINPATH@/components/docshell.xpt
@BINPATH@/components/dom.xpt
@BINPATH@/components/dom_activities.xpt
@BINPATH@/components/dom_apps.xpt
@BINPATH@/components/dom_base.xpt
@BINPATH@/components/dom_canvas.xpt
@ -398,6 +399,13 @@
@BINPATH@/components/SystemMessageManager.js
@BINPATH@/components/SystemMessageManager.manifest
@BINPATH@/components/Activities.manifest
@BINPATH@/components/ActivitiesGlue.js
@BINPATH@/components/ActivityProxy.js
@BINPATH@/components/ActivityRequestHandler.js
@BINPATH@/components/ActivityWrapper.js
@BINPATH@/components/ActivityMessageConfigurator.js
@BINPATH@/components/TCPSocket.js
@BINPATH@/components/TCPSocketParentIntermediary.js
@BINPATH@/components/TCPServerSocket.js