Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / content / child / geofencing / web_geofencing_provider_impl.cc
blob5a475a4ebce71c4c251a90f5b6bf488d03a79215
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"
10 namespace content {
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,
29 double longitude) {
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