Backed out changesets ede868d47878 and 5fd0b863fac7 (bug 900321) for Marionette failures.

This commit is contained in:
Ryan VanderMeulen 2013-08-06 08:30:32 -04:00
Родитель 209f1a6b6f
Коммит 122afb1e47
4 изменённых файлов: 74 добавлений и 114 удалений

Просмотреть файл

@ -10,7 +10,7 @@ interface nsIDOMDOMRequest;
interface nsIDOMEventListener;
interface nsIDOMMozIccInfo;
[scriptable, builtinclass, uuid(904b92cb-dad3-416f-88cf-0291012cf448)]
[scriptable, builtinclass, uuid(d362bf60-c910-11e2-8b8b-0800200c9a66)]
interface nsIDOMMozIccManager : nsIDOMEventTarget
{
/**
@ -295,9 +295,7 @@ interface nsIDOMMozIccManager : nsIDOMEventTarget
* Indicates the state of the device's ICC card.
*
* Possible values: null, 'unknown', 'absent', 'pinRequired', 'pukRequired',
* 'personalizationInProgress', 'networkLocked', 'corporateLocked',
* 'serviceProviderLocked', 'networkPukRequired', 'corporatePukRequired',
* 'serviceProviderPukRequired', 'ready'.
* 'networkLocked', 'corporateLocked', 'serviceProviderLocked', 'ready'.
*/
readonly attribute DOMString cardState;
@ -362,23 +360,6 @@ interface nsIDOMMozIccManager : nsIDOMEventTarget
* unlockCardLock({lockType: "spck",
* pin: "..."});
*
* (6) Network PUK depersonalization. Unlocking the network control key (NCK).
*
* unlockCardLock({lockType: "nckPuk",
* puk: "..."});
*
* (7) 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).
*
* unlockCardLock({lockType: "spckPuk",
* puk: "..."});
*
* @return a nsIDOMDOMRequest.
* The request's result will be an object containing
* information about the unlock operation.

Просмотреть файл

