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 Geofencing_h 6#define Geofencing_h 7 8#include "bindings/core/v8/ScriptWrappable.h" 9#include "platform/heap/Handle.h" 10#include "wtf/text/WTFString.h" 11 12namespace blink { 13 14class ExecutionContext; 15class GeofencingRegion; 16class ScriptPromise; 17class ScriptState; 18 19class Geofencing FINAL : public GarbageCollected<Geofencing>, public ScriptWrappable { 20 DEFINE_WRAPPERTYPEINFO(); 21public: 22 static Geofencing* create() 23 { 24 return new Geofencing(); 25 } 26 27 ScriptPromise registerRegion(ScriptState*, GeofencingRegion*); 28 ScriptPromise unregisterRegion(ScriptState*, const String& regionId); 29 ScriptPromise getRegisteredRegions(ScriptState*) const; 30 31 virtual void trace(Visitor*) { } 32 33private: 34 Geofencing(); 35}; 36 37} // namespace blink 38 39#endif // Geofencing_h 40