зеркало из https://github.com/mozilla/gecko-dev.git
Bug 821484 - ASSERTION: mDone shouldn't have been set to true already!: '!mDone', file dom/base/DOMRequest.cpp, line 113. r=sicking
This commit is contained in:
Родитель
25c6a67c56
Коммит
53230f5ec7
|
@ -54,7 +54,10 @@ SettingsLock.prototype = {
|
||||||
req.onerror = function() { Services.DOMRequest.fireError(request, 0) };
|
req.onerror = function() { Services.DOMRequest.fireError(request, 0) };
|
||||||
break;
|
break;
|
||||||
case "set":
|
case "set":
|
||||||
for (let key in info.settings) {
|
let keys = Object.getOwnPropertyNames(info.settings);
|
||||||
|
for (let i = 0; i < keys.length; i++) {
|
||||||
|
let key = keys[i];
|
||||||
|
let last = i === keys.length - 1;
|
||||||
debug("key: " + key + ", val: " + JSON.stringify(info.settings[key]) + ", type: " + typeof(info.settings[key]));
|
debug("key: " + key + ", val: " + JSON.stringify(info.settings[key]) + ", type: " + typeof(info.settings[key]));
|
||||||
|
|
||||||
let checkKeyRequest = store.get(key);
|
let checkKeyRequest = store.get(key);
|
||||||
|
@ -73,14 +76,18 @@ SettingsLock.prototype = {
|
||||||
}
|
}
|
||||||
|
|
||||||
req.onsuccess = function() {
|
req.onsuccess = function() {
|
||||||
|
if (last && !request.error) {
|
||||||
lock._open = true;
|
lock._open = true;
|
||||||
Services.DOMRequest.fireSuccess(request, 0);
|
Services.DOMRequest.fireSuccess(request, 0);
|
||||||
cpmm.sendAsyncMessage("Settings:Changed", { key: key, value: info.settings[key] });
|
|
||||||
lock._open = false;
|
lock._open = false;
|
||||||
|
}
|
||||||
|
cpmm.sendAsyncMessage("Settings:Changed", { key: key, value: info.settings[key] });
|
||||||
};
|
};
|
||||||
|
|
||||||
req.onerror = function() {
|
req.onerror = function() {
|
||||||
Services.DOMRequest.fireError(request, 0)
|
if (!request.error) {
|
||||||
|
Services.DOMRequest.fireError(request, req.error.name)
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -43,6 +43,13 @@ var screenBright = {"screen.brightness": 0.7};
|
||||||
var wifiNetworks0 = { "wifi.networks[0]": { ssid: "myfreenetwork", mac: "01:23:45:67:89:ab", passwd: "secret"}};
|
var wifiNetworks0 = { "wifi.networks[0]": { ssid: "myfreenetwork", mac: "01:23:45:67:89:ab", passwd: "secret"}};
|
||||||
var wifiNetworks1 = { "wifi.networks[1]": { ssid: "myfreenetwork2", mac: "01:23:45:67:89:ab", passwd: "secret2"}};
|
var wifiNetworks1 = { "wifi.networks[1]": { ssid: "myfreenetwork2", mac: "01:23:45:67:89:ab", passwd: "secret2"}};
|
||||||
|
|
||||||
|
var combination = {
|
||||||
|
"wifi.enabled": false,
|
||||||
|
"screen.brightness": 0.7,
|
||||||
|
"wifi.networks[0]": { ssid: "myfreenetwork", mac: "01:23:45:67:89:ab", passwd: "secret" },
|
||||||
|
"test.test": true
|
||||||
|
}
|
||||||
|
|
||||||
function equals(o1, o2) {
|
function equals(o1, o2) {
|
||||||
var k1 = Object.keys(o1).sort();
|
var k1 = Object.keys(o1).sort();
|
||||||
var k2 = Object.keys(o2).sort();
|
var k2 = Object.keys(o2).sort();
|
||||||
|
@ -611,6 +618,36 @@ var steps = [
|
||||||
};
|
};
|
||||||
req.onerror = onFailure;
|
req.onerror = onFailure;
|
||||||
},
|
},
|
||||||
|
function() {
|
||||||
|
ok(true, "Set with multiple arguments");
|
||||||
|
var lock = mozSettings.createLock();
|
||||||
|
req = lock.set(combination);
|
||||||
|
req.onsuccess = function () {
|
||||||
|
ok(true, "Set Done");
|
||||||
|
next();
|
||||||
|
};
|
||||||
|
req.onerror = onFailure;
|
||||||
|
},
|
||||||
|
function() {
|
||||||
|
ok(true, "request argument from multiple set");
|
||||||
|
var lock = mozSettings.createLock();
|
||||||
|
req = lock.get("screen.brightness");
|
||||||
|
req.onsuccess = function () {
|
||||||
|
check(req.result["screen.brightness"], 0.7, "get done");
|
||||||
|
next();
|
||||||
|
}
|
||||||
|
req.onerror = onFailure;
|
||||||
|
},
|
||||||
|
function() {
|
||||||
|
ok(true, "Clear DB");
|
||||||
|
var lock = mozSettings.createLock();
|
||||||
|
req = lock.clear();
|
||||||
|
req.onsuccess = function () {
|
||||||
|
ok(true, "Deleted the database");
|
||||||
|
next();
|
||||||
|
};
|
||||||
|
req.onerror = onFailure;
|
||||||
|
},
|
||||||
function () {
|
function () {
|
||||||
ok(true, "all done!\n");
|
ok(true, "all done!\n");
|
||||||
SimpleTest.finish();
|
SimpleTest.finish();
|
||||||
|
|
Загрузка…
Ссылка в новой задаче