@ -2331,46 +2331,26 @@ this.GECKO_RADIOSTATE_UNAVAILABLE = null;
this.GECKO_RADIOSTATE_OFF = "off";
this.GECKO_RADIOSTATE_READY = "ready";
this.GECKO_CARDSTATE_NOT_READY = null;
this.GECKO_CARDSTATE_UNKNOWN = "unknown";
this.GECKO_CARDSTATE_ABSENT = "absent";
this.GECKO_CARDSTATE_PIN_REQUIRED = "pinRequired";
this.GECKO_CARDSTATE_PUK_REQUIRED = "pukRequired";
this.GECKO_CARDSTATE_PERSONALIZATION_IN_PROGRESS = "personalizationInProgress";
this.GECKO_CARDSTATE_NETWORK_LOCKED = "networkLocked";
this.GECKO_CARDSTATE_NETWORK_SUBSET_LOCKED = "networkSubsetLocked";
this.GECKO_CARDSTATE_CORPORATE_LOCKED = "corporateLocked";
this.GECKO_CARDSTATE_SERVICE_PROVIDER_LOCKED = "serviceProviderLocked";
this.GECKO_CARDSTATE_SIM_LOCKED = "simPersonalizationLock";
this.GECKO_CARDSTATE_NETWORK_PUK_REQUIRED = "networkPukRequired";
this.GECKO_CARDSTATE_NETWORK_SUBSET_PUK_REQUIRED = "networkSubsetPukRequired";
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_READY = "ready";
this.GECKO_CARDSTATE_NOT_READY = null;
this.GECKO_CARDSTATE_UNKNOWN = "unknown";
this.GECKO_CARDSTATE_ABSENT = "absent";
this.GECKO_CARDSTATE_PIN_REQUIRED = "pinRequired";
this.GECKO_CARDSTATE_PUK_REQUIRED = "pukRequired";
this.GECKO_CARDSTATE_NETWORK_LOCKED = "networkLocked";
this.GECKO_CARDSTATE_CORPORATE_LOCKED = "corporateLocked";
this.GECKO_CARDSTATE_SERVICE_PROVIDER_LOCKED = "serviceProviderLocked";
this.GECKO_CARDSTATE_READY = "ready";
// See ril.h RIL_PersoSubstate
this.PERSONSUBSTATE = {};
PERSONSUBSTATE[CARD_PERSOSUBSTATE_UNKNOWN] = GECKO_CARDSTATE_UNKNOWN;
PERSONSUBSTATE[CARD_PERSOSUBSTATE_IN_PROGRESS] = GECKO_CARDSTATE_PERSONALIZATION_IN_PROGRESS;
PERSONSUBSTATE[CARD_PERSOSUBSTATE_IN_PROGRESS] = "inProgress";
PERSONSUBSTATE[CARD_PERSOSUBSTATE_READY] = GECKO_CARDSTATE_READY;
PERSONSUBSTATE[CARD_PERSOSUBSTATE_SIM_NETWORK] = GECKO_CARDSTATE_NETWORK_LOCKED;
PERSONSUBSTATE[CARD_PERSOSUBSTATE_SIM_NETWORK_SUBSET] = GECKO_CARDSTATE_NETWORK_SUBSET_LOCKED;
PERSONSUBSTATE[CARD_PERSOSUBSTATE_SIM_NETWORK_SUBSET] = "networkSubsetLocked";
PERSONSUBSTATE[CARD_PERSOSUBSTATE_SIM_CORPORATE] = GECKO_CARDSTATE_CORPORATE_LOCKED;
PERSONSUBSTATE[CARD_PERSOSUBSTATE_SIM_SERVICE_PROVIDER] = GECKO_CARDSTATE_SERVICE_PROVIDER_LOCKED;
PERSONSUBSTATE[CARD_PERSOSUBSTATE_SIM_SIM] = GECKO_CARDSTATE_SIM_LOCKED;
PERSONSUBSTATE[CARD_PERSOSUBSTATE_SIM_NETWORK_PUK] = GECKO_CARDSTATE_NETWORK_PUK_REQUIRED;
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_READY] = GECKO_CARDSTATE_READY;
this.GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK = {};
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK["nck"] = CARD_PERSOSUBSTATE_SIM_NETWORK;
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK["cck"] = CARD_PERSOSUBSTATE_SIM_CORPORATE;
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK["spck"] = CARD_PERSOSUBSTATE_SIM_SERVICE_PROVIDER;
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK["nckPuk"] = CARD_PERSOSUBSTATE_SIM_NETWORK_PUK;
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK["cckPuk"] = CARD_PERSOSUBSTATE_SIM_CORPORATE_PUK;
GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK["spckPuk"] = CARD_PERSOSUBSTATE_SIM_SERVICE_PROVIDER_PUK;
PERSONSUBSTATE[CARD_PERSOSUBSTATE_SIM_SIM] = "simPersonalizationLock";
this.GECKO_NETWORK_SELECTION_UNKNOWN = null;
this.GECKO_NETWORK_SELECTION_AUTOMATIC = "automatic";

Просмотреть файл

