cc: Make picture pile base thread safe.
[chromium-blink-merge.git] / content / child / geofencing / web_geofencing_provider_impl.cc
blob5d78b9810b805d8f9ebb830ae7d131e55ab8322a
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::registerRegion(
21 const blink::WebString& regionId,
22 const blink::WebCircularGeofencingRegion& region,
23 blink::WebServiceWorkerRegistration* service_worker_registration,
24 blink::WebGeofencingCallbacks* callbacks) {
25 GetDispatcher()->RegisterRegion(
26 regionId, region, service_worker_registration, callbacks);
29 void WebGeofencingProviderImpl::unregisterRegion(
30 const blink::WebString& regionId,
31 blink::WebServiceWorkerRegistration* service_worker_registration,
32 blink::WebGeofencingCallbacks* callbacks) {
33 GetDispatcher()->UnregisterRegion(
34 regionId, service_worker_registration, callbacks);
37 void WebGeofencingProviderImpl::getRegisteredRegions(
38 blink::WebServiceWorkerRegistration* service_worker_registration,
39 blink::WebGeofencingRegionsCallbacks* callbacks) {
40 GetDispatcher()->GetRegisteredRegions(service_worker_registration, callbacks);
43 GeofencingDispatcher* WebGeofencingProviderImpl::GetDispatcher() {
44 return GeofencingDispatcher::GetOrCreateThreadSpecificInstance(
45 thread_safe_sender_.get());
48 } // namespace content