| Index: device/battery/battery_status_service.h
|
| diff --git a/content/browser/battery_status/battery_status_service.h b/device/battery/battery_status_service.h
|
| similarity index 57%
|
| rename from content/browser/battery_status/battery_status_service.h
|
| rename to device/battery/battery_status_service.h
|
| index 1c1e3648363d617ccab553a4ce96355dddc2fcda..66b81341878c5a39ad576b0ff441f968112a8445 100644
|
| --- a/content/browser/battery_status/battery_status_service.h
|
| +++ b/device/battery/battery_status_service.h
|
| @@ -2,30 +2,34 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef CONTENT_BROWSER_BATTERY_STATUS_BATTERY_STATUS_SERVICE_H_
|
| -#define CONTENT_BROWSER_BATTERY_STATUS_BATTERY_STATUS_SERVICE_H_
|
| +#ifndef DEVICE_BATTERY_BATTERY_STATUS_SERVICE_H_
|
| +#define DEVICE_BATTERY_BATTERY_STATUS_SERVICE_H_
|
|
|
| #include "base/callback_list.h"
|
| +#include "base/memory/scoped_ptr.h"
|
| #include "base/memory/singleton.h"
|
| -#include "content/common/content_export.h"
|
| -#include "third_party/WebKit/public/platform/WebBatteryStatus.h"
|
| +#include "device/battery/battery_export.h"
|
| +#include "device/battery/battery_status.mojom.h"
|
|
|
| -namespace content {
|
| +namespace base {
|
| +class SingleThreadTaskRunner;
|
| +}
|
| +
|
| +namespace device {
|
| class BatteryStatusManager;
|
|
|
| -class CONTENT_EXPORT BatteryStatusService {
|
| +class DEVICE_BATTERY_EXPORT BatteryStatusService {
|
| public:
|
| - typedef base::Callback<void(const blink::WebBatteryStatus&)>
|
| - BatteryUpdateCallback;
|
| - typedef base::CallbackList<void(const blink::WebBatteryStatus&)>
|
| + typedef base::Callback<void(const BatteryStatus&)> BatteryUpdateCallback;
|
| + typedef base::CallbackList<void(const BatteryStatus&)>
|
| BatteryUpdateCallbackList;
|
| typedef BatteryUpdateCallbackList::Subscription BatteryUpdateSubscription;
|
|
|
| // Returns the BatteryStatusService singleton.
|
| static BatteryStatusService* GetInstance();
|
|
|
| - // Adds a callback to receive battery status updates.
|
| - // Must be called on the I/O thread.
|
| + // Adds a callback to receive battery status updates. Must be called on the
|
| + // main thread. The callback itself will be called on the main thread as well.
|
| scoped_ptr<BatteryUpdateSubscription> AddCallback(
|
| const BatteryUpdateCallback& callback);
|
|
|
| @@ -33,8 +37,8 @@ class CONTENT_EXPORT BatteryStatusService {
|
| void Shutdown();
|
|
|
| // Injects a custom battery status manager for testing purposes.
|
| - // This class takes ownership of the injected object.
|
| - void SetBatteryManagerForTesting(BatteryStatusManager* test_battery_manager);
|
| + void SetBatteryManagerForTesting(
|
| + scoped_ptr<BatteryStatusManager> test_battery_manager);
|
|
|
| // Returns callback to invoke when battery is changed. Used for testing.
|
| const BatteryUpdateCallback& GetUpdateCallbackForTesting() const;
|
| @@ -47,20 +51,21 @@ class CONTENT_EXPORT BatteryStatusService {
|
|
|
| // Updates current battery status and sends new status to interested
|
| // render processes. Can be called on any thread via a callback.
|
| - void UpdateBatteryStatus(const blink::WebBatteryStatus& status);
|
| - void NotifyConsumers(const blink::WebBatteryStatus& status);
|
| + void NotifyConsumers(const BatteryStatus& status);
|
| + void NotifyConsumersOnMainThread(const BatteryStatus& status);
|
| void ConsumersChanged();
|
|
|
| + scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner_;
|
| scoped_ptr<BatteryStatusManager> battery_fetcher_;
|
| BatteryUpdateCallbackList callback_list_;
|
| BatteryUpdateCallback update_callback_;
|
| - blink::WebBatteryStatus status_;
|
| + BatteryStatus status_;
|
| bool status_updated_;
|
| bool is_shutdown_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(BatteryStatusService);
|
| };
|
|
|
| -} // namespace content
|
| +} // namespace device
|
|
|
| -#endif // CONTENT_BROWSER_BATTERY_STATUS_BATTERY_STATUS_SERVICE_H_
|
| +#endif // DEVICE_BATTERY_BATTERY_STATUS_SERVICE_H_
|
|
|