// Copyright 2011 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_UPGRADE_DETECTOR_UPGRADE_DETECTOR_H_ #define CHROME_BROWSER_UPGRADE_DETECTOR_UPGRADE_DETECTOR_H_ #include <optional> #include <string> #include "base/gtest_prod_util.h" #include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "base/observer_list.h" #include "base/sequence_checker.h" #include "base/time/time.h" #include "base/timer/timer.h" #include "build/chromeos_buildflags.h" #include "chrome/browser/upgrade_detector/upgrade_observer.h" #include "components/prefs/pref_change_registrar.h" class PrefRegistrySimple; class UpgradeObserver; namespace base { class Clock; class TickClock; } /////////////////////////////////////////////////////////////////////////////// // UpgradeDetector // // This class is a singleton class that monitors when an upgrade happens in the // background. We basically ask Omaha what it thinks the latest version is and // if our version is lower we send out a notification upon: // a) Detecting an upgrade and... // b) When we think the user should be notified about the upgrade. // The latter happens much later, since we don't want to be too annoying. // This class is not thread safe -- all access must take place on the UI thread. // class UpgradeDetector { … }; #endif // CHROME_BROWSER_UPGRADE_DETECTOR_UPGRADE_DETECTOR_H_