NavigatorBattery.cpp [plain text]
#include "config.h"
#include "NavigatorBattery.h"
#if ENABLE(BATTERY_STATUS)
#include "BatteryController.h"
#include "BatteryManager.h"
#include "Navigator.h"
namespace WebCore {
NavigatorBattery::NavigatorBattery()
{
}
NavigatorBattery::~NavigatorBattery()
{
}
BatteryManager* NavigatorBattery::webkitBattery(Navigator* navigator)
{
if (!navigator->frame())
return nullptr;
NavigatorBattery* navigatorBattery = NavigatorBattery::from(navigator);
if (!navigatorBattery->m_batteryManager)
navigatorBattery->m_batteryManager = BatteryManager::create(navigator);
return navigatorBattery->m_batteryManager.get();
}
const char* NavigatorBattery::supplementName()
{
return "NavigatorBattery";
}
NavigatorBattery* NavigatorBattery::from(Navigator* navigator)
{
NavigatorBattery* supplement = static_cast<NavigatorBattery*>(Supplement<Navigator>::from(navigator, supplementName()));
if (!supplement) {
auto newSupplement = std::make_unique<NavigatorBattery>();
supplement = newSupplement.get();
provideTo(navigator, supplementName(), WTF::move(newSupplement));
}
return supplement;
}
}
#endif // ENABLE(BATTERY_STATUS)