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

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

Issue 2646383002: Use a new Supplement constructor for (Worker)Navigator supplements (Closed)
Patch Set: temp Created 3 years, 11 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
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 "modules/battery/NavigatorBattery.h" 5 #include "modules/battery/NavigatorBattery.h"
6 6
7 #include "core/frame/LocalFrame.h" 7 #include "core/frame/LocalFrame.h"
8 #include "modules/battery/BatteryManager.h" 8 #include "modules/battery/BatteryManager.h"
9 9
10 namespace blink { 10 namespace blink {
11 11
12 NavigatorBattery::NavigatorBattery() {} 12 NavigatorBattery::NavigatorBattery(Navigator& navigator)
13 : Supplement<Navigator>(navigator) {}
13 14
14 ScriptPromise NavigatorBattery::getBattery(ScriptState* scriptState, 15 ScriptPromise NavigatorBattery::getBattery(ScriptState* scriptState,
15 Navigator& navigator) { 16 Navigator& navigator) {
16 return NavigatorBattery::from(navigator).getBattery(scriptState); 17 return NavigatorBattery::from(navigator).getBattery(scriptState);
17 } 18 }
18 19
19 ScriptPromise NavigatorBattery::getBattery(ScriptState* scriptState) { 20 ScriptPromise NavigatorBattery::getBattery(ScriptState* scriptState) {
20 if (!m_batteryManager) 21 if (!m_batteryManager)
21 m_batteryManager = 22 m_batteryManager =
22 BatteryManager::create(scriptState->getExecutionContext()); 23 BatteryManager::create(scriptState->getExecutionContext());
23 24
24 return m_batteryManager->startRequest(scriptState); 25 return m_batteryManager->startRequest(scriptState);
25 } 26 }
26 27
27 const char* NavigatorBattery::supplementName() { 28 const char* NavigatorBattery::supplementName() {
28 return "NavigatorBattery"; 29 return "NavigatorBattery";
29 } 30 }
30 31
31 NavigatorBattery& NavigatorBattery::from(Navigator& navigator) { 32 NavigatorBattery& NavigatorBattery::from(Navigator& navigator) {
32 NavigatorBattery* supplement = static_cast<NavigatorBattery*>( 33 NavigatorBattery* supplement = static_cast<NavigatorBattery*>(
33 Supplement<Navigator>::from(navigator, supplementName())); 34 Supplement<Navigator>::from(navigator, supplementName()));
34 if (!supplement) { 35 if (!supplement) {
35 supplement = new NavigatorBattery(); 36 supplement = new NavigatorBattery(navigator);
36 provideTo(navigator, supplementName(), supplement); 37 provideTo(navigator, supplementName(), supplement);
37 } 38 }
38 return *supplement; 39 return *supplement;
39 } 40 }
40 41
41 DEFINE_TRACE(NavigatorBattery) { 42 DEFINE_TRACE(NavigatorBattery) {
42 visitor->trace(m_batteryManager); 43 visitor->trace(m_batteryManager);
43 Supplement<Navigator>::trace(visitor); 44 Supplement<Navigator>::trace(visitor);
44 } 45 }
45 46
46 } // namespace blink 47 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698