| // Copyright 2020 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_UPDATER_BROWSER_UPDATER_CLIENT_UTIL_H_ |
| #define CHROME_BROWSER_UPDATER_BROWSER_UPDATER_CLIENT_UTIL_H_ |
| |
| #include <string> |
| |
| #include "base/functional/callback_forward.h" |
| #include "chrome/updater/updater_scope.h" |
| |
| extern const char kUpdaterName[]; |
| extern const char kPrivilegedHelperName[]; |
| |
| // Get the current installed version of the browser. |
| std::string CurrentlyInstalledVersion(); |
| |
| // System level updater should only be used if the browser is owned by root. |
| // During promotion, the browser will be changed to be owned by root and wheel. |
| // A browser must go through promotion before it can utilize the system-level |
| // updater. |
| updater::UpdaterScope GetBrowserUpdaterScope(); |
| |
| // If this build should integrate with an updater, makes sure that an updater |
| // is installed and that the browser is registered with it for updates. Must be |
| // called on a sequenced task runner. In cases where user intervention is |
| // necessary, calls `prompt` (on the same sequence). After the updater is made |
| // present (or cannot be made present), calls `complete` on the same sequence. |
| void EnsureUpdater(base::OnceClosure prompt, base::OnceClosure complete); |
| |
| // Prompts the user for credentials and sets up a system-level updater. |
| void SetupSystemUpdater(); |
| |
| #endif // CHROME_BROWSER_UPDATER_BROWSER_UPDATER_CLIENT_UTIL_H_ |