summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/offline/offline_load_page.cc
diff options
context:
space:
mode:
authoroshima@google.com <oshima@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-07 19:53:24 +0000
committeroshima@google.com <oshima@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-07 19:53:24 +0000
commit02f91a77225e01e8d737ab33e93c14a6fda1630b (patch)
treef938362dc8e6c9d237486cdf38d3ab0dbdd03bc8 /chrome/browser/chromeos/offline/offline_load_page.cc
parent2052778b5be7bfd53d702a4e6e1615dc23f3acc5 (diff)
downloadchromium_src-02f91a77225e01e8d737ab33e93c14a6fda1630b.zip
chromium_src-02f91a77225e01e8d737ab33e93c14a6fda1630b.tar.gz
chromium_src-02f91a77225e01e8d737ab33e93c14a6fda1630b.tar.bz2
Add link to activate verizon in offline page.
This CL also update the page itself to match new mock from kenmoore. Fix a crash when reloading offline page. It calls DontProceed when reloaded, so I shouldn't have Release reference on OnRequestClosed. There are a couple of difference between the page and mock and will continue working on it for R12, but this should be good enough for R11. (or we can do minor update in the branch) BUG=chromium-os:12286 TEST=manual: on chromeos, disconnect network and load www.google.com. Offline page now has a link to activate verizon 3g. Review URL: http://codereview.chromium.org/6625020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77172 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/offline/offline_load_page.cc')
-rw-r--r--chrome/browser/chromeos/offline/offline_load_page.cc37
1 files changed, 30 insertions, 7 deletions
diff --git a/chrome/browser/chromeos/offline/offline_load_page.cc b/chrome/browser/chromeos/offline/offline_load_page.cc
index e9457b8..5e95496 100644
--- a/chrome/browser/chromeos/offline/offline_load_page.cc
+++ b/chrome/browser/chromeos/offline/offline_load_page.cc
@@ -15,6 +15,8 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/tab_contents/tab_util.h"
#include "chrome/browser/ui/browser.h"
+#include "chrome/browser/chromeos/cros/cros_library.h"
+#include "chrome/browser/chromeos/cros/network_library.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/jstemplate_builder.h"
#include "chrome/common/notification_service.h"
@@ -75,10 +77,6 @@ OfflineLoadPage::OfflineLoadPage(TabContents* tab_contents,
std::string OfflineLoadPage::GetHTMLContents() {
DictionaryValue strings;
- // Toggle Cancel button.
- strings.SetString("display_cancel",
- tab()->controller().CanGoBack() ? "inline" : "none");
-
int64 time_to_wait = std::max(
static_cast<int64>(0),
kMaxBlankPeriod -
@@ -86,12 +84,17 @@ std::string OfflineLoadPage::GetHTMLContents() {
// Set the timeout to show the page.
strings.SetInteger("timeToWait", static_cast<int>(time_to_wait));
// Button labels
- SetString(&strings, "load_button", IDS_OFFLINE_LOAD_BUTTON);
- SetString(&strings, "cancel_button", IDS_OFFLINE_CANCEL_BUTTON);
-
SetString(&strings, "heading", IDS_OFFLINE_LOAD_HEADLINE);
+ SetString(&strings, "try_loading", IDS_OFFLINE_TRY_LOADING);
SetString(&strings, "network_settings", IDS_OFFLINE_NETWORK_SETTINGS);
+ // Activation
+ SetString(&strings, "activation_heading", IDS_OFFLINE_ACTIVATION_HEADLINE);
+ SetString(&strings, "activation_msg", IDS_OFFLINE_ACTIVATION_MESSAGE);
+ SetString(&strings, "activation_button", IDS_OFFLINE_ACTIVATION_BUTTON);
+ strings.SetString("display_activation",
+ ShowActivationMessage() ? "block" : "none");
+
bool rtl = base::i18n::IsRTL();
strings.SetString("textdirection", rtl ? "rtl" : "ltr");
@@ -173,6 +176,10 @@ void OfflineLoadPage::CommandReceived(const std::string& cmd) {
Browser* browser = BrowserList::GetLastActive();
DCHECK(browser);
browser->ShowOptionsTab(chrome::kInternetOptionsSubPage);
+ } else if (command == "open_activate_broadband") {
+ Browser* browser = BrowserList::GetLastActive();
+ DCHECK(browser);
+ browser->OpenMobilePlanTabAndActivate();
} else {
LOG(WARNING) << "Unknown command:" << cmd;
}
@@ -212,4 +219,20 @@ void OfflineLoadPage::Observe(NotificationType type,
}
}
+bool OfflineLoadPage::ShowActivationMessage() {
+ CrosLibrary* cros = CrosLibrary::Get();
+ if (!cros || !cros->GetNetworkLibrary()->cellular_available())
+ return false;
+
+ const CellularNetworkVector& cell_networks =
+ cros->GetNetworkLibrary()->cellular_networks();
+ for (size_t i = 0; i < cell_networks.size(); ++i) {
+ chromeos::ActivationState activation_state =
+ cell_networks[i]->activation_state();
+ if (activation_state == ACTIVATION_STATE_ACTIVATED)
+ return false;
+ }
+ return true;
+}
+
} // namespace chromeos