Index: third_party/WebKit/Source/devtools/front_end/emulation/Geolocation.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/emulation/Geolocation.js b/third_party/WebKit/Source/devtools/front_end/emulation/Geolocation.js |
index 17930b94d2b474455719c4eaf499643c73ac4721..f5ce75c0d9d1f839bba66efd5cf95128bf64da7e 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/emulation/Geolocation.js |
+++ b/third_party/WebKit/Source/devtools/front_end/emulation/Geolocation.js |
@@ -1,102 +1,100 @@ |
// Copyright 2016 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. |
- |
/** |
- * @constructor |
- * @param {number} latitude |
- * @param {number} longitude |
- * @param {boolean} error |
+ * @unrestricted |
*/ |
-WebInspector.Geolocation = function(latitude, longitude, error) |
-{ |
+WebInspector.Geolocation = class { |
+ /** |
+ * @param {number} latitude |
+ * @param {number} longitude |
+ * @param {boolean} error |
+ */ |
+ constructor(latitude, longitude, error) { |
this.latitude = latitude; |
this.longitude = longitude; |
this.error = error; |
-}; |
- |
-WebInspector.Geolocation.prototype = { |
- /** |
- * @return {string} |
- */ |
- toSetting: function() |
- { |
- return (typeof this.latitude === "number" && typeof this.longitude === "number" && typeof this.error === "string") ? this.latitude + "@" + this.longitude + ":" + this.error : ""; |
- }, |
- |
- apply: function() |
- { |
- for (var target of WebInspector.targetManager.targets(WebInspector.Target.Capability.Browser)) { |
- if (this.error) |
- target.emulationAgent().setGeolocationOverride(); |
- else |
- target.emulationAgent().setGeolocationOverride(this.latitude, this.longitude, WebInspector.Geolocation.DefaultMockAccuracy); |
- } |
- }, |
- |
- clear: function() |
- { |
- for (var target of WebInspector.targetManager.targets(WebInspector.Target.Capability.Browser)) |
- target.emulationAgent().clearGeolocationOverride(); |
- } |
-}; |
+ } |
-/** |
- * @return {!WebInspector.Geolocation} |
- */ |
-WebInspector.Geolocation.parseSetting = function(value) |
-{ |
+ /** |
+ * @return {!WebInspector.Geolocation} |
+ */ |
+ static parseSetting(value) { |
if (value) { |
- var splitError = value.split(":"); |
- if (splitError.length === 2) { |
- var splitPosition = splitError[0].split("@"); |
- if (splitPosition.length === 2) |
- return new WebInspector.Geolocation(parseFloat(splitPosition[0]), parseFloat(splitPosition[1]), splitError[1]); |
- } |
+ var splitError = value.split(':'); |
+ if (splitError.length === 2) { |
+ var splitPosition = splitError[0].split('@'); |
+ if (splitPosition.length === 2) |
+ return new WebInspector.Geolocation( |
+ parseFloat(splitPosition[0]), parseFloat(splitPosition[1]), splitError[1]); |
+ } |
} |
return new WebInspector.Geolocation(0, 0, false); |
-}; |
+ } |
-/** |
- * @param {string} latitudeString |
- * @param {string} longitudeString |
- * @param {string} errorStatus |
- * @return {?WebInspector.Geolocation} |
- */ |
-WebInspector.Geolocation.parseUserInput = function(latitudeString, longitudeString, errorStatus) |
-{ |
+ /** |
+ * @param {string} latitudeString |
+ * @param {string} longitudeString |
+ * @param {string} errorStatus |
+ * @return {?WebInspector.Geolocation} |
+ */ |
+ static parseUserInput(latitudeString, longitudeString, errorStatus) { |
if (!latitudeString && !longitudeString) |
- return null; |
+ return null; |
var isLatitudeValid = WebInspector.Geolocation.latitudeValidator(latitudeString); |
var isLongitudeValid = WebInspector.Geolocation.longitudeValidator(longitudeString); |
if (!isLatitudeValid && !isLongitudeValid) |
- return null; |
+ return null; |
var latitude = isLatitudeValid ? parseFloat(latitudeString) : -1; |
var longitude = isLongitudeValid ? parseFloat(longitudeString) : -1; |
return new WebInspector.Geolocation(latitude, longitude, !!errorStatus); |
-}; |
+ } |
-/** |
- * @param {string} value |
- * @return {boolean} |
- */ |
-WebInspector.Geolocation.latitudeValidator = function(value) |
-{ |
+ /** |
+ * @param {string} value |
+ * @return {boolean} |
+ */ |
+ static latitudeValidator(value) { |
var numValue = parseFloat(value); |
return /^([+-]?[\d]+(\.\d+)?|[+-]?\.\d+)$/.test(value) && numValue >= -90 && numValue <= 90; |
-}; |
+ } |
-/** |
- * @param {string} value |
- * @return {boolean} |
- */ |
-WebInspector.Geolocation.longitudeValidator = function(value) |
-{ |
+ /** |
+ * @param {string} value |
+ * @return {boolean} |
+ */ |
+ static longitudeValidator(value) { |
var numValue = parseFloat(value); |
return /^([+-]?[\d]+(\.\d+)?|[+-]?\.\d+)$/.test(value) && numValue >= -180 && numValue <= 180; |
+ } |
+ |
+ /** |
+ * @return {string} |
+ */ |
+ toSetting() { |
+ return (typeof this.latitude === 'number' && typeof this.longitude === 'number' && typeof this.error === 'string') ? |
+ this.latitude + '@' + this.longitude + ':' + this.error : |
+ ''; |
+ } |
+ |
+ apply() { |
+ for (var target of WebInspector.targetManager.targets(WebInspector.Target.Capability.Browser)) { |
+ if (this.error) |
+ target.emulationAgent().setGeolocationOverride(); |
+ else |
+ target.emulationAgent().setGeolocationOverride( |
+ this.latitude, this.longitude, WebInspector.Geolocation.DefaultMockAccuracy); |
+ } |
+ } |
+ |
+ clear() { |
+ for (var target of WebInspector.targetManager.targets(WebInspector.Target.Capability.Browser)) |
+ target.emulationAgent().clearGeolocationOverride(); |
+ } |
}; |
+ |
WebInspector.Geolocation.DefaultMockAccuracy = 150; |