Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: Source/modules/battery/NavigatorBattery.cpp

Issue 329723005: Battery Status API: blink promise implementation and layout tests. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: revert to a single resolver at a time Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/modules/battery/NavigatorBattery.h ('k') | Source/modules/battery/NavigatorBattery.idl » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
OLDNEW
« no previous file with comments | « Source/modules/battery/NavigatorBattery.h ('k') | Source/modules/battery/NavigatorBattery.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698