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.
5 #include "content/child/geofencing/web_geofencing_provider_impl.h"
7 #include "content/child/geofencing/geofencing_dispatcher.h"
8 #include "content/child/thread_safe_sender.h"
12 WebGeofencingProviderImpl::WebGeofencingProviderImpl(
13 ThreadSafeSender
* thread_safe_sender
)
14 : thread_safe_sender_(thread_safe_sender
) {
17 WebGeofencingProviderImpl::~WebGeofencingProviderImpl() {
20 void WebGeofencingProviderImpl::SetMockProvider(bool service_available
) {
21 GetDispatcher()->SetMockProvider(service_available
);
24 void WebGeofencingProviderImpl::ClearMockProvider() {
25 GetDispatcher()->ClearMockProvider();
28 void WebGeofencingProviderImpl::SetMockPosition(double latitude
,
30 GetDispatcher()->SetMockPosition(latitude
, longitude
);
33 void WebGeofencingProviderImpl::registerRegion(
34 const blink::WebString
& regionId
,
35 const blink::WebCircularGeofencingRegion
& region
,
36 blink::WebServiceWorkerRegistration
* service_worker_registration
,
37 blink::WebGeofencingCallbacks
* callbacks
) {
38 GetDispatcher()->RegisterRegion(
39 regionId
, region
, service_worker_registration
, callbacks
);
42 void WebGeofencingProviderImpl::unregisterRegion(
43 const blink::WebString
& regionId
,
44 blink::WebServiceWorkerRegistration
* service_worker_registration
,
45 blink::WebGeofencingCallbacks
* callbacks
) {
46 GetDispatcher()->UnregisterRegion(
47 regionId
, service_worker_registration
, callbacks
);
50 void WebGeofencingProviderImpl::getRegisteredRegions(
51 blink::WebServiceWorkerRegistration
* service_worker_registration
,
52 blink::WebGeofencingRegionsCallbacks
* callbacks
) {
53 GetDispatcher()->GetRegisteredRegions(service_worker_registration
, callbacks
);
56 GeofencingDispatcher
* WebGeofencingProviderImpl::GetDispatcher() {
57 return GeofencingDispatcher::GetOrCreateThreadSpecificInstance(
58 thread_safe_sender_
.get());
61 } // namespace content