Chromium Code Reviews| Index: Source/modules/geofencing/ServiceWorkerRegistrationGeofencing.cpp |
| diff --git a/Source/modules/geofencing/ServiceWorkerRegistrationGeofencing.cpp b/Source/modules/geofencing/ServiceWorkerRegistrationGeofencing.cpp |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..d54345f7e035386c04e324db66bb0b04f4f002b4 |
| --- /dev/null |
| +++ b/Source/modules/geofencing/ServiceWorkerRegistrationGeofencing.cpp |
| @@ -0,0 +1,56 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "config.h" |
| +#include "modules/geofencing/ServiceWorkerRegistrationGeofencing.h" |
| + |
| +#include "modules/geofencing/Geofencing.h" |
| +#include "modules/serviceworkers/ServiceWorkerRegistration.h" |
| + |
| +namespace blink { |
| + |
| +ServiceWorkerRegistrationGeofencing::ServiceWorkerRegistrationGeofencing(ServiceWorkerRegistration* registration) |
| + : m_registration(registration) |
| +{ |
| +} |
| + |
| +ServiceWorkerRegistrationGeofencing::~ServiceWorkerRegistrationGeofencing() |
| +{ |
| +} |
| + |
| +const char* ServiceWorkerRegistrationGeofencing::supplementName() |
| +{ |
| + return "ServiceWorkerRegistrationGeofencing"; |
| +} |
| + |
| +ServiceWorkerRegistrationGeofencing& ServiceWorkerRegistrationGeofencing::from(ServiceWorkerRegistration& navigator) |
|
jsbell
2014/10/08 18:51:57
Rename 'navigator' to 'registration'
Marijn Kruisselbrink
2014/10/08 23:00:32
argh, the danger of copy-paste coding... fixed.
|
| +{ |
| + ServiceWorkerRegistrationGeofencing* supplement = static_cast<ServiceWorkerRegistrationGeofencing*>(HeapSupplement<ServiceWorkerRegistration>::from(navigator, supplementName())); |
| + if (!supplement) { |
| + supplement = new ServiceWorkerRegistrationGeofencing(&navigator); |
| + provideTo(navigator, supplementName(), supplement); |
| + } |
| + return *supplement; |
| +} |
| + |
| +Geofencing* ServiceWorkerRegistrationGeofencing::geofencing(ServiceWorkerRegistration& navigator) |
|
jsbell
2014/10/08 18:51:57
Ditto
Marijn Kruisselbrink
2014/10/08 23:00:32
Done.
|
| +{ |
| + return ServiceWorkerRegistrationGeofencing::from(navigator).geofencing(); |
| +} |
| + |
| +Geofencing* ServiceWorkerRegistrationGeofencing::geofencing() |
| +{ |
| + if (!m_geofencing) |
| + m_geofencing = Geofencing::create(m_registration); |
| + return m_geofencing.get(); |
| +} |
| + |
| +void ServiceWorkerRegistrationGeofencing::trace(Visitor* visitor) |
| +{ |
| + visitor->trace(m_registration); |
| + visitor->trace(m_geofencing); |
| + HeapSupplement<ServiceWorkerRegistration>::trace(visitor); |
| +} |
| + |
| +} // namespace blink |