| OLD | NEW | 
|   1 // Copyright 2014 The Chromium Authors. All rights reserved. |   1 // Copyright 2014 The Chromium Authors. All rights reserved. | 
|   2 // Use of this source code is governed by a BSD-style license that can be |   2 // Use of this source code is governed by a BSD-style license that can be | 
|   3 // found in the LICENSE file. |   3 // found in the LICENSE file. | 
|   4  |   4  | 
|   5 #include "config.h" |   5 #include "config.h" | 
|   6 #include "modules/battery/NavigatorBattery.h" |   6 #include "modules/battery/NavigatorBattery.h" | 
|   7  |   7  | 
|   8 #include "core/frame/LocalFrame.h" |   8 #include "core/frame/LocalFrame.h" | 
|   9 #include "modules/battery/BatteryManager.h" |   9 #include "modules/battery/BatteryManager.h" | 
|  10  |  10  | 
|  11 namespace WebCore { |  11 namespace WebCore { | 
|  12  |  12  | 
|  13 NavigatorBattery::NavigatorBattery() |  13 NavigatorBattery::NavigatorBattery() | 
|  14 { |  14 { | 
|  15 } |  15 } | 
|  16  |  16  | 
|  17 NavigatorBattery::~NavigatorBattery() |  17 NavigatorBattery::~NavigatorBattery() | 
|  18 { |  18 { | 
|  19 } |  19 } | 
|  20  |  20  | 
|  21 BatteryManager* NavigatorBattery::battery(Navigator& navigator) |  21 ScriptPromise NavigatorBattery::getBattery(ScriptState* scriptState, Navigator& 
    navigator) | 
|  22 { |  22 { | 
|  23     return NavigatorBattery::from(navigator).batteryManager(navigator); |  23     return NavigatorBattery::from(navigator).getBattery(scriptState); | 
|  24 } |  24 } | 
|  25  |  25  | 
|  26 BatteryManager* NavigatorBattery::batteryManager(Navigator& navigator) |  26 ScriptPromise NavigatorBattery::getBattery(ScriptState* scriptState) | 
|  27 { |  27 { | 
|  28     if (!m_batteryManager && navigator.frame()) |  28     if (!m_batteryManager) | 
|  29         m_batteryManager = BatteryManager::create(navigator.frame()->document())
    ; |  29         m_batteryManager = BatteryManager::create(scriptState->executionContext(
    )); | 
|  30     return m_batteryManager.get(); |  30  | 
 |  31     return m_batteryManager->startRequest(scriptState); | 
|  31 } |  32 } | 
|  32  |  33  | 
|  33 const char* NavigatorBattery::supplementName() |  34 const char* NavigatorBattery::supplementName() | 
|  34 { |  35 { | 
|  35     return "NavigatorBattery"; |  36     return "NavigatorBattery"; | 
|  36 } |  37 } | 
|  37  |  38  | 
|  38 NavigatorBattery& NavigatorBattery::from(Navigator& navigator) |  39 NavigatorBattery& NavigatorBattery::from(Navigator& navigator) | 
|  39 { |  40 { | 
|  40     NavigatorBattery* supplement = static_cast<NavigatorBattery*>(WillBeHeapSupp
    lement<Navigator>::from(navigator, supplementName())); |  41     NavigatorBattery* supplement = static_cast<NavigatorBattery*>(WillBeHeapSupp
    lement<Navigator>::from(navigator, supplementName())); | 
|  41     if (!supplement) { |  42     if (!supplement) { | 
|  42         supplement = new NavigatorBattery(); |  43         supplement = new NavigatorBattery(); | 
|  43         provideTo(navigator, supplementName(), adoptPtrWillBeNoop(supplement)); |  44         provideTo(navigator, supplementName(), adoptPtrWillBeNoop(supplement)); | 
|  44     } |  45     } | 
|  45     return *supplement; |  46     return *supplement; | 
|  46 } |  47 } | 
|  47  |  48  | 
|  48 void NavigatorBattery::trace(Visitor* visitor) |  49 void NavigatorBattery::trace(Visitor* visitor) | 
|  49 { |  50 { | 
|  50     visitor->trace(m_batteryManager); |  51     visitor->trace(m_batteryManager); | 
|  51     WillBeHeapSupplement<Navigator>::trace(visitor); |  52     WillBeHeapSupplement<Navigator>::trace(visitor); | 
|  52 } |  53 } | 
|  53  |  54  | 
|  54 } // namespace WebCore |  55 } // namespace WebCore | 
| OLD | NEW |