Index: chrome/browser/chromeos/system/ash_system_tray_delegate.cc |
diff --git a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc |
index 1922b4c8e0693a01c290b52703d57877849bf0c5..eb61bc16f27a013ffe09c1fc0f667716f5f1bd32 100644 |
--- a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc |
+++ b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc |
@@ -595,25 +595,37 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, |
} |
virtual bool GetCellularCarrierInfo(std::string* carrier_id, |
- std::string* topup_url) OVERRIDE { |
+ std::string* topup_url, |
+ std::string* setup_url) OVERRIDE { |
+ bool result = false; |
NetworkLibrary* crosnet = CrosLibrary::Get()->GetNetworkLibrary(); |
const NetworkDevice* cellular = crosnet->FindCellularDevice(); |
- if (cellular) { |
- MobileConfig* config = MobileConfig::GetInstance(); |
- if (config->IsReady()) { |
- *carrier_id = crosnet->GetCellularHomeCarrierId(); |
- const MobileConfig::Carrier* carrier = config->GetCarrier(*carrier_id); |
- if (carrier) { |
- *topup_url = carrier->top_up_url(); |
- return true; |
+ if (!cellular) |
+ return false; |
+ |
+ MobileConfig* config = MobileConfig::GetInstance(); |
+ if (config->IsReady()) { |
+ *carrier_id = crosnet->GetCellularHomeCarrierId(); |
+ const MobileConfig::Carrier* carrier = config->GetCarrier(*carrier_id); |
+ if (carrier) { |
+ *topup_url = carrier->top_up_url(); |
+ result = true; |
+ } |
+ const MobileConfig::LocaleConfig* locale_config = |
+ config->GetLocaleConfig(); |
+ if (locale_config) { |
+ // Only link to setup URL if SIM card is not inserted. |
+ if (cellular->is_sim_absent()) { |
+ *setup_url = locale_config->setup_url(); |
+ result = true; |
} |
} |
} |
- return false; |
+ return result; |
} |
- virtual void ShowCellularTopupURL(const std::string& topup_url) OVERRIDE { |
- GetAppropriateBrowser()->ShowSingletonTab(GURL(topup_url)); |
+ virtual void ShowCellularURL(const std::string& url) OVERRIDE { |
+ GetAppropriateBrowser()->ShowSingletonTab(GURL(url)); |
} |
virtual void ChangeProxySettings() OVERRIDE { |