diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/Modules/battery/BatteryController.cpp | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebCore/Modules/battery/BatteryController.cpp')
-rw-r--r-- | Source/WebCore/Modules/battery/BatteryController.cpp | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/Source/WebCore/Modules/battery/BatteryController.cpp b/Source/WebCore/Modules/battery/BatteryController.cpp deleted file mode 100644 index f10883a14..000000000 --- a/Source/WebCore/Modules/battery/BatteryController.cpp +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright (C) 2012 Samsung Electronics - * Copyright (C) 2012 Google Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#include "config.h" -#include "BatteryController.h" - -#if ENABLE(BATTERY_STATUS) - -#include "BatteryClient.h" -#include "BatteryStatus.h" -#include "Event.h" - -namespace WebCore { - -BatteryController::BatteryController(BatteryClient* client) - : m_client(client) -{ - ASSERT(m_client); -} - -BatteryController::~BatteryController() -{ - for (ListenerVector::iterator it = m_listeners.begin(); it != m_listeners.end(); ++it) - (*it)->batteryControllerDestroyed(); - m_client->batteryControllerDestroyed(); -} - -PassOwnPtr<BatteryController> BatteryController::create(BatteryClient* client) -{ - return adoptPtr(new BatteryController(client)); -} - -void BatteryController::addListener(BatteryManager* batteryManager) -{ - m_listeners.append(batteryManager); - m_client->startUpdating(); - - if (m_batteryStatus) - batteryManager->updateBatteryStatus(m_batteryStatus); -} - -void BatteryController::removeListener(BatteryManager* batteryManager) -{ - size_t pos = m_listeners.find(batteryManager); - if (pos == WTF::notFound) - return; - m_listeners.remove(pos); - if (m_listeners.isEmpty()) - m_client->stopUpdating(); -} - -void BatteryController::updateBatteryStatus(PassRefPtr<BatteryStatus> batteryStatus) -{ - RefPtr<BatteryStatus> status = batteryStatus; - if (m_batteryStatus) { - if (m_batteryStatus->charging() != status->charging()) - didChangeBatteryStatus(WebCore::eventNames().chargingchangeEvent, status); - else if (status->charging() && m_batteryStatus->chargingTime() != status->chargingTime()) - didChangeBatteryStatus(WebCore::eventNames().chargingtimechangeEvent, status); - else if (!status->charging() && m_batteryStatus->dischargingTime() != status->dischargingTime()) - didChangeBatteryStatus(WebCore::eventNames().dischargingtimechangeEvent, status); - - if (m_batteryStatus->level() != status->level()) - didChangeBatteryStatus(WebCore::eventNames().levelchangeEvent, status); - } else { - for (ListenerVector::iterator it = m_listeners.begin(); it != m_listeners.end(); ++it) - (*it)->updateBatteryStatus(status); - } - - m_batteryStatus = status.release(); -} - -void BatteryController::didChangeBatteryStatus(const AtomicString& eventType, PassRefPtr<BatteryStatus> batteryStatus) -{ - RefPtr<Event> event = Event::create(eventType, false, false); - RefPtr<BatteryStatus> battery = batteryStatus; - for (ListenerVector::iterator it = m_listeners.begin(); it != m_listeners.end(); ++it) - (*it)->didChangeBatteryStatus(event, battery); -} - -const char* BatteryController::supplementName() -{ - return "BatteryController"; -} - -bool BatteryController::isActive(Page* page) -{ - return static_cast<bool>(BatteryController::from(page)); -} - -void provideBatteryTo(Page* page, BatteryClient* client) -{ - Supplement<Page>::provideTo(page, BatteryController::supplementName(), BatteryController::create(client)); -} - -} - -#endif // BATTERY_STATUS - |