Bug 1021156 - Re-enable activity handlers for OMA downloads. r=vingtetun

This commit is contained in:
Antonio M. Amaya 2014-06-17 09:44:00 -04:00
parent 8453cce10c
commit a045096e18
4 changed files with 63 additions and 1 deletions

View File

@ -37,6 +37,10 @@ component {1a94c87a-5ece-4d11-91e1-d29c29f21b28} ProcessGlobal.js
contract @mozilla.org/b2g-process-global;1 {1a94c87a-5ece-4d11-91e1-d29c29f21b28}
category app-startup ProcessGlobal service,@mozilla.org/b2g-process-global;1
# OMAContentHandler.js
component {a6b2ab13-9037-423a-9897-dde1081be323} OMAContentHandler.js
contract @mozilla.org/uriloader/content-handler;1?type=application/vnd.oma.drm.message {a6b2ab13-9037-423a-9897-dde1081be323}
# PaymentGlue.js
component {8b83eabc-7929-47f4-8b48-4dea8d887e4b} PaymentGlue.js
contract @mozilla.org/payment/ui-glue;1 {8b83eabc-7929-47f4-8b48-4dea8d887e4b}

View File

@ -0,0 +1,57 @@
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
"use strict";
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cr = Components.results;
const Cu = Components.utils;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
Cu.import("resource://gre/modules/Services.jsm");
XPCOMUtils.defineLazyGetter(this, "cpmm", function() {
return Cc["@mozilla.org/childprocessmessagemanager;1"]
.getService(Ci.nsIMessageSender);
});
function debug(aMsg) {
//dump("--*-- OMAContentHandler: " + aMsg + "\n");
}
const NS_ERROR_WONT_HANDLE_CONTENT = 0x805d0001;
function OMAContentHandler() {
}
OMAContentHandler.prototype = {
classID: Components.ID("{a6b2ab13-9037-423a-9897-dde1081be323}"),
_xpcom_factory: {
createInstance: function createInstance(outer, iid) {
if (outer != null) {
throw Cr.NS_ERROR_NO_AGGREGATION;
}
return new OMAContentHandler().QueryInterface(iid);
}
},
handleContent: function handleContent(aMimetype, aContext, aRequest) {
if (!(aRequest instanceof Ci.nsIChannel)) {
throw NS_ERROR_WONT_HANDLE_CONTENT;
}
let detail = {
"type": aMimetype,
"url": aRequest.URI.spec
};
cpmm.sendAsyncMessage("content-handler", detail);
aRequest.cancel(Cr.NS_BINDING_ABORTED);
},
QueryInterface: XPCOMUtils.generateQI([Ci.nsIContentHandler])
}
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([OMAContentHandler]);

View File

@ -16,6 +16,7 @@ EXTRA_COMPONENTS += [
'InterAppCommUIGlue.js',
'MailtoProtocolHandler.js',
'MobileIdentityUIGlue.js',
'OMAContentHandler.js',
'PaymentGlue.js',
'ProcessGlobal.js',
'SmsProtocolHandler.js',

View File

@ -803,7 +803,7 @@ bin/components/@DLL_PREFIX@nkgnomevfs@DLL_SUFFIX@
@BINPATH@/components/DirectoryProvider.js
@BINPATH@/components/ActivitiesGlue.js
@BINPATH@/components/ProcessGlobal.js
@BINPATH@/components/ContentHandler.js
@BINPATH@/components/OMAContentHandler.js
@BINPATH@/components/PaymentGlue.js
@BINPATH@/components/YoutubeProtocolHandler.js
@BINPATH@/components/RecoveryService.js