Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1598)

Unified Diff: content/child/geofencing/geofencing_dispatcher.cc

Issue 1972733002: Delete geofencing implementation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: mark histogram suffix as obsolete Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/child/geofencing/geofencing_dispatcher.cc
diff --git a/content/child/geofencing/geofencing_dispatcher.cc b/content/child/geofencing/geofencing_dispatcher.cc
deleted file mode 100644
index 676282332fb587cb7d565370af7ed8458619c90e..0000000000000000000000000000000000000000
--- a/content/child/geofencing/geofencing_dispatcher.cc
+++ /dev/null
@@ -1,228 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "content/child/geofencing/geofencing_dispatcher.h"
-
-#include <stddef.h>
-#include <stdint.h>
-
-#include <memory>
-
-#include "base/lazy_instance.h"
-#include "base/message_loop/message_loop.h"
-#include "base/threading/thread_task_runner_handle.h"
-#include "content/child/service_worker/web_service_worker_registration_impl.h"
-#include "content/child/thread_safe_sender.h"
-#include "content/common/geofencing_messages.h"
-#include "content/common/service_worker/service_worker_types.h"
-#include "third_party/WebKit/public/platform/WebCircularGeofencingRegion.h"
-#include "third_party/WebKit/public/platform/WebGeofencingError.h"
-#include "third_party/WebKit/public/platform/WebGeofencingRegistration.h"
-
-using blink::WebGeofencingError;
-
-namespace content {
-
-namespace {
-
-base::LazyInstance<base::ThreadLocalPointer<void>>::Leaky g_dispatcher_tls =
- LAZY_INSTANCE_INITIALIZER;
-
-void* const kHasBeenDeleted = reinterpret_cast<void*>(0x1);
-
-int CurrentWorkerId() {
- return WorkerThread::GetCurrentId();
-}
-
-} // namespace
-
-GeofencingDispatcher::GeofencingDispatcher(ThreadSafeSender* sender)
- : thread_safe_sender_(sender) {
- g_dispatcher_tls.Pointer()->Set(static_cast<void*>(this));
-}
-
-GeofencingDispatcher::~GeofencingDispatcher() {
- g_dispatcher_tls.Pointer()->Set(kHasBeenDeleted);
-}
-
-bool GeofencingDispatcher::Send(IPC::Message* msg) {
- return thread_safe_sender_->Send(msg);
-}
-
-void GeofencingDispatcher::OnMessageReceived(const IPC::Message& msg) {
- bool handled = true;
- IPC_BEGIN_MESSAGE_MAP(GeofencingDispatcher, msg)
- IPC_MESSAGE_HANDLER(GeofencingMsg_RegisterRegionComplete,
- OnRegisterRegionComplete)
- IPC_MESSAGE_HANDLER(GeofencingMsg_UnregisterRegionComplete,
- OnUnregisterRegionComplete)
- IPC_MESSAGE_HANDLER(GeofencingMsg_GetRegisteredRegionsComplete,
- OnGetRegisteredRegionsComplete)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP()
- DCHECK(handled) << "Unhandled message:" << msg.type();
-}
-
-void GeofencingDispatcher::RegisterRegion(
- const blink::WebString& region_id,
- const blink::WebCircularGeofencingRegion& region,
- blink::WebServiceWorkerRegistration* service_worker_registration,
- blink::WebGeofencingCallbacks* callbacks) {
- DCHECK(callbacks);
- int request_id = region_registration_requests_.Add(callbacks);
- // TODO(mek): Immediately reject requests lacking a service worker
- // registration, without bouncing through browser process.
- int64_t serviceworker_registration_id = kInvalidServiceWorkerRegistrationId;
- if (service_worker_registration) {
- serviceworker_registration_id =
- static_cast<WebServiceWorkerRegistrationImpl*>(
- service_worker_registration)->registration_id();
- }
- Send(new GeofencingHostMsg_RegisterRegion(CurrentWorkerId(),
- request_id,
- region_id.utf8(),
- region,
- serviceworker_registration_id));
-}
-
-void GeofencingDispatcher::UnregisterRegion(
- const blink::WebString& region_id,
- blink::WebServiceWorkerRegistration* service_worker_registration,
- blink::WebGeofencingCallbacks* callbacks) {
- DCHECK(callbacks);
- int request_id = region_unregistration_requests_.Add(callbacks);
- // TODO(mek): Immediately reject requests lacking a service worker
- // registration, without bouncing through browser process.
- int64_t serviceworker_registration_id = kInvalidServiceWorkerRegistrationId;
- if (service_worker_registration) {
- serviceworker_registration_id =
- static_cast<WebServiceWorkerRegistrationImpl*>(
- service_worker_registration)->registration_id();
- }
- Send(new GeofencingHostMsg_UnregisterRegion(CurrentWorkerId(),
- request_id,
- region_id.utf8(),
- serviceworker_registration_id));
-}
-
-void GeofencingDispatcher::GetRegisteredRegions(
- blink::WebServiceWorkerRegistration* service_worker_registration,
- blink::WebGeofencingRegionsCallbacks* callbacks) {
- DCHECK(callbacks);
- int request_id = get_registered_regions_requests_.Add(callbacks);
- // TODO(mek): Immediately reject requests lacking a service worker
- // registration, without bouncing through browser process.
- int64_t serviceworker_registration_id = kInvalidServiceWorkerRegistrationId;
- if (service_worker_registration) {
- serviceworker_registration_id =
- static_cast<WebServiceWorkerRegistrationImpl*>(
- service_worker_registration)->registration_id();
- }
- Send(new GeofencingHostMsg_GetRegisteredRegions(
- CurrentWorkerId(), request_id, serviceworker_registration_id));
-}
-
-void GeofencingDispatcher::SetMockProvider(bool service_available) {
- Send(new GeofencingHostMsg_SetMockProvider(
- service_available ? GeofencingMockState::SERVICE_AVAILABLE
- : GeofencingMockState::SERVICE_UNAVAILABLE));
-}
-
-void GeofencingDispatcher::ClearMockProvider() {
- Send(new GeofencingHostMsg_SetMockProvider(GeofencingMockState::NONE));
-}
-
-void GeofencingDispatcher::SetMockPosition(double latitude, double longitude) {
- Send(new GeofencingHostMsg_SetMockPosition(latitude, longitude));
-}
-
-GeofencingDispatcher* GeofencingDispatcher::GetOrCreateThreadSpecificInstance(
- ThreadSafeSender* thread_safe_sender) {
- if (g_dispatcher_tls.Pointer()->Get() == kHasBeenDeleted) {
- NOTREACHED() << "Re-instantiating TLS GeofencingDispatcher.";
- g_dispatcher_tls.Pointer()->Set(NULL);
- }
- if (g_dispatcher_tls.Pointer()->Get())
- return static_cast<GeofencingDispatcher*>(
- g_dispatcher_tls.Pointer()->Get());
-
- GeofencingDispatcher* dispatcher =
- new GeofencingDispatcher(thread_safe_sender);
- if (WorkerThread::GetCurrentId())
- WorkerThread::AddObserver(dispatcher);
- return dispatcher;
-}
-
-GeofencingDispatcher* GeofencingDispatcher::GetThreadSpecificInstance() {
- if (g_dispatcher_tls.Pointer()->Get() == kHasBeenDeleted)
- return NULL;
- return static_cast<GeofencingDispatcher*>(g_dispatcher_tls.Pointer()->Get());
-}
-
-void GeofencingDispatcher::OnRegisterRegionComplete(int thread_id,
- int request_id,
- GeofencingStatus status) {
- blink::WebGeofencingCallbacks* callbacks =
- region_registration_requests_.Lookup(request_id);
- DCHECK(callbacks);
-
- if (status == GEOFENCING_STATUS_OK) {
- callbacks->onSuccess();
- } else {
- callbacks->onError(WebGeofencingError(
- WebGeofencingError::ErrorTypeAbort,
- blink::WebString::fromUTF8(GeofencingStatusToString(status))));
- }
- region_registration_requests_.Remove(request_id);
-}
-
-void GeofencingDispatcher::OnUnregisterRegionComplete(int thread_id,
- int request_id,
- GeofencingStatus status) {
- blink::WebGeofencingCallbacks* callbacks =
- region_unregistration_requests_.Lookup(request_id);
- DCHECK(callbacks);
-
- if (status == GEOFENCING_STATUS_OK) {
- callbacks->onSuccess();
- } else {
- callbacks->onError(WebGeofencingError(
- WebGeofencingError::ErrorTypeAbort,
- blink::WebString::fromUTF8(GeofencingStatusToString(status))));
- }
- region_unregistration_requests_.Remove(request_id);
-}
-
-void GeofencingDispatcher::OnGetRegisteredRegionsComplete(
- int thread_id,
- int request_id,
- GeofencingStatus status,
- const GeofencingRegistrations& regions) {
- blink::WebGeofencingRegionsCallbacks* callbacks =
- get_registered_regions_requests_.Lookup(request_id);
- DCHECK(callbacks);
-
- if (status == GEOFENCING_STATUS_OK) {
- blink::WebVector<blink::WebGeofencingRegistration> result(regions.size());
- size_t index = 0;
- for (GeofencingRegistrations::const_iterator it = regions.begin();
- it != regions.end();
- ++it, ++index) {
- result[index].id = blink::WebString::fromUTF8(it->first);
- result[index].region = it->second;
- }
- callbacks->onSuccess(result);
- } else {
- callbacks->onError(WebGeofencingError(
- WebGeofencingError::ErrorTypeAbort,
- blink::WebString::fromUTF8(GeofencingStatusToString(status))));
- }
- get_registered_regions_requests_.Remove(request_id);
-}
-
-void GeofencingDispatcher::WillStopCurrentWorkerThread() {
- delete this;
-}
-
-} // namespace content
« no previous file with comments | « content/child/geofencing/geofencing_dispatcher.h ('k') | content/child/geofencing/geofencing_message_filter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698