@ -980,19 +980,17 @@ let RIL = {
this.enterICCPUK2(options);
break;
case "nck":
case "cck": // Fall through.
case "spck": {
let type = GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[options.lockType];
this.enterDepersonalization(type, options.pin, options);
options.type = CARD_PERSOSUBSTATE_SIM_NETWORK;
this.enterDepersonalization(options);
break;
}
case "nckPuk":
case "cckPuk": // Fall through.
case "spckPuk": {
let type = GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[options.lockType];
this.enterDepersonalization(type, options.puk, options);
case "cck":
options.type = CARD_PERSOSUBSTATE_SIM_CORPORATE;
this.enterDepersonalization(options);
break;
case "spck":
options.type = CARD_PERSOSUBSTATE_SIM_SERVICE_PROVIDER;
this.enterDepersonalization(options);
break;
}
default:
options.errorMsg = "Unsupported Card Lock.";
options.success = false;
@ -1041,13 +1039,13 @@ let RIL = {
*
* @param type
* Integer indicating the network personalization be deactivated.
* @param password
* String containing the password.
* @param pin
* String containing the pin.
*/
enterDepersonalization: function enterDepersonalization(type, password, options) {
enterDepersonalization: function enterDepersonalization(options) {
Buf.newParcel(REQUEST_ENTER_NETWORK_DEPERSONALIZATION_CODE, options);
Buf.writeUint32(type);
Buf.writeString(password);
Buf.writeUint32(options.type);
Buf.writeString(options.pin);
Buf.sendParcel();
},

Просмотреть файл

@ -2606,51 +2606,58 @@ add_test(function test_find_free_icc_contact() {
contactHelper.findFreeICCContact(CARD_APPTYPE_USIM, "adn", successCb, errorCb);
});
add_test(function test_personalization_state() {
/**
* Verify cardState 'corporateLocked'.
*/
add_test(function test_card_state_corporateLocked() {
let worker = newUint8Worker();
let ril = worker.RIL;
let iccStatus = {
gsmUmtsSubscriptionAppIndex: 0,
apps: [
{
app_state: CARD_APPSTATE_SUBSCRIPTION_PERSO,
perso_substate: CARD_PERSOSUBSTATE_SIM_CORPORATE
}],
};
function testPersonalization(cardPersoState, geckoCardState) {
let iccStatus = {
gsmUmtsSubscriptionAppIndex: 0,
apps: [
{
app_state: CARD_APPSTATE_SUBSCRIPTION_PERSO,
perso_substate: cardPersoState
}],
};
ril._processICCStatus(iccStatus);
do_check_eq(ril.cardState, geckoCardState);
}
testPersonalization(CARD_PERSOSUBSTATE_SIM_NETWORK,
GECKO_CARDSTATE_NETWORK_LOCKED);
testPersonalization(CARD_PERSOSUBSTATE_SIM_CORPORATE,
GECKO_CARDSTATE_CORPORATE_LOCKED);
testPersonalization(CARD_PERSOSUBSTATE_SIM_SERVICE_PROVIDER,
GECKO_CARDSTATE_SERVICE_PROVIDER_LOCKED);
testPersonalization(CARD_PERSOSUBSTATE_SIM_NETWORK_PUK,
GECKO_CARDSTATE_NETWORK_PUK_REQUIRED);
testPersonalization(CARD_PERSOSUBSTATE_SIM_CORPORATE_PUK,
GECKO_CARDSTATE_CORPORATE_PUK_REQUIRED);
testPersonalization(CARD_PERSOSUBSTATE_SIM_SERVICE_PROVIDER_PUK,
GECKO_CARDSTATE_SERVICE_PROVIDER_PUK_REQUIRED);
ril._processICCStatus(iccStatus);
do_check_eq(ril.cardState, GECKO_CARDSTATE_CORPORATE_LOCKED);
run_next_test();
});
/**
* Verify iccUnlockCardLock.
* Verify cardState 'serviceProviderLocked'.
*/
add_test(function test_card_state_serviceProviderLocked() {
let worker = newUint8Worker();
let ril = worker.RIL;
let iccStatus = {
gsmUmtsSubscriptionAppIndex: 0,
apps: [
{
app_state: CARD_APPSTATE_SUBSCRIPTION_PERSO,
perso_substate: CARD_PERSOSUBSTATE_SIM_SERVICE_PROVIDER
}],
};
ril._processICCStatus(iccStatus);
do_check_eq(ril.cardState, GECKO_CARDSTATE_SERVICE_PROVIDER_LOCKED);
run_next_test();
});
/**
* Verify iccUnlockCardLock with lockType is "cck" and "spck".
*/
add_test(function test_unlock_card_lock_corporateLocked() {
let worker = newUint8Worker();
let ril = worker.RIL;
let buf = worker.Buf;
const pin = "12345678";
const puk = "12345678";
function do_test(aLock, aPassword) {
function do_test(aLock, aPin) {
buf.sendParcel = function fakeSendParcel () {
// Request Type.
do_check_eq(this.readUint32(), REQUEST_ENTER_NETWORK_DEPERSONALIZATION_CODE);
@ -2658,29 +2665,23 @@ add_test(function test_unlock_card_lock_corporateLocked() {
// Token : we don't care
this.readUint32();
let lockType = GECKO_PERSO_LOCK_TO_CARD_PERSO_LOCK[aLock];
let lockType = aLock === "cck" ?
CARD_PERSOSUBSTATE_SIM_CORPORATE :
CARD_PERSOSUBSTATE_SIM_SERVICE_PROVIDER;
// Lock Type
do_check_eq(this.readUint32(), lockType);
// Pin/Puk.
do_check_eq(this.readString(), aPassword);
// Pin.
do_check_eq(this.readString(), aPin);
};
if (aLock.endsWith("Puk")) {
ril.iccUnlockCardLock({lockType: aLock,
puk: aPassword});
} else {
ril.iccUnlockCardLock({lockType: aLock,
pin: aPassword});
}
ril.iccUnlockCardLock({lockType: aLock,
pin: aPin});
}
do_test("nck", pin);
do_test("cck", pin);
do_test("spck", pin);
do_test("nckPuk", puk);
do_test("cckPuk", puk);
do_test("spckPuk", puk);
run_next_test();
});