You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Axel Nennker (JIRA)" <ji...@apache.org> on 2015/02/09 23:44:34 UTC
[jira] [Created] (CB-8448) Add support for "activities" field in
FirefoxOS manifest.webapp
Axel Nennker created CB-8448:
--------------------------------
Summary: Add support for "activities" field in FirefoxOS manifest.webapp
Key: CB-8448
URL: https://issues.apache.org/jira/browse/CB-8448
Project: Apache Cordova
Issue Type: Bug
Components: FirefoxOS
Reporter: Axel Nennker
FirefoxOS manifest files allow a richer set of fields than currently supported by firefoxos_parser.js
https://github.com/apache/cordova-lib/blob/master/cordova-lib/src/cordova/metadata/firefoxos_parser.js
E.g.: "activities"
https://developer.mozilla.org/de/Apps/Manifest#activities
This is needed to e.g. open files of a defined mime type.
Extend syntax of plugin.xml like e.g.:
<platform name="firefoxos">
<config-file target="config.xml" parent="/*">
<activities>
<activity name="open" href="./import.html" disposition="inline">
<filter type="application/wallet-import" />
</activity>
</activities>
</config-file>
</platform>
This results e.g. in
"activities": {
"open": {
"href": "./import.html",
"disposition": "inline",
"filters": {
"type": "application/wallet-import"
}
}
},
Lines needed for this in firefoxos_parser.js:
var activitiesNodes = config.doc.findall('activities');
activitiesNodes.forEach(function(activitiesNode) {
var activityNodes = activitiesNode.findall('activity');
if (activityNodes.length) {
var activities = {};
activityNodes.forEach(function (node) {
var name = node.attrib.name;
var href = node.attrib.href;
if (name && href) {
events.emit('verbose', 'activity name='+name+' href='+href);
activities[name] = {};
activities[name].href = href;
var disposition = node.attrib.disposition;
if (disposition) {
activities[name].disposition = disposition;
}
activities[name].filters = {};
var filterNodes = node.findall('filter');
filterNodes.forEach(function(filter) {
var type = filter.attrib.type;
if (type) {
activities[name].filters.type = type;
}
});
} else {
events.emit('warn', 'activity without name='+name+'or href='+href);
}
});
manifest.activities = activities;
}
});
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org