mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-11 04:15:43 +00:00
Bug 979841 - [Tarako]Wifi stay on searching status even scan results available. r=chulee
This commit is contained in:
parent
0be933a4a8
commit
58bfd850d9
@ -135,84 +135,75 @@ DOMWifiManager.prototype = {
|
||||
return;
|
||||
|
||||
let request;
|
||||
if (msg.rid) {
|
||||
request = this.takeRequest(msg.rid);
|
||||
if (!request) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
switch (aMessage.name) {
|
||||
case "WifiManager:getNetworks:Return:OK":
|
||||
request = this.takeRequest(msg.rid);
|
||||
Services.DOMRequest.fireSuccess(request, exposeReadOnly(msg.data));
|
||||
break;
|
||||
|
||||
case "WifiManager:getNetworks:Return:NO":
|
||||
request = this.takeRequest(msg.rid);
|
||||
Services.DOMRequest.fireError(request, "Unable to scan for networks");
|
||||
break;
|
||||
|
||||
case "WifiManager:getKnownNetworks:Return:OK":
|
||||
request = this.takeRequest(msg.rid);
|
||||
Services.DOMRequest.fireSuccess(request, exposeReadOnly(msg.data));
|
||||
break;
|
||||
|
||||
case "WifiManager:getKnownNetworks:Return:NO":
|
||||
request = this.takeRequest(msg.rid);
|
||||
Services.DOMRequest.fireError(request, "Unable to get known networks");
|
||||
break;
|
||||
|
||||
case "WifiManager:associate:Return:OK":
|
||||
request = this.takeRequest(msg.rid);
|
||||
Services.DOMRequest.fireSuccess(request, true);
|
||||
break;
|
||||
|
||||
case "WifiManager:associate:Return:NO":
|
||||
request = this.takeRequest(msg.rid);
|
||||
Services.DOMRequest.fireError(request, "Unable to add the network");
|
||||
break;
|
||||
|
||||
case "WifiManager:forget:Return:OK":
|
||||
request = this.takeRequest(msg.rid);
|
||||
Services.DOMRequest.fireSuccess(request, true);
|
||||
break;
|
||||
|
||||
case "WifiManager:forget:Return:NO":
|
||||
request = this.takeRequest(msg.rid);
|
||||
Services.DOMRequest.fireError(request, msg.data);
|
||||
break;
|
||||
|
||||
case "WifiManager:wps:Return:OK":
|
||||
request = this.takeRequest(msg.rid);
|
||||
Services.DOMRequest.fireSuccess(request, exposeReadOnly(msg.data));
|
||||
break;
|
||||
|
||||
case "WifiManager:wps:Return:NO":
|
||||
request = this.takeRequest(msg.rid);
|
||||
Services.DOMRequest.fireError(request, msg.data);
|
||||
break;
|
||||
|
||||
case "WifiManager:setPowerSavingMode:Return:OK":
|
||||
request = this.takeRequest(msg.rid);
|
||||
Services.DOMRequest.fireSuccess(request, exposeReadOnly(msg.data));
|
||||
break;
|
||||
|
||||
case "WifiManager:setPowerSavingMode:Return:NO":
|
||||
request = this.takeRequest(msg.rid);
|
||||
Services.DOMRequest.fireError(request, msg.data);
|
||||
break;
|
||||
|
||||
case "WifiManager:setHttpProxy:Return:OK":
|
||||
request = this.takeRequest(msg.rid);
|
||||
Services.DOMRequest.fireSuccess(request, exposeReadOnly(msg.data));
|
||||
break;
|
||||
|
||||
case "WifiManager:setHttpProxy:Return:NO":
|
||||
request = this.takeRequest(msg.rid);
|
||||
Services.DOMRequest.fireError(request, msg.data);
|
||||
break;
|
||||
|
||||
case "WifiManager:setStaticIpMode:Return:OK":
|
||||
request = this.takeRequest(msg.rid);
|
||||
Services.DOMRequest.fireSuccess(request, exposeReadOnly(msg.data));
|
||||
break;
|
||||
|
||||
case "WifiManager:setStaticIpMode:Return:NO":
|
||||
request = this.takeRequest(msg.rid);
|
||||
Services.DOMRequest.fireError(request, msg.data);
|
||||
break;
|
||||
|
||||
|
@ -2402,6 +2402,25 @@ WifiWorker.prototype = {
|
||||
_sendMessage: function(message, success, data, msg) {
|
||||
msg.manager.sendAsyncMessage(message + (success ? ":OK" : ":NO"),
|
||||
{ data: data, rid: msg.rid, mid: msg.mid });
|
||||
this._splicePendingRequest(msg);
|
||||
},
|
||||
|
||||
_domRequest: [],
|
||||
|
||||
_splicePendingRequest: function(msg) {
|
||||
for (let i = 0; i < this._domRequest.length; i++) {
|
||||
if (this._domRequest[i].msg === msg) {
|
||||
this._domRequest.splice(i, 1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
_clearPendingRequest: function() {
|
||||
if (this._domRequest.length === 0) return;
|
||||
this._domRequest.forEach(function(req) {
|
||||
this._sendMessage(req.name + ":Return", false, "Wifi is disabled", req.msg);
|
||||
});
|
||||
},
|
||||
|
||||
receiveMessage: function MessageManager_receiveMessage(aMessage) {
|
||||
@ -2433,6 +2452,11 @@ WifiWorker.prototype = {
|
||||
return;
|
||||
}
|
||||
|
||||
// We are interested in DOMRequests only.
|
||||
if (aMessage.name != "WifiManager:getState") {
|
||||
this._domRequest.push({name: aMessage.name, msg:msg});
|
||||
}
|
||||
|
||||
switch (aMessage.name) {
|
||||
case "WifiManager:getNetworks":
|
||||
this.getNetworks(msg);
|
||||
@ -2612,6 +2636,11 @@ WifiWorker.prototype = {
|
||||
},
|
||||
|
||||
setWifiEnabled: function(enabled, callback) {
|
||||
// Reply error to pending requests.
|
||||
if (!enabled) {
|
||||
this._clearPendingRequest();
|
||||
}
|
||||
|
||||
WifiManager.setWifiEnabled(enabled, callback);
|
||||
},
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user