You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by "Adam Winer (JIRA)" <ji...@apache.org> on 2009/02/17 19:54:59 UTC
[jira] Resolved: (SHINDIG-911) bugs about
features/setprefs/setprefs.js
[ https://issues.apache.org/jira/browse/SHINDIG-911?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Adam Winer resolved SHINDIG-911.
--------------------------------
Resolution: Fixed
Fixed both of the bugs in the issue.
> bugs about features/setprefs/setprefs.js
> ----------------------------------------
>
> Key: SHINDIG-911
> URL: https://issues.apache.org/jira/browse/SHINDIG-911
> Project: Shindig
> Issue Type: Bug
> Components: Javascript
> Reporter: Pan Jie
> Assignee: Adam Winer
> Priority: Minor
>
> Here is features/setprefs/setprefs.js
> /**
> * Stores a preference.
> * @param {String | Object} key The pref to store.
> * @param {String} val The values to store.
> * @private This feature is documented in prefs.js
> */
> gadgets.Prefs.prototype.set = function(key, value) {
> if (arguments.length > 2) {
> // For backwards compatibility. This can take the form:
> // prefs.set(key0, value0, key1, value1, key2, value2);
> // prefs.set({key0: value0, key1: value1, key2: value2});
> var obj = {};
> for (var i = 0, j = arguments.length; i < j; i += 2) {
> obj[arguments[i]] = arguments[i + 1];
> }
> gadgets.Prefs.setInternal_(obj);
> } else {
> gadgets.Prefs.setInternal_(key, value);
> }
> var args = [
> null, // go to parent
> "set_pref", // service name
> null, // no callback
> gadgets.util.getUrlParameters().ifpctok || 0 // Legacy IFPC "security".
> ].concat(Array.prototype.slice.call(arguments));
> gadgets.rpc.call.apply(gadgets.rpc, args);
> };
> /**
> * Stores a preference from the given list.
> * @param {String} key The pref to store.
> * @param {Array.<String | Number>} val The values to store.
> * @private This feature is documented in prefs.js
> */
> gadgets.Prefs.prototype.setArray = function(key, val) {
> // We must escape pipe (|) characters to ensure that decoding in
> // getArray actually works properly.
> for (var i = 0, j = val.length; i < j; ++i) {
> val[i] = val[i].replace(/\|/g, "%7C");
> }
> gadgets.Prefs.setInternal_(key, val.join('|'));
> };
> 1. setArray should allow Array<Number> as parameter val. But code "val[i].replace(/\|/g, "%7C");" will failed if val[i] is not string.
> 2. setArray should also call rpc "set_pref" to change user preferences similar to gadgets.Prefs.prototype.set. But there were no such code.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.