diff options
Diffstat (limited to 'chromium/third_party/WebKit/Source/modules/battery/BatteryDispatcher.cpp')
-rw-r--r-- | chromium/third_party/WebKit/Source/modules/battery/BatteryDispatcher.cpp | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/chromium/third_party/WebKit/Source/modules/battery/BatteryDispatcher.cpp b/chromium/third_party/WebKit/Source/modules/battery/BatteryDispatcher.cpp new file mode 100644 index 00000000000..707f27e1e73 --- /dev/null +++ b/chromium/third_party/WebKit/Source/modules/battery/BatteryDispatcher.cpp @@ -0,0 +1,50 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "config.h" +#include "modules/battery/BatteryDispatcher.h" + +#include "modules/battery/BatteryStatus.h" +#include "platform/NotImplemented.h" +#include "public/platform/Platform.h" + +namespace WebCore { + +BatteryDispatcher& BatteryDispatcher::instance() +{ + DEFINE_STATIC_LOCAL(BatteryDispatcher, batteryDispatcher, ()); + return batteryDispatcher; +} + +BatteryDispatcher::BatteryDispatcher() +{ +} + +BatteryDispatcher::~BatteryDispatcher() +{ +} + +void BatteryDispatcher::updateBatteryStatus(const blink::WebBatteryStatus& batteryStatus) +{ + m_batteryStatus = BatteryStatus::create(batteryStatus.charging, batteryStatus.chargingTime, batteryStatus.dischargingTime, batteryStatus.level); + notifyControllers(); +} + +BatteryStatus* BatteryDispatcher::latestData() +{ + return m_batteryStatus.get(); +} + +void BatteryDispatcher::startListening() +{ + blink::Platform::current()->setBatteryStatusListener(this); +} + +void BatteryDispatcher::stopListening() +{ + blink::Platform::current()->setBatteryStatusListener(0); + m_batteryStatus.clear(); +} + +} |