[Extensions Toolbar Mac] Fix actions bar min size, spacing
[chromium-blink-merge.git] / chrome / browser / ui / webui / help / version_updater_chromeos.h
blobc0c54e50550c70f4e3a5b67bfb4c8153279c07d0
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_UI_WEBUI_HELP_VERSION_UPDATER_CHROMEOS_H_
6 #define CHROME_BROWSER_UI_WEBUI_HELP_VERSION_UPDATER_CHROMEOS_H_
8 #include "base/compiler_specific.h"
9 #include "base/memory/weak_ptr.h"
10 #include "chrome/browser/ui/webui/help/version_updater.h"
11 #include "chromeos/dbus/update_engine_client.h"
13 class VersionUpdaterCros : public VersionUpdater,
14 public chromeos::UpdateEngineClient::Observer {
15 public:
16 // VersionUpdater implementation.
17 void CheckForUpdate(const StatusCallback& callback) override;
18 void RelaunchBrowser() const override;
19 void SetChannel(const std::string& channel,
20 bool is_powerwash_allowed) override;
21 void GetChannel(bool get_current_channel,
22 const ChannelCallback& callback) override;
24 // Gets the last update status, without triggering a new check or download.
25 void GetUpdateStatus(const StatusCallback& callback);
27 protected:
28 friend class VersionUpdater;
30 // Clients must use VersionUpdater::Create().
31 explicit VersionUpdaterCros(content::BrowserContext* context);
32 ~VersionUpdaterCros() override;
34 private:
35 // UpdateEngineClient::Observer implementation.
36 void UpdateStatusChanged(
37 const chromeos::UpdateEngineClient::Status& status) override;
39 // Callback from UpdateEngineClient::RequestUpdateCheck().
40 void OnUpdateCheck(chromeos::UpdateEngineClient::UpdateCheckResult result);
42 // BrowserContext in which the class was instantiated.
43 content::BrowserContext* context_;
45 // Callback used to communicate update status to the client.
46 StatusCallback callback_;
48 // Last state received via UpdateStatusChanged().
49 chromeos::UpdateEngineClient::UpdateStatusOperation last_operation_;
51 // True if an update check should be scheduled when the update engine is idle.
52 bool check_for_update_when_idle_;
54 base::WeakPtrFactory<VersionUpdaterCros> weak_ptr_factory_;
56 DISALLOW_COPY_AND_ASSIGN(VersionUpdaterCros);
59 #endif // CHROME_BROWSER_UI_WEBUI_HELP_VERSION_UPDATER_CHROMEOS_H_