| Index: chrome/browser/upgrade_detector_impl.h
|
| ===================================================================
|
| --- chrome/browser/upgrade_detector_impl.h (revision 286992)
|
| +++ chrome/browser/upgrade_detector_impl.h (working copy)
|
| @@ -8,11 +8,14 @@
|
| #include "base/memory/weak_ptr.h"
|
| #include "base/timer/timer.h"
|
| #include "base/version.h"
|
| +#include "chrome/browser/metrics/variations/variations_service.h"
|
| #include "chrome/browser/upgrade_detector.h"
|
|
|
| template <typename T> struct DefaultSingletonTraits;
|
|
|
| -class UpgradeDetectorImpl : public UpgradeDetector {
|
| +class UpgradeDetectorImpl :
|
| + public UpgradeDetector,
|
| + public chrome_variations::VariationsService::Observer {
|
| public:
|
| virtual ~UpgradeDetectorImpl();
|
|
|
| @@ -24,17 +27,30 @@
|
| // Returns the singleton instance.
|
| static UpgradeDetectorImpl* GetInstance();
|
|
|
| + protected:
|
| + UpgradeDetectorImpl();
|
| +
|
| + // chrome_variations::VariationsService::Observer:
|
| + virtual void OnExperimentChangesDetected(Severity severity) OVERRIDE;
|
| +
|
| + // Trigger an "on upgrade" notification based on the specified |time_passed|
|
| + // interval. Exposed as protected for testing.
|
| + void NotifyOnUpgradeWithTimePassed(base::TimeDelta time_passed);
|
| +
|
| private:
|
| friend struct DefaultSingletonTraits<UpgradeDetectorImpl>;
|
|
|
| - UpgradeDetectorImpl();
|
| -
|
| // Start the timer that will call |CheckForUpgrade()|.
|
| void StartTimerForUpgradeCheck();
|
|
|
| // Launches a task on the file thread to check if we have the latest version.
|
| void CheckForUpgrade();
|
|
|
| + // Starts the upgrade notification timer that will check periodically whether
|
| + // enough time has elapsed to update the severity (which maps to visual
|
| + // badging) of the notification.
|
| + void StartUpgradeNotificationTimer();
|
| +
|
| // Sends out a notification and starts a one shot timer to wait until
|
| // notifying the user.
|
| void UpgradeDetected(UpgradeAvailable upgrade_available);
|
| @@ -74,6 +90,10 @@
|
| // True if auto update is turned on.
|
| bool is_auto_update_enabled_;
|
|
|
| + // When the upgrade was detected - either a software update or a variations
|
| + // update, whichever happened first.
|
| + base::Time upgrade_detected_time_;
|
| +
|
| // The date the binaries were built.
|
| base::Time build_date_;
|
|
|
|
|