Index: content/browser/geolocation/mock_location_provider.cc |
diff --git a/content/browser/geolocation/mock_location_provider.cc b/content/browser/geolocation/mock_location_provider.cc |
deleted file mode 100644 |
index 55b79a6b3520b0b2cf4cb244947f90ccec0827b7..0000000000000000000000000000000000000000 |
--- a/content/browser/geolocation/mock_location_provider.cc |
+++ /dev/null |
@@ -1,124 +0,0 @@ |
-// Copyright (c) 2012 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. |
- |
-// This file implements a mock location provider and the factory functions for |
-// various ways of creating it. |
- |
-#include "content/browser/geolocation/mock_location_provider.h" |
- |
-#include "base/bind.h" |
-#include "base/bind_helpers.h" |
-#include "base/compiler_specific.h" |
-#include "base/location.h" |
-#include "base/logging.h" |
-#include "base/memory/weak_ptr.h" |
-#include "base/threading/thread_task_runner_handle.h" |
- |
-namespace content { |
- |
-MockLocationProvider::MockLocationProvider() |
- : state_(STOPPED), |
- is_permission_granted_(false), |
- provider_task_runner_(base::ThreadTaskRunnerHandle::Get()) {} |
- |
-MockLocationProvider::~MockLocationProvider() {} |
- |
-void MockLocationProvider::HandlePositionChanged(const Geoposition& position) { |
- if (provider_task_runner_->BelongsToCurrentThread()) { |
- // The location arbitrator unit tests rely on this method running |
- // synchronously. |
- position_ = position; |
- NotifyCallback(position_); |
- } else { |
- provider_task_runner_->PostTask( |
- FROM_HERE, base::Bind(&MockLocationProvider::HandlePositionChanged, |
- base::Unretained(this), position)); |
- } |
-} |
- |
-bool MockLocationProvider::StartProvider(bool high_accuracy) { |
- state_ = high_accuracy ? HIGH_ACCURACY : LOW_ACCURACY; |
- return true; |
-} |
- |
-void MockLocationProvider::StopProvider() { |
- state_ = STOPPED; |
-} |
- |
-void MockLocationProvider::GetPosition(Geoposition* position) { |
- *position = position_; |
-} |
- |
-void MockLocationProvider::OnPermissionGranted() { |
- is_permission_granted_ = true; |
-} |
- |
-// Mock location provider that automatically calls back its client at most |
-// once, when StartProvider or OnPermissionGranted is called. Use |
-// |requires_permission_to_start| to select which event triggers the callback. |
-class AutoMockLocationProvider : public MockLocationProvider { |
- public: |
- AutoMockLocationProvider(bool has_valid_location, |
- bool requires_permission_to_start) |
- : requires_permission_to_start_(requires_permission_to_start), |
- listeners_updated_(false) { |
- if (has_valid_location) { |
- position_.accuracy = 3; |
- position_.latitude = 4.3; |
- position_.longitude = -7.8; |
- // Webkit compares the timestamp to wall clock time, so we need it to be |
- // contemporary. |
- position_.timestamp = base::Time::Now(); |
- } else { |
- position_.error_code = Geoposition::ERROR_CODE_POSITION_UNAVAILABLE; |
- } |
- } |
- bool StartProvider(bool high_accuracy) override { |
- MockLocationProvider::StartProvider(high_accuracy); |
- if (!requires_permission_to_start_) { |
- UpdateListenersIfNeeded(); |
- } |
- return true; |
- } |
- |
- void OnPermissionGranted() override { |
- MockLocationProvider::OnPermissionGranted(); |
- if (requires_permission_to_start_) { |
- UpdateListenersIfNeeded(); |
- } |
- } |
- |
- void UpdateListenersIfNeeded() { |
- if (!listeners_updated_) { |
- listeners_updated_ = true; |
- base::ThreadTaskRunnerHandle::Get()->PostTask( |
- FROM_HERE, base::Bind(&MockLocationProvider::HandlePositionChanged, |
- base::Unretained(this), position_)); |
- } |
- } |
- |
- private: |
- const bool requires_permission_to_start_; |
- bool listeners_updated_; |
- |
- DISALLOW_COPY_AND_ASSIGN(AutoMockLocationProvider); |
-}; |
- |
-LocationProvider* NewMockLocationProvider() { |
- return new MockLocationProvider; |
-} |
- |
-LocationProvider* NewAutoSuccessMockLocationProvider() { |
- return new AutoMockLocationProvider(true, false); |
-} |
- |
-LocationProvider* NewAutoFailMockLocationProvider() { |
- return new AutoMockLocationProvider(false, false); |
-} |
- |
-LocationProvider* NewAutoSuccessMockNetworkLocationProvider() { |
- return new AutoMockLocationProvider(true, true); |
-} |
- |
-} // namespace content |