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

Side by Side Diff: chrome/browser/geolocation/core_location_provider_mac.mm

Issue 3092015: Add CoreLocation support to Chrome (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: Final rearrangements and merge with trunk Created 10 years, 3 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2010 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.
4
5 #include "chrome/browser/geolocation/core_location_provider_mac.h"
6 #include "chrome/browser/geolocation/core_location_data_provider_mac.h"
7
8 #include "base/logging.h"
9 #include "base/command_line.h"
10 #include "chrome/common/chrome_switches.h"
11
12 CoreLocationProviderMac::CoreLocationProviderMac() {
13 data_provider_ = new CoreLocationDataProviderMac();
14 data_provider_->AddRef();
15 }
16
17 CoreLocationProviderMac::~CoreLocationProviderMac() {
18 data_provider_->StopUpdating();
19 data_provider_->Release();
20 }
21
22 bool CoreLocationProviderMac::StartProvider(bool high_accuracy) {
23 data_provider_->StartUpdating(this);
24 return true;
25 }
26
27 void CoreLocationProviderMac::StopProvider() {
28 data_provider_->StopUpdating();
29 }
30
31 void CoreLocationProviderMac::GetPosition(Geoposition* position) {
32 DCHECK(position);
33 *position = position_;
34 DCHECK(position->IsInitialized());
35 }
36
37 void CoreLocationProviderMac::SetPosition(Geoposition* position) {
38 DCHECK(position);
39 position_ = *position;
40 DCHECK(position->IsInitialized());
41
42 UpdateListeners();
43 }
44
45 LocationProviderBase* NewSystemLocationProvider() {
46 if(CommandLine::ForCurrentProcess()
47 ->HasSwitch(switches::kEnableCoreLocation)) {
48 return new CoreLocationProviderMac;
49 }
50 return NULL;
51 }
OLDNEW
« no previous file with comments | « chrome/browser/geolocation/core_location_provider_mac.h ('k') | chrome/browser/geolocation/gps_location_provider_linux.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698