1c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)// found in the LICENSE file. 4c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 5c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)#ifndef NavigatorGeofencing_h 6c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)#define NavigatorGeofencing_h 7c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 8c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)#include "platform/Supplementable.h" 9c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)#include "platform/heap/Handle.h" 10c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 11c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink { 12c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 13c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)class Geofencing; 14c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)class Navigator; 15c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 16c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)class NavigatorGeofencing FINAL 17c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) : public NoBaseWillBeGarbageCollectedFinalized<NavigatorGeofencing> 18c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) , public WillBeHeapSupplement<Navigator> { 19c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(NavigatorGeofencing); 20c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 21c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)public: 22c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) virtual ~NavigatorGeofencing(); 23c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) static NavigatorGeofencing& from(Navigator&); 24c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 25c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) static Geofencing* geofencing(Navigator&); 26c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) Geofencing* geofencing(); 27c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 28c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) virtual void trace(Visitor*) OVERRIDE; 29c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 30c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)private: 31c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) NavigatorGeofencing(); 32c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) static const char* supplementName(); 33c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 34c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) PersistentWillBeMember<Geofencing> m_geofencing; 35c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)}; 36c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 37c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)} // namespace blink 38c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles) 39c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)#endif // NavigatorGeofencing_h 40