diff options
-rw-r--r-- | chrome/app/generated_resources.grd | 2 | ||||
-rw-r--r-- | chrome/browser/browser_resources.grd | 2 | ||||
-rw-r--r-- | chrome/browser/chromeos/dom_ui/mobile_setup_ui.cc | 35 | ||||
-rw-r--r-- | chrome/browser/profiles/profile_impl.cc | 12 | ||||
-rw-r--r-- | chrome/browser/resources/mobile_setup.html | 11 | ||||
-rw-r--r-- | chrome/browser/resources/mobile_setup.js | 46 |
6 files changed, 64 insertions, 44 deletions
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd index 1404d91..5d427df 100644 --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd @@ -4253,7 +4253,7 @@ Keep your key file in a safe place. You will need it to create new versions of y Connecting to <ph name="PROVIDER_NAME">$1<ex>Acme Mobile</ex></ph> </message> <message name="IDS_MOBILE_ERROR_HEADER" desc="Mobile connection page header when connection error occur"> - Connection error: + Connection error </message> <message name="IDS_MOBILE_ACTIVATING_HEADER" desc="Message header when data service is being activated"> Activating your data service diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd index 50415f8ee..9748ac0 100644 --- a/chrome/browser/browser_resources.grd +++ b/chrome/browser/browser_resources.grd @@ -101,13 +101,13 @@ without changes to the corresponding grd file. etaa --> <include name="IDR_NETWORK_MENU_JS" file="resources\network_menu.js" flattenhtml="true" type="BINDATA" /> <include name="IDR_WRENCH_MENU_JS" file="resources\wrench_menu.js" flattenhtml="true" type="BINDATA" /> <include name="IDR_WRENCH_MENU_CSS" file="resources\wrench_menu.css" flattenhtml="true" type="BINDATA" /> + <include name="IDR_MOBILE_MANIFEST" file="resources\mobile_app\manifest.json" type="BINDATA" /> <!-- manifest file of ChromeVox accessibility extension --> <include name="IDR_CHROMEVOX_MANIFEST" file="resources\access_chromevox\manifest.json" type="BINDATA" /> </if> <if expr="pp_ifdef('chromeos') and pp_ifdef('_google_chrome')"> <include name="IDR_HELP_MANIFEST" file="resources\help_app\manifest.json" type="BINDATA" /> <include name="IDR_GETSTARTED_MANIFEST" file="resources\getstarted\manifest.json" type="BINDATA" /> - <include name="IDR_MOBILE_MANIFEST" file="resources\mobile_app\manifest.json" type="BINDATA" /> </if> </includes> </release> diff --git a/chrome/browser/chromeos/dom_ui/mobile_setup_ui.cc b/chrome/browser/chromeos/dom_ui/mobile_setup_ui.cc index cc352e1..e71b2b5 100644 --- a/chrome/browser/chromeos/dom_ui/mobile_setup_ui.cc +++ b/chrome/browser/chromeos/dom_ui/mobile_setup_ui.cc @@ -89,11 +89,11 @@ const int kConnectionTimeoutSeconds = 45; // Reconnect delay. const int kReconnectDelayMS = 3000; // Reconnect timer delay. -const int kReconnectTimerDelayMS = 1000; +const int kReconnectTimerDelayMS = 5000; // Reconnect delay after previous failure. const int kFailedReconnectDelayMS = 10000; // Retry delay after failed OTASP attempt. -const int kOTASPRetryDelay = 10000; +const int kOTASPRetryDelay = 20000; chromeos::CellularNetwork* GetCellularNetwork() { chromeos::NetworkLibrary* lib = chromeos::CrosLibrary::Get()-> @@ -614,9 +614,8 @@ void MobileSetupHandler::ReconnectTimerFired() { return; chromeos::CellularNetwork* network = GetCellularNetwork(service_path_); if (!network) { - ChangeState(NULL, PLAN_ACTIVATION_ERROR, - GetErrorMessage(kFailedConnectivity)); - return; + // No service, try again since this is probably just transient condition. + LOG(WARNING) << "Service not present at reconnect attempt."; } EvaluateCellularNetwork(network); } @@ -759,7 +758,9 @@ void MobileSetupHandler::EvaluateCellularNetwork( break; } default: { - if (network->failed_or_disconnected()) { + if (network->failed_or_disconnected() || + network->connection_state() == + chromeos::STATE_ACTIVATION_FAILURE) { new_state = (network->activation_state() == chromeos::ACTIVATION_STATE_PARTIALLY_ACTIVATED) ? PLAN_ACTIVATION_TRYING_OTASP : @@ -849,6 +850,8 @@ void MobileSetupHandler::EvaluateCellularNetwork( // restart the whole process again. if (activation_attempt_ < kMaxActivationAttempt) { activation_attempt_++; + LOG(WARNING) << "Reconnect attempt #" + << activation_attempt_; ForceReconnect(network, kFailedReconnectDelayMS); evaluating_ = false; return; @@ -894,6 +897,8 @@ void MobileSetupHandler::EvaluateCellularNetwork( // page again. We should try to reconnect after some time instead. if (reconnect_wait_count_ < kMaxReconnectAttemptOTASP) { reconnect_wait_count_++; + LOG(WARNING) << "OTASP reconnect attempt #" + << reconnect_wait_count_; ForceReconnect(network, kPostPaymentReconnectDelayMS); evaluating_ = false; return; @@ -950,6 +955,11 @@ void MobileSetupHandler::EvaluateCellularNetwork( case PLAN_ACTIVATION_INITIATING_ACTIVATION: new_state = PLAN_ACTIVATION_RECONNECTING; break; + case PLAN_ACTIVATION_START: + // We are just starting, so this must be previous activation attempt + // failure. + new_state = PLAN_ACTIVATION_TRYING_OTASP; + break; case PLAN_ACTIVATION_DELAY_OTASP: case PLAN_ACTIVATION_RECONNECTING_OTASP_TRY: case PLAN_ACTIVATION_RECONNECTING: @@ -960,6 +970,8 @@ void MobileSetupHandler::EvaluateCellularNetwork( break; } } else { + LOG(WARNING) << "Unexpected activation failure for " + << network->service_path().c_str(); new_state = PLAN_ACTIVATION_ERROR; } } @@ -1028,7 +1040,8 @@ void MobileSetupHandler::CompleteActivation( GetNetworkLibrary(); lib->RemoveNetworkManagerObserver(this); lib->RemoveObserverForAllNetworks(this); - lib->Unlock(); + if (lib->IsLocked()) + lib->Unlock(); // If we have successfully activated the connection, set autoconnect flag. if (network) { network->set_auto_connect(true); @@ -1100,8 +1113,12 @@ void MobileSetupHandler::ChangeState(chromeos::CellularNetwork* network, UMA_HISTOGRAM_COUNTS("Cellular.ActivationTry", 1); if (!network->StartActivation()) { UMA_HISTOGRAM_COUNTS("Cellular.ActivationFailure", 1); - ChangeState(network, PLAN_ACTIVATION_ERROR, - GetErrorMessage(kFailedConnectivity)); + if (new_state == PLAN_ACTIVATION_OTASP) { + ChangeState(network, PLAN_ACTIVATION_DELAY_OTASP, std::string()); + } else { + ChangeState(network, PLAN_ACTIVATION_ERROR, + GetErrorMessage(kFailedConnectivity)); + } } break; case PLAN_ACTIVATION_RECONNECTING_OTASP_TRY: diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc index 27c51ca1..c2f853d 100644 --- a/chrome/browser/profiles/profile_impl.cc +++ b/chrome/browser/profiles/profile_impl.cc @@ -410,7 +410,12 @@ void ProfileImpl::RegisterComponentExtensions() { IDR_KEYBOARD_MANIFEST)); #endif -#if defined(OS_CHROMEOS) && defined(OFFICIAL_BUILD) +#if defined(OS_CHROMEOS) + component_extensions.push_back(std::make_pair( + FILE_PATH_LITERAL("/usr/share/chromeos-assets/mobile"), + IDR_MOBILE_MANIFEST)); + +#if defined(OFFICIAL_BUILD) if (browser_defaults::enable_help_app) { component_extensions.push_back(std::make_pair( FILE_PATH_LITERAL("/usr/share/chromeos-assets/helpapp"), @@ -420,10 +425,7 @@ void ProfileImpl::RegisterComponentExtensions() { component_extensions.push_back(std::make_pair( FILE_PATH_LITERAL("/usr/share/chromeos-assets/getstarted"), IDR_GETSTARTED_MANIFEST)); - - component_extensions.push_back(std::make_pair( - FILE_PATH_LITERAL("/usr/share/chromeos-assets/mobile"), - IDR_MOBILE_MANIFEST)); +#endif #endif // Web Store. diff --git a/chrome/browser/resources/mobile_setup.html b/chrome/browser/resources/mobile_setup.html index adf555a..0e39517 100644 --- a/chrome/browser/resources/mobile_setup.html +++ b/chrome/browser/resources/mobile_setup.html @@ -58,7 +58,7 @@ iframe { } .logo { - background: url('file:///usr/share/chromeos-assets/mobile/carrier_logo.png') no-repeat; + background: url('chrome-extension://iadeocfgjdjdmpenejdbfeaocpbikmab/carrier_logo.png') no-repeat; background-position: 85% 50%; height: 58px; margin-bottom: 20px; @@ -67,8 +67,6 @@ iframe { .splitter { margin-top: 10px; - left: 50%; - width: 600px; border-bottom: 1px solid #EEE; height: 1px; } @@ -178,14 +176,13 @@ iframe { </tr> </tbody></table> </div> - <div id="errorMessage" class="hidden"></div> <iframe id="carrierPage" frameborder="0"></iframe> </div> </div> - <div id="finalMessage" class="overlay hidden"> + <div id="finalStatus" class="overlay hidden"> <div class="startup"> - <div class="header"><h3 i18n-content="completed_header"></h3></div> - <div i18n-content="completed_text"></div> + <div class="header"><h3 id="finalHeader"></h3></div> + <div id="finalMessage"></div> <div class="splitter"></div> <div class="logo"></div> <div class="action-area button-strip"> diff --git a/chrome/browser/resources/mobile_setup.js b/chrome/browser/resources/mobile_setup.js index 6806c30..6538329 100644 --- a/chrome/browser/resources/mobile_setup.js +++ b/chrome/browser/resources/mobile_setup.js @@ -35,6 +35,7 @@ cr.define('mobile', function() { frameName_ : '', initialized_ : false, faked_transaction_ : false, + payment_shown_ : false, // UI states. state_ : -1, STATE_UNKNOWN_: "unknown", @@ -56,7 +57,7 @@ cr.define('mobile', function() { self.onMessageReceived_(e); }); $('closeButton').addEventListener('click', function(e) { - $('finalMessage').classList.add('hidden'); + $('finalStatus').classList.add('hidden'); }); $('carrierPage').contentWindow.location.href = carrierPage; @@ -66,8 +67,7 @@ cr.define('mobile', function() { if (self.state_ == MobileSetup.PLAN_ACTIVATION_SHOWING_PAYMENT) { $('statusHeader').textContent = ''; $('auxHeader').textContent = ''; - $('finalMessage').classList.add('hidden'); - $('errorMessage').classList.add('hidden'); + $('finalStatus').classList.add('hidden'); $('systemStatus').classList.add('hidden'); $('canvas').classList.add('hidden'); $('carrierPage').classList.add('hidden'); @@ -122,10 +122,8 @@ cr.define('mobile', function() { MobileSetup.localStrings_.getString('connecting_header'); $('auxHeader').textContent = MobileSetup.localStrings_.getString('please_wait'); - $('errorMessage').textContent = ''; $('paymentForm').classList.add('hidden'); - $('finalMessage').classList.add('hidden'); - $('errorMessage').classList.add('hidden'); + $('finalStatus').classList.add('hidden'); $('systemStatus').classList.remove('hidden'); $('canvas').classList.remove('hidden'); $('carrierPage').classList.remove('hidden'); @@ -137,10 +135,8 @@ cr.define('mobile', function() { MobileSetup.localStrings_.getString('activating_header'); $('auxHeader').textContent = MobileSetup.localStrings_.getString('please_wait'); - $('errorMessage').textContent = ''; $('paymentForm').classList.add('hidden'); - $('finalMessage').classList.add('hidden'); - $('errorMessage').classList.add('hidden'); + $('finalStatus').classList.add('hidden'); $('systemStatus').classList.remove('hidden'); $('canvas').classList.remove('hidden'); $('carrierPage').classList.remove('hidden'); @@ -150,33 +146,41 @@ cr.define('mobile', function() { MobileSetup.localStrings_.getString('connecting_header'); $('auxHeader').textContent = ''; $('paymentForm').classList.add('hidden'); - $('finalMessage').classList.add('hidden'); - $('errorMessage').classList.add('hidden'); + $('finalStatus').classList.add('hidden'); $('systemStatus').classList.remove('hidden'); $('canvas').classList.remove('hidden'); this.loadPaymentFrame_(deviceInfo); + this.payment_shown_ = true; break; case MobileSetup.PLAN_ACTIVATION_DONE: $('statusHeader').textContent = ''; $('auxHeader').textContent = ''; - $('errorMessage').classList.add('hidden'); + $('finalHeader').textContent = + MobileSetup.localStrings_.getString('completed_header'); + $('finalMessage').textContent = + MobileSetup.localStrings_.getString('completed_text'); $('systemStatus').classList.add('hidden'); $('canvas').classList.add('hidden'); $('carrierPage').classList.add('hidden'); $('paymentForm').classList.remove('hidden'); - $('finalMessage').classList.remove('hidden'); + $('closeButton').classList.remove('hidden'); + $('finalStatus').classList.remove('hidden'); break; case MobileSetup.PLAN_ACTIVATION_ERROR: - $('statusHeader').textContent = - MobileSetup.localStrings_.getString('error_header'); + $('statusHeader').textContent = ''; $('auxHeader').textContent = ''; - $('errorMessage').textContent = deviceInfo.error; - $('paymentForm').classList.add('hidden'); - $('finalMessage').classList.add('hidden'); - $('carrierPage').classList.add('hidden'); + $('finalHeader').textContent = + MobileSetup.localStrings_.getString('error_header'); + $('finalMessage').textContent = deviceInfo.error; + $('systemStatus').classList.add('hidden'); $('canvas').classList.add('hidden'); - $('errorMessage').classList.remove('hidden'); - $('systemStatus').classList.remove('hidden'); + $('carrierPage').classList.add('hidden'); + $('paymentForm').classList.remove('hidden'); + if (this.payment_shown_) + $('closeButton').classList.remove('hidden'); + else + $('closeButton').classList.add('hidden'); + $('finalStatus').classList.remove('hidden'); break; } this.state_ = new_state; |