summaryrefslogtreecommitdiffstats
path: root/chrome/browser/upgrade_detector.cc
diff options
context:
space:
mode:
authorxiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-24 21:17:51 +0000
committerxiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-24 21:17:51 +0000
commit5c0f545fd692c0e3d7a25f14483d0410a17e7698 (patch)
tree518d8a8babc33133d407969c6657ef25236a7be0 /chrome/browser/upgrade_detector.cc
parent68ebbefa371c213fc1e86b3bddcceef2671a8c60 (diff)
downloadchromium_src-5c0f545fd692c0e3d7a25f14483d0410a17e7698.zip
chromium_src-5c0f545fd692c0e3d7a25f14483d0410a17e7698.tar.gz
chromium_src-5c0f545fd692c0e3d7a25f14483d0410a17e7698.tar.bz2
[ChromeOS] Move ChromeOS upgrade check logic into UpgradeDetector.
- UpgradeDetector::CheckForUpgrade uses ChromeOS update libary status for ChromeOS upgrade check; - Remove ChromeOS specific code from ToolbarView since it could solely use UpgradeDetector now; - Remove notification from update library since UpgradeDetector will do this; - Update WrenchMenuModel to solely talk to UpgradeDetector; BUG=chromium-os:15272 TEST=Verify fix for chromium-os:15272 and run regression tests for ChromeOS update. Review URL: http://codereview.chromium.org/6966025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86491 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/upgrade_detector.cc')
-rw-r--r--chrome/browser/upgrade_detector.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/chrome/browser/upgrade_detector.cc b/chrome/browser/upgrade_detector.cc
index c15c8d5..a0d8f0c 100644
--- a/chrome/browser/upgrade_detector.cc
+++ b/chrome/browser/upgrade_detector.cc
@@ -35,6 +35,11 @@
#include "base/version.h"
#endif
+#if defined(OS_CHROMEOS)
+#include "chrome/browser/chromeos/cros/cros_library.h"
+#include "chrome/browser/chromeos/cros/update_library.h"
+#endif
+
namespace {
// How long (in milliseconds) to wait (each cycle) before checking whether
@@ -205,6 +210,13 @@ UpgradeDetector* UpgradeDetector::GetInstance() {
}
void UpgradeDetector::CheckForUpgrade() {
+#if defined(OS_CHROMEOS)
+ // For ChromeOS, check update library status to detect upgrade.
+ if (chromeos::CrosLibrary::Get()->GetUpdateLibrary()->status().status ==
+ chromeos::UPDATE_STATUS_UPDATED_NEED_REBOOT) {
+ UpgradeDetected();
+ }
+#else
method_factory_.RevokeAll();
Task* callback_task =
method_factory_.NewRunnableMethod(&UpgradeDetector::UpgradeDetected);
@@ -215,6 +227,7 @@ void UpgradeDetector::CheckForUpgrade() {
BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE,
new DetectUpgradeTask(callback_task,
&is_unstable_channel_));
+#endif
}
void UpgradeDetector::UpgradeDetected() {