mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-03-01 13:57:32 +00:00
merge b2g-inbound to mozilla-central
This commit is contained in:
commit
870d0dbfe4
@ -12,7 +12,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="ffb527b84594396ed611edf0a8a5a130d60a742f"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0eadf61ef60f13324fe8290d8c2b516d98230fdc"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="d11f524d00cacf5ba0dfbf25e4aa2158b1c3a036"/>
|
||||
|
@ -11,7 +11,7 @@
|
||||
</project>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="ffb527b84594396ed611edf0a8a5a130d60a742f"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="0eadf61ef60f13324fe8290d8c2b516d98230fdc"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="3d5c964015967ca8c86abe6dbbebee3cb82b1609"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="a314508e397c8f1814228d36259ea8708034444e"/>
|
||||
|
@ -12,7 +12,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="ffb527b84594396ed611edf0a8a5a130d60a742f"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0eadf61ef60f13324fe8290d8c2b516d98230fdc"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="d11f524d00cacf5ba0dfbf25e4aa2158b1c3a036"/>
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
"revision": "894a7f2886a7a727ce03edadbbea936ceb4aaeba",
|
||||
"revision": "35ef07425e808811af0462a6ba08c36409236846",
|
||||
"repo_path": "/integration/gaia-central"
|
||||
}
|
||||
|
@ -11,7 +11,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="ffb527b84594396ed611edf0a8a5a130d60a742f"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0eadf61ef60f13324fe8290d8c2b516d98230fdc"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="84f2f2fce22605e17d511ff1767e54770067b5b5"/>
|
||||
|
@ -10,7 +10,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="ffb527b84594396ed611edf0a8a5a130d60a742f"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0eadf61ef60f13324fe8290d8c2b516d98230fdc"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="84f2f2fce22605e17d511ff1767e54770067b5b5"/>
|
||||
|
@ -12,7 +12,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="ffb527b84594396ed611edf0a8a5a130d60a742f"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0eadf61ef60f13324fe8290d8c2b516d98230fdc"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="84f2f2fce22605e17d511ff1767e54770067b5b5"/>
|
||||
|
@ -11,7 +11,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="ffb527b84594396ed611edf0a8a5a130d60a742f"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0eadf61ef60f13324fe8290d8c2b516d98230fdc"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="84f2f2fce22605e17d511ff1767e54770067b5b5"/>
|
||||
|
@ -11,7 +11,7 @@
|
||||
</project>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="ffb527b84594396ed611edf0a8a5a130d60a742f"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="0eadf61ef60f13324fe8290d8c2b516d98230fdc"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="3d5c964015967ca8c86abe6dbbebee3cb82b1609"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="a314508e397c8f1814228d36259ea8708034444e"/>
|
||||
|
@ -11,7 +11,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="ffb527b84594396ed611edf0a8a5a130d60a742f"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0eadf61ef60f13324fe8290d8c2b516d98230fdc"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="84f2f2fce22605e17d511ff1767e54770067b5b5"/>
|
||||
|
@ -41,7 +41,7 @@
|
||||
var iframe = document.createElement("iframe");
|
||||
iframe.setAttribute("mozbrowser", "true");
|
||||
iframe.setAttribute("ignoreuserfocus", "true");
|
||||
iframe.setAttribute("height", "500px");
|
||||
iframe.setAttribute("height", "300px");
|
||||
iframe.setAttribute("src", "file_ignoreuserfocus.html");
|
||||
|
||||
iframe.addEventListener('load', function (e) {
|
||||
@ -102,7 +102,6 @@
|
||||
|
||||
// Test the case when iframe contains <area> and .focus()
|
||||
// is called and explicit focus using mouse
|
||||
witness.focus();
|
||||
|
||||
// Wait for paint to setup frame for area. Currently the area frame
|
||||
// map is reset for each paint. If we are in the middle of a paint
|
||||
@ -126,7 +125,12 @@
|
||||
|
||||
SimpleTest.finish();
|
||||
});
|
||||
witness.focus();
|
||||
// force reflow
|
||||
var reflow = iframe.offsetLeft;
|
||||
});
|
||||
// force reflow
|
||||
var reflow = iframe.offsetLeft;
|
||||
});
|
||||
|
||||
document.body.appendChild(witness);
|
||||
|
@ -143,8 +143,9 @@ interface nsIDOMMozMobileConnection : nsIDOMEventTarget
|
||||
* @param type
|
||||
* DOMString indicates the desired preferred network type.
|
||||
* Possible values: 'wcdma/gsm', 'gsm', 'wcdma', 'wcdma/gsm-auto',
|
||||
* 'cdma/evdo', 'cdma', 'evdo', or
|
||||
* 'wcdma/gsm/cdma/evdo'.
|
||||
* 'cdma/evdo', 'cdma', 'evdo', 'wcdma/gsm/cdma/evdo',
|
||||
* 'lte/cdma/evdo', 'lte/wcdma/gsm',
|
||||
* 'lte/wcdma/gsm/cdma/evdo' or 'lte'.
|
||||
*
|
||||
* If successful, the request's onsuccess will be called.
|
||||
*
|
||||
@ -163,7 +164,8 @@ interface nsIDOMMozMobileConnection : nsIDOMEventTarget
|
||||
* If successful, the request's onsuccess will be called. And the request's
|
||||
* result will be a string indicating the current preferred network type.
|
||||
* The value will be either 'wcdma/gsm', 'gsm', 'wcdma', 'wcdma/gsm-auto',
|
||||
* 'cdma/evdo', 'cdma', 'evdo', or 'wcdma/gsm/cdma/evdo'.
|
||||
* 'cdma/evdo', 'cdma', 'evdo', 'wcdma/gsm/cdma/evdo', 'lte/cdma/evdo',
|
||||
* 'lte/wcdma/gsm', 'lte/wcdma/gsm/cdma/evdo' or 'lte'.
|
||||
*
|
||||
* Otherwise, the request's onerror will be called, and the request's error
|
||||
* will be either 'RadioNotAvailable', 'RequestNotSupported',
|
||||
|
@ -2,15 +2,57 @@
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
MARIONETTE_TIMEOUT = 60000;
|
||||
MARIONETTE_HEAD_JS = "mobile_header.js";
|
||||
|
||||
SpecialPowers.addPermission("mobileconnection", true, document);
|
||||
function doSetAndVerifyPreferredNetworkType(preferredNetworkType, callback) {
|
||||
log("setPreferredNetworkType to '" + preferredNetworkType + "'.");
|
||||
let setRequest = mobileConnection.setPreferredNetworkType(preferredNetworkType);
|
||||
ok(setRequest instanceof DOMRequest,
|
||||
"setRequest instanceof " + setRequest.constructor);
|
||||
|
||||
let connection = navigator.mozMobileConnections[0];
|
||||
ok(connection instanceof MozMobileConnection,
|
||||
"connection is instanceof " + connection.constructor);
|
||||
setRequest.onsuccess = function() {
|
||||
log("Verify preferred network.");
|
||||
let getRequest = mobileConnection.getPreferredNetworkType();
|
||||
ok(getRequest instanceof DOMRequest,
|
||||
"getRequest instanceof " + getRequest.constructor);
|
||||
|
||||
function testSupportedNetworkTypes() {
|
||||
let supportedNetworkTypes = connection.supportedNetworkTypes;
|
||||
getRequest.onsuccess = function() {
|
||||
is(getRequest.result, preferredNetworkType, "Check preferred network type.");
|
||||
callback();
|
||||
};
|
||||
|
||||
getRequest.onerror = function() {
|
||||
ok(false, "getPreferredNetworkType got error: " + getRequest.error.name);
|
||||
callback();
|
||||
};
|
||||
};
|
||||
|
||||
setRequest.onerror = function() {
|
||||
ok(false, "setPreferredNetwork got error: " + setRequest.error.name);
|
||||
callback();
|
||||
};
|
||||
}
|
||||
|
||||
function doFailToSetPreferredNetworkType(preferredNetworkType, expectedError, callback) {
|
||||
log("setPreferredNetworkType to '" + preferredNetworkType + "'.");
|
||||
let request = mobileConnection.setPreferredNetworkType(preferredNetworkType);
|
||||
ok(request instanceof DOMRequest,
|
||||
"request instanceof " + request.constructor);
|
||||
|
||||
request.onsuccess = function() {
|
||||
ok(false, "Should not success");
|
||||
callback();
|
||||
};
|
||||
|
||||
request.onerror = function() {
|
||||
is(request.error.name, expectedError, "Check error message.");
|
||||
callback();
|
||||
};
|
||||
}
|
||||
|
||||
/* Test supportedNetworkTypes */
|
||||
taskHelper.push(function testSupportedNetworkTypes() {
|
||||
let supportedNetworkTypes = mobileConnection.supportedNetworkTypes;
|
||||
|
||||
ok(Array.isArray(supportedNetworkTypes), "supportedNetworkTypes should be an array");
|
||||
ok(supportedNetworkTypes.indexOf("gsm") >= 0, "Should support 'gsm'");
|
||||
@ -18,136 +60,72 @@ function testSupportedNetworkTypes() {
|
||||
ok(supportedNetworkTypes.indexOf("cdma") >= 0, "Should support 'cdma'");
|
||||
ok(supportedNetworkTypes.indexOf("evdo") >= 0, "Should support 'evdo'");
|
||||
|
||||
runNextTest();
|
||||
}
|
||||
taskHelper.runNext();
|
||||
});
|
||||
|
||||
function setPreferredNetworkType(type, callback) {
|
||||
log("setPreferredNetworkType: " + type);
|
||||
/* Test switching to supported preferred types */
|
||||
taskHelper.push(function testPreferredNetworkTypes() {
|
||||
let supportedTypes = [
|
||||
'gsm',
|
||||
'wcdma',
|
||||
'wcdma/gsm-auto',
|
||||
'cdma/evdo',
|
||||
'evdo',
|
||||
'cdma',
|
||||
'wcdma/gsm/cdma/evdo',
|
||||
// Restore to default
|
||||
'wcdma/gsm'
|
||||
];
|
||||
|
||||
let request = connection.setPreferredNetworkType(type);
|
||||
ok(request instanceof DOMRequest,
|
||||
"request instanceof " + request.constructor);
|
||||
// Run all test data.
|
||||
(function do_call() {
|
||||
let type = supportedTypes.shift();
|
||||
if (!type) {
|
||||
taskHelper.runNext();
|
||||
return;
|
||||
}
|
||||
doSetAndVerifyPreferredNetworkType(type, do_call);
|
||||
})();
|
||||
});
|
||||
|
||||
request.onsuccess = function onsuccess() {
|
||||
ok(true, "request success");
|
||||
callback();
|
||||
}
|
||||
request.onerror = function onerror() {
|
||||
ok(false, request.error);
|
||||
callback();
|
||||
}
|
||||
}
|
||||
/* Test switching to unsupported preferred types */
|
||||
taskHelper.push(function testUnsupportedPreferredNetworkTypes() {
|
||||
// Currently emulator doesn't support lte network
|
||||
let unsupportedTypes = [
|
||||
'lte/cdma/evdo',
|
||||
'lte/wcdma/gsm',
|
||||
'lte/wcdma/gsm/cdma/evdo',
|
||||
'lte'
|
||||
];
|
||||
|
||||
function getPreferredNetworkType(callback) {
|
||||
log("getPreferredNetworkType");
|
||||
// Run all test data.
|
||||
(function do_call() {
|
||||
let type = unsupportedTypes.shift();
|
||||
if (!type) {
|
||||
taskHelper.runNext();
|
||||
return;
|
||||
}
|
||||
doFailToSetPreferredNetworkType(type, "ModeNotSupported", do_call);
|
||||
})();
|
||||
});
|
||||
|
||||
let request = connection.getPreferredNetworkType();
|
||||
ok(request instanceof DOMRequest,
|
||||
"request instanceof " + request.constructor);
|
||||
/* Test switching to invalid preferred types */
|
||||
taskHelper.push(function testInvalidPreferredNetworkTypes() {
|
||||
let invalidTypes = [
|
||||
' ',
|
||||
'AnInvalidType'
|
||||
];
|
||||
|
||||
request.onsuccess = function onsuccess() {
|
||||
ok(true, "request success");
|
||||
log("getPreferredNetworkType: " + request.result);
|
||||
callback(request.result);
|
||||
}
|
||||
request.onerror = function onerror() {
|
||||
ok(false, request.error);
|
||||
callback();
|
||||
}
|
||||
}
|
||||
// Run all test data.
|
||||
(function do_call() {
|
||||
let type = invalidTypes.shift();
|
||||
if (!type) {
|
||||
taskHelper.runNext();
|
||||
return;
|
||||
}
|
||||
doFailToSetPreferredNetworkType(type, "InvalidParameter", do_call);
|
||||
})();
|
||||
});
|
||||
|
||||
function failToSetPreferredNetworkType(type, expectedError, callback) {
|
||||
log("failToSetPreferredNetworkType: " + type + ", expected error: "
|
||||
+ expectedError);
|
||||
|
||||
let request = connection.setPreferredNetworkType(type);
|
||||
ok(request instanceof DOMRequest,
|
||||
"request instanceof " + request.constructor);
|
||||
|
||||
request.onsuccess = function onsuccess() {
|
||||
ok(false, "request should not succeed");
|
||||
callback();
|
||||
}
|
||||
request.onerror = function onerror() {
|
||||
ok(true, "request error");
|
||||
is(request.error.name, expectedError);
|
||||
callback();
|
||||
}
|
||||
}
|
||||
|
||||
function setAndVerifyNetworkType(type) {
|
||||
setPreferredNetworkType(type, function() {
|
||||
getPreferredNetworkType(function(result) {
|
||||
is(result, type);
|
||||
testPreferredNetworkTypes();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function testPreferredNetworkTypes() {
|
||||
let networkType = supportedTypes.shift();
|
||||
if (!networkType) {
|
||||
runNextTest();
|
||||
return;
|
||||
}
|
||||
setAndVerifyNetworkType(networkType);
|
||||
}
|
||||
|
||||
function failToSetAndVerifyNetworkType(type, expectedError, previousType) {
|
||||
failToSetPreferredNetworkType(type, expectedError, function() {
|
||||
getPreferredNetworkType(function(result) {
|
||||
// should return the previous selected type.
|
||||
is(result, previousType);
|
||||
testInvalidNetworkTypes();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function testInvalidNetworkTypes() {
|
||||
let networkType = invalidTypes.shift();
|
||||
if (!networkType) {
|
||||
runNextTest();
|
||||
return;
|
||||
}
|
||||
failToSetAndVerifyNetworkType(networkType, "InvalidParameter",
|
||||
"wcdma/gsm");
|
||||
}
|
||||
|
||||
let supportedTypes = [
|
||||
'gsm',
|
||||
'wcdma',
|
||||
'wcdma/gsm-auto',
|
||||
'cdma/evdo',
|
||||
'evdo',
|
||||
'cdma',
|
||||
'wcdma/gsm/cdma/evdo',
|
||||
'wcdma/gsm' // restore to default
|
||||
];
|
||||
|
||||
let invalidTypes = [
|
||||
' ',
|
||||
'AnInvalidType'
|
||||
];
|
||||
|
||||
let tests = [
|
||||
testSupportedNetworkTypes,
|
||||
testPreferredNetworkTypes,
|
||||
testInvalidNetworkTypes
|
||||
];
|
||||
|
||||
function runNextTest() {
|
||||
let test = tests.shift();
|
||||
if (!test) {
|
||||
cleanUp();
|
||||
return;
|
||||
}
|
||||
|
||||
test();
|
||||
}
|
||||
|
||||
function cleanUp() {
|
||||
SpecialPowers.removePermission("mobileconnection", document);
|
||||
finish();
|
||||
}
|
||||
|
||||
runNextTest();
|
||||
// Start test
|
||||
taskHelper.runNext();
|
||||
|
@ -412,6 +412,10 @@ this.GECKO_PREFERRED_NETWORK_TYPE_CDMA_EVDO = "cdma/evdo";
|
||||
this.GECKO_PREFERRED_NETWORK_TYPE_CDMA_ONLY = "cdma";
|
||||
this.GECKO_PREFERRED_NETWORK_TYPE_EVDO_ONLY = "evdo";
|
||||
this.GECKO_PREFERRED_NETWORK_TYPE_WCDMA_GSM_CDMA_EVDO = "wcdma/gsm/cdma/evdo";
|
||||
this.GECKO_PREFERRED_NETWORK_TYPE_LTE_CDMA_EVDO = "lte/cdma/evdo";
|
||||
this.GECKO_PREFERRED_NETWORK_TYPE_LTE_WCDMA_GSM = "lte/wcdma/gsm";
|
||||
this.GECKO_PREFERRED_NETWORK_TYPE_LTE_WCDMA_GSM_CDMA_EVDO = "lte/wcdma/gsm/cdma/evdo";
|
||||
this.GECKO_PREFERRED_NETWORK_TYPE_LTE_ONLY = "lte";
|
||||
this.GECKO_PREFERRED_NETWORK_TYPE_DEFAULT = GECKO_PREFERRED_NETWORK_TYPE_WCDMA_GSM;
|
||||
this.RIL_PREFERRED_NETWORK_TYPE_TO_GECKO = [
|
||||
GECKO_PREFERRED_NETWORK_TYPE_WCDMA_GSM,
|
||||
@ -421,7 +425,11 @@ this.RIL_PREFERRED_NETWORK_TYPE_TO_GECKO = [
|
||||
GECKO_PREFERRED_NETWORK_TYPE_CDMA_EVDO,
|
||||
GECKO_PREFERRED_NETWORK_TYPE_CDMA_ONLY,
|
||||
GECKO_PREFERRED_NETWORK_TYPE_EVDO_ONLY,
|
||||
GECKO_PREFERRED_NETWORK_TYPE_WCDMA_GSM_CDMA_EVDO
|
||||
GECKO_PREFERRED_NETWORK_TYPE_WCDMA_GSM_CDMA_EVDO,
|
||||
GECKO_PREFERRED_NETWORK_TYPE_LTE_CDMA_EVDO,
|
||||
GECKO_PREFERRED_NETWORK_TYPE_LTE_WCDMA_GSM,
|
||||
GECKO_PREFERRED_NETWORK_TYPE_LTE_WCDMA_GSM_CDMA_EVDO,
|
||||
GECKO_PREFERRED_NETWORK_TYPE_LTE_ONLY
|
||||
];
|
||||
|
||||
this.GECKO_SUPPORTED_NETWORK_TYPES_DEFAULT = "gsm,wcdma,cdma,evdo";
|
||||
@ -2442,14 +2450,26 @@ this.GECKO_CARDSTATE_PERSONALIZATION_IN_PROGRESS = "personalizationInProgress"
|
||||
this.GECKO_CARDSTATE_PERSONALIZATION_READY = "personalizationReady";
|
||||
this.GECKO_CARDSTATE_NETWORK_LOCKED = "networkLocked";
|
||||
this.GECKO_CARDSTATE_NETWORK_SUBSET_LOCKED = "networkSubsetLocked";
|
||||
this.GECKO_CARDSTATE_NETWORK1_LOCKED = "network1Locked";
|
||||
this.GECKO_CARDSTATE_NETWORK2_LOCKED = "network2Locked";
|
||||
this.GECKO_CARDSTATE_HRPD_NETWORK_LOCKED = "hrpdNetworkLocked";
|
||||
this.GECKO_CARDSTATE_CORPORATE_LOCKED = "corporateLocked";
|
||||
this.GECKO_CARDSTATE_SERVICE_PROVIDER_LOCKED = "serviceProviderLocked";
|
||||
this.GECKO_CARDSTATE_SIM_LOCKED = "simPersonalizationLock";
|
||||
this.GECKO_CARDSTATE_RUIM_CORPORATE_LOCKED = "ruimCorporateLocked";
|
||||
this.GECKO_CARDSTATE_RUIM_SERVICE_PROVIDER_LOCKED = "ruimServiceProviderLocked";
|
||||
this.GECKO_CARDSTATE_RUIM_LOCKED = "ruimPersonalizationLock";
|
||||
this.GECKO_CARDSTATE_NETWORK_PUK_REQUIRED = "networkPukRequired";
|
||||
this.GECKO_CARDSTATE_NETWORK_SUBSET_PUK_REQUIRED = "networkSubsetPukRequired";
|
||||
this.GECKO_CARDSTATE_NETWORK1_PUK_REQUIRED = "network1PukRequired";
|
||||
this.GECKO_CARDSTATE_NETWORK2_PUK_REQUIRED = "network2PukRequired";
|
||||
this.GECKO_CARDSTATE_HRPD_NETWORK_PUK_REQUIRED = "hrpdNetworkPukRequired";
|
||||
this.GECKO_CARDSTATE_CORPORATE_PUK_REQUIRED = "corporatePukRequired";
|
||||
this.GECKO_CARDSTATE_SERVICE_PROVIDER_PUK_REQUIRED = "serviceProviderPukRequired";
|
||||
this.GECKO_CARDSTATE_SIM_PUK_REQUIRED = "simPersonalizationPukRequired";
|
||||
this.GECKO_CARDSTATE_RUIM_CORPORATE_PUK_REQUIRED = "ruimCorporatePukRequired";
|
||||
this.GECKO_CARDSTATE_RUIM_SERVICE_PROVIDER_PUK_REQUIRED = "ruimServiceProviderPukRequired";
|
||||
this.GECKO_CARDSTATE_RUIM_PUK_REQUIRED = "ruimPersonalizationPukRequired";
|
||||
this.GECKO_CARDSTATE_READY = "ready";
|
||||
this.GECKO_CARDSTATE_PERMANENT_BLOCKED = "permanentBlocked";
|
||||
|
||||
@ -2459,11 +2479,21 @@ this.GECKO_CARDLOCK_PUK = "puk";
|
||||
this.GECKO_CARDLOCK_PUK2 = "puk2";
|
||||
this.GECKO_CARDLOCK_FDN = "fdn";
|
||||
this.GECKO_CARDLOCK_NCK = "nck";
|
||||
this.GECKO_CARDLOCK_NCK1 = "nck1";
|
||||
this.GECKO_CARDLOCK_NCK2 = "nck2";
|
||||
this.GECKO_CARDLOCK_HNCK = "hnck";
|
||||
this.GECKO_CARDLOCK_CCK = "cck";
|
||||
this.GECKO_CARDLOCK_SPCK = "spck";
|
||||
this.GECKO_CARDLOCK_RCCK = "rcck";
|
||||
this.GECKO_CARDLOCK_RSPCK = "rspck";
|
||||
this.GECKO_CARDLOCK_NCK_PUK = "nckPuk";
|
||||
this.GECKO_CARDLOCK_NCK1_PUK = "nck1Puk";
|
||||
this.GECKO_CARDLOCK_NCK2_PUK = "nck2Puk";
|
||||
this.GECKO_CARDLOCK_HNCK_PUK = "hnckPuk";
|
||||
this.GECKO_CARDLOCK_CCK_PUK = "cckPuk";
|
||||
this.GECKO_CARDLOCK_SPCK_PUK = "spckPuk";
|
||||
this.GECKO_CARDLOCK_RCCK_PUK = "rcckPuk";
|
||||
this.GECKO_CARDLOCK_RSPCK_PUK = "rspckPuk";
|
||||
|
||||
// See ril.h RIL_PersoSubstate
|
||||
this.PERSONSUBSTATE = {};
|
||||
@ -2479,14 +2509,36 @@ PERSONSUBSTATE[CARD_PERSOSUBSTATE_SIM_NETWORK_PUK] = GECKO_CARDSTATE_NETWORK_PUK
|
||||
PERSONSUBSTATE[CARD_PERSOSUBSTATE_SIM_NETWORK_SUBSET_PUK] = GECKO_CARDSTATE_NETWORK_SUBSET_PUK_REQUIRED;
|
||||
PERSONSUBSTATE[CARD_PERSOSUBSTATE_SIM_CORPORATE_PUK] = GECKO_CARDSTATE_CORPORATE_PUK_REQUIRED;
|
||||
PERSONSUBSTATE[CARD_PERSOSUBSTATE_SIM_SERVICE_PROVIDER_PUK] = GECKO_CARDSTATE_SERVICE_PROVIDER_PUK_REQUIRED;
|
||||
PERSONSUBSTATE[CARD_PERSOSUBSTATE_RUIM_NETWORK1] = GECKO_CARDSTATE_NETWORK1_LOCKED;
|
||||
PERSONSUBSTATE[CARD_PERSOSUBSTATE_RUIM_NETWORK2] = GECKO_CARDSTATE_NETWORK2_LOCKED;
|
||||
PERSONSUBSTATE[CARD_PERSOSUBSTATE_RUIM_HRPD] = GECKO_CARDSTATE_HRPD_NETWORK_LOCKED;
|
||||
PERSONSUBSTATE[CARD_PERSOSUBSTATE_RUIM_CORPORATE] = GECKO_CARDSTATE_RUIM_CORPORATE_LOCKED;
|
||||
PERSONSUBSTATE[CARD_PERSOSUBSTATE_RUIM_SERVICE_PROVIDER] = GECKO_CARDSTATE_RUIM_SERVICE_PROVIDER_LOCKED;
|
||||
PERSONSUBSTATE[CARD_PERSOSUBSTATE_RUIM_RUIM] = GECKO_CARDSTATE_RUIM_LOCKED;
|
||||
PERSONSUBSTATE[CARD_PERSOSUBSTATE_RUIM_NETWORK1_PUK] = GECKO_CARDSTATE_NETWORK1_PUK_REQUIRED;
|
||||
PERSONSUBSTATE[CARD_PERSOSUBSTATE_RUIM_NETWORK2_PUK] = GECKO_CARDSTATE_NETWORK2_PUK_REQUIRED;
|
||||
PERSONSUBSTATE[CARD_PERSOSUBSTATE_RUIM_HRPD_PUK] = GECKO_CARDSTATE_HRPD_NETWORK_PUK_REQUIRED;
|
||||
PERSONSUBSTATE[CARD_PERSOSUBSTATE_RUIM_CORPORATE_PUK] = GECKO_CARDSTATE_RUIM_CORPORATE_PUK_REQUIRED;
|
||||
PERSONSUBSTATE[CARD_PERSOSUBSTATE_RUIM_SERVICE_PROVIDER_PUK] = GECKO_CARDSTATE_RUIM_SERVICE_PROVIDER_PUK_REQUIRED;
|
||||
PERSONSUBSTATE[CARD_PERSOSUBSTATE_RUIM_RUIM_PUK] = GECKO_CARDSTATE_RUIM_PUK_REQUIRED;
|
||||
|
||||
this.GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK = {};
|
||||
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[GECKO_CARDLOCK_NCK] = CARD_PERSOSUBSTATE_SIM_NETWORK;
|
||||
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[GECKO_CARDLOCK_NCK1] = CARD_PERSOSUBSTATE_RUIM_NETWORK1;
|
||||
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[GECKO_CARDLOCK_NCK2] = CARD_PERSOSUBSTATE_RUIM_NETWORK2;
|
||||
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[GECKO_CARDLOCK_HNCK] = CARD_PERSOSUBSTATE_RUIM_HRPD;
|
||||
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[GECKO_CARDLOCK_CCK] = CARD_PERSOSUBSTATE_SIM_CORPORATE;
|
||||
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[GECKO_CARDLOCK_SPCK] = CARD_PERSOSUBSTATE_SIM_SERVICE_PROVIDER;
|
||||
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[GECKO_CARDLOCK_RCCK] = CARD_PERSOSUBSTATE_RUIM_CORPORATE;
|
||||
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[GECKO_CARDLOCK_RSPCK] = CARD_PERSOSUBSTATE_RUIM_SERVICE_PROVIDER;
|
||||
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[GECKO_CARDLOCK_NCK_PUK] = CARD_PERSOSUBSTATE_SIM_NETWORK_PUK;
|
||||
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[GECKO_CARDLOCK_NCK1_PUK] = CARD_PERSOSUBSTATE_RUIM_NETWORK1_PUK;
|
||||
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[GECKO_CARDLOCK_NCK2_PUK] = CARD_PERSOSUBSTATE_RUIM_NETWORK2_PUK;
|
||||
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[GECKO_CARDLOCK_HNCK_PUK] = CARD_PERSOSUBSTATE_RUIM_HRPD_PUK;
|
||||
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[GECKO_CARDLOCK_CCK_PUK] = CARD_PERSOSUBSTATE_SIM_CORPORATE_PUK;
|
||||
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[GECKO_CARDLOCK_SPCK_PUK] = CARD_PERSOSUBSTATE_SIM_SERVICE_PROVIDER_PUK;
|
||||
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[GECKO_CARDLOCK_RCCK_PUK] = CARD_PERSOSUBSTATE_RUIM_CORPORATE_PUK;
|
||||
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[GECKO_CARDLOCK_RSPCK_PUK] = CARD_PERSOSUBSTATE_RUIM_SERVICE_PROVIDER_PUK;
|
||||
|
||||
this.GECKO_NETWORK_SELECTION_UNKNOWN = null;
|
||||
this.GECKO_NETWORK_SELECTION_AUTOMATIC = "automatic";
|
||||
|
@ -487,15 +487,25 @@ RilObject.prototype = {
|
||||
this.enterICCPUK2(options);
|
||||
break;
|
||||
case GECKO_CARDLOCK_NCK:
|
||||
case GECKO_CARDLOCK_CCK: // Fall through.
|
||||
case GECKO_CARDLOCK_SPCK: {
|
||||
case GECKO_CARDLOCK_NCK1:
|
||||
case GECKO_CARDLOCK_NCK2:
|
||||
case GECKO_CARDLOCK_HNCK:
|
||||
case GECKO_CARDLOCK_CCK:
|
||||
case GECKO_CARDLOCK_SPCK:
|
||||
case GECKO_CARDLOCK_RCCK: // Fall through.
|
||||
case GECKO_CARDLOCK_RSPCK: {
|
||||
let type = GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[options.lockType];
|
||||
this.enterDepersonalization(type, options.pin, options);
|
||||
break;
|
||||
}
|
||||
case GECKO_CARDLOCK_NCK_PUK:
|
||||
case GECKO_CARDLOCK_CCK_PUK: // Fall through.
|
||||
case GECKO_CARDLOCK_SPCK_PUK: {
|
||||
case GECKO_CARDLOCK_NCK1_PUK:
|
||||
case GECKO_CARDLOCK_NCK2_PUK:
|
||||
case GECKO_CARDLOCK_HNCK_PUK:
|
||||
case GECKO_CARDLOCK_CCK_PUK:
|
||||
case GECKO_CARDLOCK_SPCK_PUK:
|
||||
case GECKO_CARDLOCK_RCCK_PUK: // Fall through.
|
||||
case GECKO_CARDLOCK_RSPCK_PUK: {
|
||||
let type = GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[options.lockType];
|
||||
this.enterDepersonalization(type, options.puk, options);
|
||||
break;
|
||||
|
@ -2109,10 +2109,11 @@ add_test(function test_personalization_state() {
|
||||
|
||||
context.ICCRecordHelper.readICCID = function fakeReadICCID() {};
|
||||
|
||||
function testPersonalization(cardPersoState, geckoCardState) {
|
||||
function testPersonalization(isCdma, cardPersoState, geckoCardState) {
|
||||
let iccStatus = {
|
||||
cardState: CARD_STATE_PRESENT,
|
||||
gsmUmtsSubscriptionAppIndex: 0,
|
||||
gsmUmtsSubscriptionAppIndex: (!isCdma) ? 0 : -1,
|
||||
cdmaSubscriptionAppIndex: (isCdma) ? 0 : -1,
|
||||
apps: [
|
||||
{
|
||||
app_state: CARD_APPSTATE_SUBSCRIPTION_PERSO,
|
||||
@ -2120,25 +2121,53 @@ add_test(function test_personalization_state() {
|
||||
}],
|
||||
};
|
||||
|
||||
ril._isCdma = isCdma;
|
||||
ril._processICCStatus(iccStatus);
|
||||
do_check_eq(ril.cardState, geckoCardState);
|
||||
}
|
||||
|
||||
testPersonalization(CARD_PERSOSUBSTATE_SIM_NETWORK,
|
||||
// Test GSM personalization state.
|
||||
testPersonalization(false, CARD_PERSOSUBSTATE_SIM_NETWORK,
|
||||
GECKO_CARDSTATE_NETWORK_LOCKED);
|
||||
testPersonalization(CARD_PERSOSUBSTATE_SIM_CORPORATE,
|
||||
testPersonalization(false, CARD_PERSOSUBSTATE_SIM_CORPORATE,
|
||||
GECKO_CARDSTATE_CORPORATE_LOCKED);
|
||||
testPersonalization(CARD_PERSOSUBSTATE_SIM_SERVICE_PROVIDER,
|
||||
testPersonalization(false, CARD_PERSOSUBSTATE_SIM_SERVICE_PROVIDER,
|
||||
GECKO_CARDSTATE_SERVICE_PROVIDER_LOCKED);
|
||||
testPersonalization(CARD_PERSOSUBSTATE_SIM_NETWORK_PUK,
|
||||
testPersonalization(false, CARD_PERSOSUBSTATE_SIM_NETWORK_PUK,
|
||||
GECKO_CARDSTATE_NETWORK_PUK_REQUIRED);
|
||||
testPersonalization(CARD_PERSOSUBSTATE_SIM_CORPORATE_PUK,
|
||||
testPersonalization(false, CARD_PERSOSUBSTATE_SIM_CORPORATE_PUK,
|
||||
GECKO_CARDSTATE_CORPORATE_PUK_REQUIRED);
|
||||
testPersonalization(CARD_PERSOSUBSTATE_SIM_SERVICE_PROVIDER_PUK,
|
||||
testPersonalization(false, CARD_PERSOSUBSTATE_SIM_SERVICE_PROVIDER_PUK,
|
||||
GECKO_CARDSTATE_SERVICE_PROVIDER_PUK_REQUIRED);
|
||||
testPersonalization(CARD_PERSOSUBSTATE_READY,
|
||||
testPersonalization(false, CARD_PERSOSUBSTATE_READY,
|
||||
GECKO_CARDSTATE_PERSONALIZATION_READY);
|
||||
|
||||
// Test CDMA personalization state.
|
||||
testPersonalization(true, CARD_PERSOSUBSTATE_RUIM_NETWORK1,
|
||||
GECKO_CARDSTATE_NETWORK1_LOCKED);
|
||||
testPersonalization(true, CARD_PERSOSUBSTATE_RUIM_NETWORK2,
|
||||
GECKO_CARDSTATE_NETWORK2_LOCKED);
|
||||
testPersonalization(true, CARD_PERSOSUBSTATE_RUIM_HRPD,
|
||||
GECKO_CARDSTATE_HRPD_NETWORK_LOCKED);
|
||||
testPersonalization(true, CARD_PERSOSUBSTATE_RUIM_CORPORATE,
|
||||
GECKO_CARDSTATE_RUIM_CORPORATE_LOCKED);
|
||||
testPersonalization(true, CARD_PERSOSUBSTATE_RUIM_SERVICE_PROVIDER,
|
||||
GECKO_CARDSTATE_RUIM_SERVICE_PROVIDER_LOCKED);
|
||||
testPersonalization(true, CARD_PERSOSUBSTATE_RUIM_RUIM,
|
||||
GECKO_CARDSTATE_RUIM_LOCKED);
|
||||
testPersonalization(true, CARD_PERSOSUBSTATE_RUIM_NETWORK1_PUK,
|
||||
GECKO_CARDSTATE_NETWORK1_PUK_REQUIRED);
|
||||
testPersonalization(true, CARD_PERSOSUBSTATE_RUIM_NETWORK2_PUK,
|
||||
GECKO_CARDSTATE_NETWORK2_PUK_REQUIRED);
|
||||
testPersonalization(true, CARD_PERSOSUBSTATE_RUIM_HRPD_PUK,
|
||||
GECKO_CARDSTATE_HRPD_NETWORK_PUK_REQUIRED);
|
||||
testPersonalization(true, CARD_PERSOSUBSTATE_RUIM_CORPORATE_PUK,
|
||||
GECKO_CARDSTATE_RUIM_CORPORATE_PUK_REQUIRED);
|
||||
testPersonalization(true, CARD_PERSOSUBSTATE_RUIM_SERVICE_PROVIDER_PUK,
|
||||
GECKO_CARDSTATE_RUIM_SERVICE_PROVIDER_PUK_REQUIRED);
|
||||
testPersonalization(true, CARD_PERSOSUBSTATE_RUIM_RUIM_PUK,
|
||||
GECKO_CARDSTATE_RUIM_PUK_REQUIRED);
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
||||
@ -2296,11 +2325,21 @@ add_test(function test_unlock_card_lock_corporateLocked() {
|
||||
|
||||
let GECKO_CARDLOCK_TO_PASSWORD_TYPE = {};
|
||||
GECKO_CARDLOCK_TO_PASSWORD_TYPE[GECKO_CARDLOCK_NCK] = "pin";
|
||||
GECKO_CARDLOCK_TO_PASSWORD_TYPE[GECKO_CARDLOCK_NCK1] = "pin";
|
||||
GECKO_CARDLOCK_TO_PASSWORD_TYPE[GECKO_CARDLOCK_NCK2] = "pin";
|
||||
GECKO_CARDLOCK_TO_PASSWORD_TYPE[GECKO_CARDLOCK_HNCK] = "pin";
|
||||
GECKO_CARDLOCK_TO_PASSWORD_TYPE[GECKO_CARDLOCK_CCK] = "pin";
|
||||
GECKO_CARDLOCK_TO_PASSWORD_TYPE[GECKO_CARDLOCK_SPCK] = "pin";
|
||||
GECKO_CARDLOCK_TO_PASSWORD_TYPE[GECKO_CARDLOCK_RCCK] = "pin";
|
||||
GECKO_CARDLOCK_TO_PASSWORD_TYPE[GECKO_CARDLOCK_RSPCK] = "pin";
|
||||
GECKO_CARDLOCK_TO_PASSWORD_TYPE[GECKO_CARDLOCK_NCK_PUK] = "puk";
|
||||
GECKO_CARDLOCK_TO_PASSWORD_TYPE[GECKO_CARDLOCK_NCK1_PUK] = "puk";
|
||||
GECKO_CARDLOCK_TO_PASSWORD_TYPE[GECKO_CARDLOCK_NCK2_PUK] = "puk";
|
||||
GECKO_CARDLOCK_TO_PASSWORD_TYPE[GECKO_CARDLOCK_HNCK_PUK] = "puk";
|
||||
GECKO_CARDLOCK_TO_PASSWORD_TYPE[GECKO_CARDLOCK_CCK_PUK] = "puk";
|
||||
GECKO_CARDLOCK_TO_PASSWORD_TYPE[GECKO_CARDLOCK_SPCK_PUK] = "puk";
|
||||
GECKO_CARDLOCK_TO_PASSWORD_TYPE[GECKO_CARDLOCK_RCCK_PUK] = "puk";
|
||||
GECKO_CARDLOCK_TO_PASSWORD_TYPE[GECKO_CARDLOCK_RSPCK_PUK] = "puk";
|
||||
|
||||
function do_test(aLock, aPassword) {
|
||||
buf.sendParcel = function fakeSendParcel () {
|
||||
@ -2324,11 +2363,21 @@ add_test(function test_unlock_card_lock_corporateLocked() {
|
||||
}
|
||||
|
||||
do_test(GECKO_CARDLOCK_NCK, pin);
|
||||
do_test(GECKO_CARDLOCK_NCK1, pin);
|
||||
do_test(GECKO_CARDLOCK_NCK2, pin);
|
||||
do_test(GECKO_CARDLOCK_HNCK, pin);
|
||||
do_test(GECKO_CARDLOCK_CCK, pin);
|
||||
do_test(GECKO_CARDLOCK_SPCK, pin);
|
||||
do_test(GECKO_CARDLOCK_RCCK, pin);
|
||||
do_test(GECKO_CARDLOCK_RSPCK, pin);
|
||||
do_test(GECKO_CARDLOCK_NCK_PUK, puk);
|
||||
do_test(GECKO_CARDLOCK_NCK1_PUK, puk);
|
||||
do_test(GECKO_CARDLOCK_NCK2_PUK, puk);
|
||||
do_test(GECKO_CARDLOCK_HNCK_PUK, puk);
|
||||
do_test(GECKO_CARDLOCK_CCK_PUK, puk);
|
||||
do_test(GECKO_CARDLOCK_SPCK_PUK, puk);
|
||||
do_test(GECKO_CARDLOCK_RCCK_PUK, puk);
|
||||
do_test(GECKO_CARDLOCK_RSPCK_PUK, puk);
|
||||
|
||||
run_next_test();
|
||||
});
|
||||
|
@ -29,11 +29,15 @@ interface MozIcc : EventTarget
|
||||
/**
|
||||
* Indicates the state of the device's ICC.
|
||||
*
|
||||
* Possible values: 'illegal', 'unknown', 'pinRequired',
|
||||
* 'pukRequired', 'personalizationInProgress', 'networkLocked',
|
||||
* 'corporateLocked', 'serviceProviderLocked', 'networkPukRequired',
|
||||
* 'corporatePukRequired', 'serviceProviderPukRequired',
|
||||
* 'personalizationReady', 'ready', 'permanentBlocked'.
|
||||
* Possible values: 'illegal', 'unknown', 'pinRequired', 'pukRequired',
|
||||
* 'personalizationInProgress', 'networkLocked', 'network1Locked',
|
||||
* 'network2Locked', 'hrpdNetworkLocked', 'corporateLocked',
|
||||
* 'serviceProviderLocked', 'ruimCorporateLocked', 'ruimServiceProviderLocked',
|
||||
* 'networkPukRequired', 'network1PukRequired', 'network2PukRequired',
|
||||
* 'hrpdNetworkPukRequired', 'corporatePukRequired',
|
||||
* 'serviceProviderPukRequired', 'ruimCorporatePukRequired',
|
||||
* 'ruimServiceProviderPukRequired', 'personalizationReady', 'ready',
|
||||
* 'permanentBlocked'.
|
||||
*
|
||||
* Once the ICC becomes undetectable, cardstatechange event will be notified.
|
||||
* Also, the attribute is set to null and this MozIcc object becomes invalid.
|
||||
@ -159,34 +163,94 @@ interface MozIcc : EventTarget
|
||||
* unlockCardLock({lockType: "nck",
|
||||
* pin: "..."});
|
||||
*
|
||||
* (4) Corporate depersonalization. Unlocking the corporate control key (CCK).
|
||||
* (4) Network type 1 depersonalization. Unlocking the network type 1 control
|
||||
* key (NCK1).
|
||||
*
|
||||
* unlockCardLock({lockType: "nck1",
|
||||
* pin: "..."});
|
||||
*
|
||||
* (5) Network type 2 depersonalization. Unlocking the network type 2 control
|
||||
* key (NCK2).
|
||||
*
|
||||
* unlockCardLock({lockType: "nck2",
|
||||
* pin: "..."});
|
||||
*
|
||||
* (6) HRPD network depersonalization. Unlocking the HRPD network control key
|
||||
* (HNCK).
|
||||
*
|
||||
* unlockCardLock({lockType: "hnck",
|
||||
* pin: "..."});
|
||||
*
|
||||
* (7) Corporate depersonalization. Unlocking the corporate control key (CCK).
|
||||
*
|
||||
* unlockCardLock({lockType: "cck",
|
||||
* pin: "..."});
|
||||
*
|
||||
* (5) Service Provider depersonalization. Unlocking the service provider
|
||||
* (8) Service provider depersonalization. Unlocking the service provider
|
||||
* control key (SPCK).
|
||||
*
|
||||
* unlockCardLock({lockType: "spck",
|
||||
* pin: "..."});
|
||||
*
|
||||
* (6) Network PUK depersonalization. Unlocking the network control key (NCK).
|
||||
* (9) RUIM corporate depersonalization. Unlocking the RUIM corporate control
|
||||
* key (RCCK).
|
||||
*
|
||||
* unlockCardLock({lockType: "rcck",
|
||||
* pin: "..."});
|
||||
*
|
||||
* (10) RUIM service provider depersonalization. Unlocking the RUIM service
|
||||
* provider control key (RSPCK).
|
||||
*
|
||||
* unlockCardLock({lockType: "rspck",
|
||||
* pin: "..."});
|
||||
*
|
||||
* (11) Network PUK depersonalization. Unlocking the network control key (NCK).
|
||||
*
|
||||
* unlockCardLock({lockType: "nckPuk",
|
||||
* puk: "..."});
|
||||
*
|
||||
* (7) Corporate PUK depersonalization. Unlocking the corporate control key
|
||||
* (CCK).
|
||||
* (12) Network type 1 PUK depersonalization. Unlocking the network type 1
|
||||
* control key (NCK1).
|
||||
*
|
||||
* unlockCardLock({lockType: "nck1Puk",
|
||||
* pin: "..."});
|
||||
*
|
||||
* (13) Network type 2 PUK depersonalization. Unlocking the Network type 2
|
||||
* control key (NCK2).
|
||||
*
|
||||
* unlockCardLock({lockType: "nck2Puk",
|
||||
* pin: "..."});
|
||||
*
|
||||
* (14) HRPD network PUK depersonalization. Unlocking the HRPD network control
|
||||
* key (HNCK).
|
||||
*
|
||||
* unlockCardLock({lockType: "hnckPuk",
|
||||
* pin: "..."});
|
||||
*
|
||||
* (15) Corporate PUK depersonalization. Unlocking the corporate control key
|
||||
* (CCK).
|
||||
*
|
||||
* unlockCardLock({lockType: "cckPuk",
|
||||
* puk: "..."});
|
||||
*
|
||||
* (8) Service Provider PUK depersonalization. Unlocking the service provider
|
||||
* control key (SPCK).
|
||||
* (16) Service provider PUK depersonalization. Unlocking the service provider
|
||||
* control key (SPCK).
|
||||
*
|
||||
* unlockCardLock({lockType: "spckPuk",
|
||||
* puk: "..."});
|
||||
*
|
||||
* (17) RUIM corporate PUK depersonalization. Unlocking the RUIM corporate
|
||||
* control key (RCCK).
|
||||
*
|
||||
* unlockCardLock({lockType: "rcckPuk",
|
||||
* puk: "..."});
|
||||
*
|
||||
* (18) RUIM service provider PUK depersonalization. Unlocking the service
|
||||
* provider control key (SPCK).
|
||||
*
|
||||
* unlockCardLock({lockType: "rspckPuk",
|
||||
* puk: "..."});
|
||||
*
|
||||
* @return a DOMRequest.
|
||||
* The request's result will be an object containing
|
||||
* information about the unlock operation.
|
||||
|
Loading…
x
Reference in New Issue
Block a user