Bug 1078113 - Use Cu.cloneInfo() to wrap returned values. r=bzbarsky r=vchang
--- a/dom/wifi/DOMWifiManager.js
+++ b/dom/wifi/DOMWifiManager.js
@@ -178,48 +178,16 @@ DOMWifiManager.prototype = {
},
_convertWifiCapabilities: function(aCapabilities) {
let capabilities = aCapabilities ?
new MozWifiCapabilities(aCapabilities) : null;
return capabilities;
},
- _genReadonlyPropDesc: function(value) {
- return {
- enumerable: true, configurable: false, writable: false, value: value
- };
- },
-
- _convertWifiCertificateInfo: function(aInfo) {
- let propList = {};
- for (let k in aInfo) {
- propList[k] = this._genReadonlyPropDesc(aInfo[k]);
- }
-
- let info = Cu.createObjectIn(this._window);
- Object.defineProperties(info, propList);
- Cu.makeObjectPropsNormal(info);
-
- return info;
- },
-
- _convertWifiCertificateList: function(aList) {
- let propList = {};
- for (let k in aList) {
- propList[k] = this._genReadonlyPropDesc(aList[k]);
- }
-
- let list = Cu.createObjectIn(this._window);
- Object.defineProperties(list, propList);
- Cu.makeObjectPropsNormal(list);
-
- return list;
- },
-
_sendMessageForRequest: function(name, data, request) {
let id = this.getRequestId(request);
this._mm.sendAsyncMessage(name, { data: data, rid: id, mid: this._id });
},
receiveMessage: function(aMessage) {
let msg = aMessage.json;
if (msg.mid && msg.mid != this._id)
@@ -302,25 +270,25 @@ DOMWifiManager.prototype = {
Services.DOMRequest.fireSuccess(request, msg.data);
break;
case "WifiManager:setStaticIpMode:Return:NO":
Services.DOMRequest.fireError(request, msg.data);
break;
case "WifiManager:importCert:Return:OK":
- Services.DOMRequest.fireSuccess(request, this._convertWifiCertificateInfo(msg.data));
+ Services.DOMRequest.fireSuccess(request, Cu.cloneInto(msg.data, this._window));
break;
case "WifiManager:importCert:Return:NO":
Services.DOMRequest.fireError(request, msg.data);
break;
case "WifiManager:getImportedCerts:Return:OK":
- Services.DOMRequest.fireSuccess(request, this._convertWifiCertificateList(msg.data));
+ Services.DOMRequest.fireSuccess(request, Cu.cloneInto(msg.data, this._window));
break;
case "WifiManager:getImportedCerts:Return:NO":
Services.DOMRequest.fireError(request, msg.data);
break;
case "WifiManager:deleteCert:Return:OK":
Services.DOMRequest.fireSuccess(request, msg.data);