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 #ifndef WorkerNavigatorGeofencing_h 6 #define WorkerNavigatorGeofencing_h 7 8 #include "platform/Supplementable.h" 9 #include "platform/heap/Handle.h" 10 11 namespace blink { 12 13 class Geofencing; 14 class WorkerNavigator; 15 16 class WorkerNavigatorGeofencing FINAL : public NoBaseWillBeGarbageCollectedFinalized<WorkerNavigatorGeofencing>, public WillBeHeapSupplement<WorkerNavigator> { 17 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(WorkerNavigatorGeofencing); 18 WTF_MAKE_NONCOPYABLE(WorkerNavigatorGeofencing); 19 public: 20 virtual ~WorkerNavigatorGeofencing(); 21 static WorkerNavigatorGeofencing& from(WorkerNavigator&); 22 23 static Geofencing* geofencing(WorkerNavigator&); 24 Geofencing* geofencing(); 25 26 virtual void trace(Visitor*) OVERRIDE; 27 28 private: 29 WorkerNavigatorGeofencing(); 30 static const char* supplementName(); 31 32 PersistentWillBeMember<Geofencing> m_geofencing; 33 }; 34 35 } // namespace blink 36 37 #endif // WorkerNavigatorGeofencing_h 38