| Index: chrome/browser/resources/chromeos/mobile_setup.js
|
| diff --git a/chrome/browser/resources/chromeos/mobile_setup.js b/chrome/browser/resources/chromeos/mobile_setup.js
|
| index a8995bec18283de316a3afa4d20340d3e075d77d..afd59fa93aba5519d436f48764f1e1aaf7931190 100644
|
| --- a/chrome/browser/resources/chromeos/mobile_setup.js
|
| +++ b/chrome/browser/resources/chromeos/mobile_setup.js
|
| @@ -10,17 +10,19 @@ cr.define('mobile', function() {
|
|
|
| cr.addSingletonGetter(MobileSetup);
|
|
|
| + MobileSetup.PLAN_ACTIVATION_UNKNOWN = -2;
|
| MobileSetup.PLAN_ACTIVATION_PAGE_LOADING = -1;
|
| MobileSetup.PLAN_ACTIVATION_START = 0;
|
| MobileSetup.PLAN_ACTIVATION_TRYING_OTASP = 1;
|
| MobileSetup.PLAN_ACTIVATION_INITIATING_ACTIVATION = 3;
|
| MobileSetup.PLAN_ACTIVATION_RECONNECTING = 4;
|
| - MobileSetup.PLAN_ACTIVATION_PAYMENT_PORTAL_LOADING = 5;
|
| - MobileSetup.PLAN_ACTIVATION_SHOWING_PAYMENT = 6;
|
| - MobileSetup.PLAN_ACTIVATION_RECONNECTING_PAYMENT = 7;
|
| - MobileSetup.PLAN_ACTIVATION_DELAY_OTASP = 8;
|
| - MobileSetup.PLAN_ACTIVATION_START_OTASP = 9;
|
| - MobileSetup.PLAN_ACTIVATION_OTASP = 10;
|
| + MobileSetup.PLAN_ACTIVATION_WAITING_FOR_CONNECTION = 5;
|
| + MobileSetup.PLAN_ACTIVATION_PAYMENT_PORTAL_LOADING = 6;
|
| + MobileSetup.PLAN_ACTIVATION_SHOWING_PAYMENT = 7;
|
| + MobileSetup.PLAN_ACTIVATION_RECONNECTING_PAYMENT = 8;
|
| + MobileSetup.PLAN_ACTIVATION_DELAY_OTASP = 9;
|
| + MobileSetup.PLAN_ACTIVATION_START_OTASP = 10;
|
| + MobileSetup.PLAN_ACTIVATION_OTASP = 11;
|
| MobileSetup.PLAN_ACTIVATION_DONE = 12;
|
| MobileSetup.PLAN_ACTIVATION_ERROR = 0xFF;
|
|
|
| @@ -28,6 +30,8 @@ cr.define('mobile', function() {
|
| 'chrome-extension://iadeocfgjdjdmpenejdbfeaocpbikmab';
|
| MobileSetup.ACTIVATION_PAGE_URL = MobileSetup.EXTENSION_PAGE_URL +
|
| '/activation.html';
|
| + MobileSetup.PORTAL_OFFLINE_PAGE_URL = MobileSetup.EXTENSION_PAGE_URL +
|
| + '/portal_offline.html';
|
| MobileSetup.REDIRECT_POST_PAGE_URL = MobileSetup.EXTENSION_PAGE_URL +
|
| '/redirect.html';
|
|
|
| @@ -42,9 +46,10 @@ cr.define('mobile', function() {
|
| paymentShown_: false,
|
| frameLoadError_: 0,
|
| frameLoadIgnored_: true,
|
| + carrierPageUrl_: null,
|
| spinnerInt_: -1,
|
| // UI states.
|
| - state_: -1,
|
| + state_: MobileSetup.PLAN_ACTIVATION_UNKNOWN,
|
| STATE_UNKNOWN_: 'unknown',
|
| STATE_CONNECTING_: 'connecting',
|
| STATE_ERROR_: 'error',
|
| @@ -75,7 +80,6 @@ cr.define('mobile', function() {
|
| $('finalStatus').classList.add('hidden');
|
| });
|
|
|
| - this.changeState_({state: MobileSetup.PLAN_ACTIVATION_PAGE_LOADING});
|
| // Kick off activation process.
|
| chrome.send('startActivation');
|
| },
|
| @@ -135,7 +139,13 @@ cr.define('mobile', function() {
|
| var newState = deviceInfo.state;
|
| if (this.state_ == newState)
|
| return;
|
| - var main = $('mainbody');
|
| +
|
| + // The mobile setup is already in its final state.
|
| + if (this.state_ == MobileSetup.PLAN_ACTIVATION_DONE ||
|
| + this.state_ == MobileSetup.PLAN_ACTIVATION_ERROR) {
|
| + return;
|
| + }
|
| +
|
| // Map handler state to UX.
|
| switch (newState) {
|
| case MobileSetup.PLAN_ACTIVATION_PAGE_LOADING:
|
| @@ -144,47 +154,73 @@ cr.define('mobile', function() {
|
| case MobileSetup.PLAN_ACTIVATION_START_OTASP:
|
| case MobileSetup.PLAN_ACTIVATION_RECONNECTING:
|
| case MobileSetup.PLAN_ACTIVATION_RECONNECTING_PAYMENT:
|
| + // Activation page should not be shown for devices that are activated
|
| + // over non cellular network.
|
| + if (deviceInfo.activate_over_non_cellular_network)
|
| + break;
|
| +
|
| $('statusHeader').textContent =
|
| MobileSetup.localStrings_.getString('connecting_header');
|
| $('auxHeader').textContent =
|
| MobileSetup.localStrings_.getString('please_wait');
|
| $('paymentForm').classList.add('hidden');
|
| $('finalStatus').classList.add('hidden');
|
| + this.setCarrierPage_(MobileSetup.ACTIVATION_PAGE_URL);
|
| $('systemStatus').classList.remove('hidden');
|
| - $('carrierPage').classList.remove('hidden');
|
| $('canvas').classList.remove('hidden');
|
| this.startSpinner_();
|
| break;
|
| case MobileSetup.PLAN_ACTIVATION_TRYING_OTASP:
|
| case MobileSetup.PLAN_ACTIVATION_INITIATING_ACTIVATION:
|
| case MobileSetup.PLAN_ACTIVATION_OTASP:
|
| + // Activation page should not be shown for devices that are activated
|
| + // over non cellular network.
|
| + if (deviceInfo.activate_over_non_cellular_network)
|
| + break;
|
| +
|
| $('statusHeader').textContent =
|
| MobileSetup.localStrings_.getString('activating_header');
|
| $('auxHeader').textContent =
|
| MobileSetup.localStrings_.getString('please_wait');
|
| $('paymentForm').classList.add('hidden');
|
| $('finalStatus').classList.add('hidden');
|
| + this.setCarrierPage_(MobileSetup.ACTIVATION_PAGE_URL);
|
| $('systemStatus').classList.remove('hidden');
|
| - $('carrierPage').classList.remove('hidden');
|
| $('canvas').classList.remove('hidden');
|
| this.startSpinner_();
|
| break;
|
| case MobileSetup.PLAN_ACTIVATION_PAYMENT_PORTAL_LOADING:
|
| + // Activation page should not be shown for devices that are activated
|
| + // over non cellular network.
|
| + if (!deviceInfo.activate_over_non_cellular_network) {
|
| + $('statusHeader').textContent =
|
| + MobileSetup.localStrings_.getString('connecting_header');
|
| + $('auxHeader').textContent = '';
|
| + $('paymentForm').classList.add('hidden');
|
| + $('finalStatus').classList.add('hidden');
|
| + this.setCarrierPage_(MobileSetup.ACTIVATION_PAGE_URL);
|
| + $('systemStatus').classList.remove('hidden');
|
| + $('canvas').classList.remove('hidden');
|
| + }
|
| + this.loadPaymentFrame_(deviceInfo);
|
| + break;
|
| + case MobileSetup.PLAN_ACTIVATION_WAITING_FOR_CONNECTION:
|
| $('statusHeader').textContent =
|
| - MobileSetup.localStrings_.getString('connecting_header');
|
| + MobileSetup.localStrings_.getString('portal_unreachable_header');
|
| $('auxHeader').textContent = '';
|
| + $('auxHeader').classList.add('hidden');
|
| $('paymentForm').classList.add('hidden');
|
| $('finalStatus').classList.add('hidden');
|
| $('systemStatus').classList.remove('hidden');
|
| + this.setCarrierPage_(MobileSetup.PORTAL_OFFLINE_PAGE_URL);
|
| $('canvas').classList.remove('hidden');
|
| - this.loadPaymentFrame_(deviceInfo);
|
| + this.startSpinner_();
|
| break;
|
| case MobileSetup.PLAN_ACTIVATION_SHOWING_PAYMENT:
|
| $('statusHeader').textContent = '';
|
| $('auxHeader').textContent = '';
|
| $('finalStatus').classList.add('hidden');
|
| $('systemStatus').classList.add('hidden');
|
| - $('carrierPage').classList.add('hidden');
|
| $('paymentForm').classList.remove('hidden');
|
| $('canvas').classList.add('hidden');
|
| this.stopSpinner_();
|
| @@ -198,17 +234,12 @@ cr.define('mobile', function() {
|
| $('finalMessage').textContent =
|
| MobileSetup.localStrings_.getString('completed_text');
|
| $('systemStatus').classList.add('hidden');
|
| - $('carrierPage').classList.add('hidden');
|
| - $('paymentForm').classList.remove('hidden');
|
| $('closeButton').classList.remove('hidden');
|
| $('finalStatus').classList.remove('hidden');
|
| $('canvas').classList.add('hidden');
|
| + $('closeButton').classList.toggle('hidden', !this.paymentShown_);
|
| + $('paymentForm').classList.toggle('hidden', !this.paymentShown_);
|
| this.stopSpinner_();
|
| - if (this.paymentShown_) {
|
| - $('closeButton').classList.remove('hidden');
|
| - } else {
|
| - $('closeButton').classList.add('hidden');
|
| - }
|
| break;
|
| case MobileSetup.PLAN_ACTIVATION_ERROR:
|
| $('statusHeader').textContent = '';
|
| @@ -217,21 +248,23 @@ cr.define('mobile', function() {
|
| MobileSetup.localStrings_.getString('error_header');
|
| $('finalMessage').textContent = deviceInfo.error;
|
| $('systemStatus').classList.add('hidden');
|
| - $('carrierPage').classList.add('hidden');
|
| - $('paymentForm').classList.remove('hidden');
|
| $('canvas').classList.add('hidden');
|
| - this.stopSpinner_();
|
| - if (this.paymentShown_) {
|
| - $('closeButton').classList.remove('hidden');
|
| - } else {
|
| - $('closeButton').classList.add('hidden');
|
| - }
|
| + $('closeButton').classList.toggle('hidden', !this.paymentShown_);
|
| + $('paymentForm').classList.toggle('hidden', !this.paymentShown_);
|
| $('finalStatus').classList.remove('hidden');
|
| + this.stopSpinner_();
|
| break;
|
| }
|
| this.state_ = newState;
|
| },
|
|
|
| + setCarrierPage_: function(url) {
|
| + if (this.carrierPageUrl_ == url)
|
| + return;
|
| + this.carrierPageUrl_ = url;
|
| + $('carrierPage').contentWindow.location.href = url;
|
| + },
|
| +
|
| updateDeviceStatus_: function(deviceInfo) {
|
| this.changeState_(deviceInfo);
|
| },
|
| @@ -331,6 +364,6 @@ cr.define('mobile', function() {
|
| return {
|
| MobileSetup: MobileSetup
|
| };
|
| -
|
| });
|
|
|
| +document.addEventListener('DOMContentLoaded', mobile.MobileSetup.loadPage);
|
|
|