summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/app/generated_resources.grd2
-rw-r--r--chrome/browser/browser_resources.grd2
-rw-r--r--chrome/browser/chromeos/dom_ui/mobile_setup_ui.cc35
-rw-r--r--chrome/browser/profiles/profile_impl.cc12
-rw-r--r--chrome/browser/resources/mobile_setup.html11
-rw-r--r--chrome/browser/resources/mobile_setup.js46
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;