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

Side by Side Diff: content/public/common/geoposition.cc

Issue 10316007: Make the Geoposition helper class public (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix forward-declaration of struct as class. Created 8 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 unified diff | Download patch
« no previous file with comments | « content/public/common/geoposition.h ('k') | content/renderer/geolocation_dispatcher.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/common/geoposition.h" 5 #include "content/public/common/geoposition.h"
6 6
7 namespace { 7 namespace {
8 // Sentinel values to mark invalid data. (WebKit carries companion is_valid 8 // Sentinel values to mark invalid data. (WebKit carries companion is_valid
9 // bools for this purpose; we may eventually follow that approach, but 9 // bools for this purpose; we may eventually follow that approach, but
10 // sentinels worked OK in the Gears code this is based on.) 10 // sentinels worked OK in the Gears code this is based on.)
11 const double kBadLatitudeLongitude = 200; 11 const double kBadLatitudeLongitude = 200;
12 // Lowest point on land is at approximately -400 meters. 12 // Lowest point on land is at approximately -400 meters.
13 const int kBadAltitude = -10000; 13 const int kBadAltitude = -10000;
14 const int kBadAccuracy = -1; // Accuracy must be non-negative. 14 const int kBadAccuracy = -1; // Accuracy must be non-negative.
15 const int64 kBadTimestamp = kint64min;
16 const int kBadHeading = -1; // Heading must be non-negative. 15 const int kBadHeading = -1; // Heading must be non-negative.
17 const int kBadSpeed = -1; 16 const int kBadSpeed = -1;
18 } 17 }
19 18
19 namespace content {
20
20 Geoposition::Geoposition() 21 Geoposition::Geoposition()
21 : latitude(kBadLatitudeLongitude), 22 : latitude(kBadLatitudeLongitude),
22 longitude(kBadLatitudeLongitude), 23 longitude(kBadLatitudeLongitude),
23 altitude(kBadAltitude), 24 altitude(kBadAltitude),
24 accuracy(kBadAccuracy), 25 accuracy(kBadAccuracy),
25 altitude_accuracy(kBadAccuracy), 26 altitude_accuracy(kBadAccuracy),
26 heading(kBadHeading), 27 heading(kBadHeading),
27 speed(kBadSpeed), 28 speed(kBadSpeed),
28 error_code(ERROR_CODE_NONE) { 29 error_code(ERROR_CODE_NONE) {
29 } 30 }
30 31
31 bool Geoposition::is_valid_latlong() const { 32 bool Geoposition::Validate() const {
32 return latitude >= -90.0 && latitude <= 90.0 && 33 return latitude >= -90. && latitude <= 90. &&
33 longitude >= -180.0 && longitude <= 180.0; 34 longitude >= -180. && longitude <= 180. &&
35 accuracy >= 0. &&
36 !timestamp.is_null();
34 } 37 }
35 38
36 bool Geoposition::is_valid_altitude() const { 39 } // namespace content
37 return altitude > kBadAltitude;
38 }
39
40 bool Geoposition::is_valid_accuracy() const {
41 return accuracy >= 0.0;
42 }
43
44 bool Geoposition::is_valid_altitude_accuracy() const {
45 return altitude_accuracy >= 0.0;
46 }
47
48 bool Geoposition::is_valid_heading() const {
49 return heading >= 0 && heading <= 360;
50 }
51
52 bool Geoposition::is_valid_speed() const {
53 return speed >= 0;
54 }
55
56 bool Geoposition::is_valid_timestamp() const {
57 return !timestamp.is_null();
58 }
59
60 bool Geoposition::IsValidFix() const {
61 return is_valid_latlong() && is_valid_accuracy() && is_valid_timestamp();
62 }
63
64 bool Geoposition::IsInitialized() const {
65 return error_code != ERROR_CODE_NONE || IsValidFix();
66 }
OLDNEW
« no previous file with comments | « content/public/common/geoposition.h ('k') | content/renderer/geolocation_dispatcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698