OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "modules/geofencing/WorkerNavigatorGeofencing.h" | |
6 | |
7 #include "core/workers/WorkerNavigator.h" | |
8 #include "modules/geofencing/Geofencing.h" | |
9 | |
10 namespace blink { | |
11 | |
12 WorkerNavigatorGeofencing::WorkerNavigatorGeofencing() | |
13 { | |
14 } | |
15 | |
16 WorkerNavigatorGeofencing::~WorkerNavigatorGeofencing() | |
17 { | |
18 } | |
19 | |
20 const char* WorkerNavigatorGeofencing::supplementName() | |
21 { | |
22 return "WorkerNavigatorGeofencing"; | |
23 } | |
24 | |
25 WorkerNavigatorGeofencing& WorkerNavigatorGeofencing::from(WorkerNavigator& navi
gator) | |
26 { | |
27 WorkerNavigatorGeofencing* supplement = static_cast<WorkerNavigatorGeofencin
g*>(Supplement<WorkerNavigator>::from(navigator, supplementName())); | |
28 if (!supplement) { | |
29 supplement = new WorkerNavigatorGeofencing(); | |
30 provideTo(navigator, supplementName(), supplement); | |
31 } | |
32 return *supplement; | |
33 } | |
34 | |
35 Geofencing* WorkerNavigatorGeofencing::geofencing(WorkerNavigator& navigator) | |
36 { | |
37 return WorkerNavigatorGeofencing::from(navigator).geofencing(); | |
38 } | |
39 | |
40 Geofencing* WorkerNavigatorGeofencing::geofencing() | |
41 { | |
42 if (!m_geofencing) | |
43 m_geofencing = Geofencing::create(nullptr); | |
44 return m_geofencing.get(); | |
45 } | |
46 | |
47 DEFINE_TRACE(WorkerNavigatorGeofencing) | |
48 { | |
49 visitor->trace(m_geofencing); | |
50 Supplement<WorkerNavigator>::trace(visitor); | |
51 } | |
52 | |
53 } // namespace blink | |
OLD | NEW |