selenium-webdriver 2.52.0 → 2.53.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +14 -0
- data/Gemfile.lock +53 -0
- data/lib/selenium/webdriver.rb +1 -3
- data/lib/selenium/webdriver/chrome/profile.rb +2 -2
- data/lib/selenium/webdriver/chrome/service.rb +8 -5
- data/lib/selenium/webdriver/common.rb +0 -1
- data/lib/selenium/webdriver/common/alert.rb +7 -1
- data/lib/selenium/webdriver/common/element.rb +1 -1
- data/lib/selenium/webdriver/common/error.rb +1 -1
- data/lib/selenium/webdriver/common/platform.rb +8 -0
- data/lib/selenium/webdriver/common/profile_helper.rb +2 -2
- data/lib/selenium/webdriver/common/proxy.rb +1 -1
- data/lib/selenium/webdriver/edge/legacy_support.rb +5 -5
- data/lib/selenium/webdriver/edge/service.rb +8 -5
- data/lib/selenium/webdriver/firefox/binary.rb +4 -0
- data/lib/selenium/webdriver/firefox/extension.rb +13 -11
- data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
- data/lib/selenium/webdriver/firefox/profile.rb +3 -3
- data/lib/selenium/webdriver/firefox/service.rb +8 -5
- data/lib/selenium/webdriver/phantomjs/service.rb +8 -6
- data/lib/selenium/webdriver/remote/bridge.rb +4 -0
- data/lib/selenium/webdriver/remote/capabilities.rb +1 -1
- data/lib/selenium/webdriver/remote/commands.rb +2 -1
- data/lib/selenium/webdriver/remote/http/common.rb +2 -2
- data/lib/selenium/webdriver/remote/w3c_bridge.rb +8 -8
- data/lib/selenium/webdriver/remote/w3c_capabilities.rb +31 -14
- data/lib/selenium/webdriver/remote/w3c_commands.rb +1 -1
- data/lib/selenium/webdriver/safari/resources/client.js +266 -214
- data/lib/selenium/webdriver/safari/server.rb +6 -4
- data/lib/selenium/webdriver/support/select.rb +12 -2
- data/selenium-webdriver.gemspec +1 -2
- metadata +18 -29
- data/lib/selenium/webdriver/common/json_helper.rb +0 -53
@@ -253,7 +253,7 @@ module Selenium
|
|
253
253
|
|
254
254
|
def maximizeWindow(handle = :current)
|
255
255
|
unless handle == :current
|
256
|
-
raise Error::
|
256
|
+
raise Error::UnsupportedOperationError, 'Switch to desired window before changing its size'
|
257
257
|
end
|
258
258
|
execute :maximizeWindow
|
259
259
|
end
|
@@ -264,7 +264,7 @@ module Selenium
|
|
264
264
|
|
265
265
|
def getWindowSize(handle = :current)
|
266
266
|
unless handle == :current
|
267
|
-
raise Error::
|
267
|
+
raise Error::UnsupportedOperationError, 'Switch to desired window before getting its size'
|
268
268
|
end
|
269
269
|
data = execute :getWindowSize
|
270
270
|
|
@@ -272,11 +272,11 @@ module Selenium
|
|
272
272
|
end
|
273
273
|
|
274
274
|
def setWindowPosition(_x, _y, _handle = nil)
|
275
|
-
raise Error::
|
275
|
+
raise Error::UnsupportedOperationError, 'The W3C standard does not currently support setting the Window Position'
|
276
276
|
end
|
277
277
|
|
278
278
|
def getWindowPosition(_handle = nil)
|
279
|
-
raise Error::
|
279
|
+
raise Error::UnsupportedOperationError, 'The W3C standard does not currently support getting the Window Position'
|
280
280
|
end
|
281
281
|
|
282
282
|
def getScreenshot
|
@@ -336,19 +336,19 @@ module Selenium
|
|
336
336
|
end
|
337
337
|
|
338
338
|
def getLocation
|
339
|
-
raise Error::
|
339
|
+
raise Error::UnsupportedOperationError, 'The W3C standard does not currently support getting location'
|
340
340
|
end
|
341
341
|
|
342
342
|
def setLocation(_lat, _lon, _alt)
|
343
|
-
raise Error::
|
343
|
+
raise Error::UnsupportedOperationError, 'The W3C standard does not currently support setting location'
|
344
344
|
end
|
345
345
|
|
346
346
|
def getNetworkConnection
|
347
|
-
raise Error::
|
347
|
+
raise Error::UnsupportedOperationError, 'The W3C standard does not currently support getting network connection'
|
348
348
|
end
|
349
349
|
|
350
350
|
def setNetworkConnection(_type)
|
351
|
-
raise Error::
|
351
|
+
raise Error::UnsupportedOperationError, 'The W3C standard does not currently support setting network connection'
|
352
352
|
end
|
353
353
|
|
354
354
|
#
|
@@ -38,7 +38,17 @@ module Selenium
|
|
38
38
|
:proxy => nil
|
39
39
|
}
|
40
40
|
|
41
|
-
|
41
|
+
KNOWN = [
|
42
|
+
:remote_session_id,
|
43
|
+
:specification_level,
|
44
|
+
:xul_app_id,
|
45
|
+
:raise_accessibility_exceptions,
|
46
|
+
:rotatable,
|
47
|
+
:app_build_id,
|
48
|
+
:device
|
49
|
+
]
|
50
|
+
|
51
|
+
(DEFAULTS.keys + KNOWN).each do |key|
|
42
52
|
define_method key do
|
43
53
|
@capabilities.fetch(key)
|
44
54
|
end
|
@@ -48,8 +58,14 @@ module Selenium
|
|
48
58
|
end
|
49
59
|
end
|
50
60
|
|
61
|
+
#
|
62
|
+
# Backward compatibility
|
63
|
+
#
|
64
|
+
|
51
65
|
alias_method :version, :browser_version
|
66
|
+
alias_method :version=, :browser_version=
|
52
67
|
alias_method :platform, :platform_name
|
68
|
+
alias_method :platform=, :platform_name=
|
53
69
|
|
54
70
|
#
|
55
71
|
# Convenience methods for the common choices.
|
@@ -88,19 +104,20 @@ module Selenium
|
|
88
104
|
data = data.dup
|
89
105
|
|
90
106
|
# Convert due to Remote Driver implementation
|
91
|
-
data["browserVersion"] = data.delete("version") if data
|
92
|
-
data["platformName"] = data.delete("platform") if data
|
107
|
+
data["browserVersion"] = data.delete("version") if data.key? "version"
|
108
|
+
data["platformName"] = data.delete("platform") if data.key? "platform"
|
93
109
|
|
94
110
|
caps = new
|
95
|
-
caps.browser_name = data.delete("browserName") if data
|
96
|
-
caps.browser_version = data.delete("browserVersion") if data
|
97
|
-
caps.platform_name = data.delete("platformName") if data
|
98
|
-
caps.platform_version = data.delete("platformVersion") if data
|
99
|
-
caps.accept_ssl_certs = data.delete("acceptSslCerts") if data
|
100
|
-
caps.takes_screenshot = data.delete("takesScreenshot") if data
|
101
|
-
caps.takes_element_screenshot = data.delete("takesElementScreenshot") if data
|
102
|
-
caps.page_load_strategy = data.delete("pageLoadStrategy") if data
|
103
|
-
|
111
|
+
caps.browser_name = data.delete("browserName") if data.key? "browserName"
|
112
|
+
caps.browser_version = data.delete("browserVersion") if data.key? "browserVersion"
|
113
|
+
caps.platform_name = data.delete("platformName") if data.key? "platformName"
|
114
|
+
caps.platform_version = data.delete("platformVersion") if data.key? "platformVersion"
|
115
|
+
caps.accept_ssl_certs = data.delete("acceptSslCerts") if data.key? "acceptSslCerts"
|
116
|
+
caps.takes_screenshot = data.delete("takesScreenshot") if data.key? "takesScreenshot"
|
117
|
+
caps.takes_element_screenshot = data.delete("takesElementScreenshot") if data.key? "takesElementScreenshot"
|
118
|
+
caps.page_load_strategy = data.delete("pageLoadStrategy") if data.key? "pageloadStrategy"
|
119
|
+
proxy = data.delete('proxy')
|
120
|
+
caps.proxy = Proxy.json_create(proxy) unless proxy.nil? || proxy.empty?
|
104
121
|
|
105
122
|
# Remote Server Specific
|
106
123
|
caps[:remote_session_id] = data.delete('webdriver.remote.sessionid')
|
@@ -110,7 +127,7 @@ module Selenium
|
|
110
127
|
data.delete('cssSelectorsEnabled')
|
111
128
|
|
112
129
|
# Marionette Specific
|
113
|
-
caps[:specification_level] = data.delete("
|
130
|
+
caps[:specification_level] = data.delete("specificationLevel")
|
114
131
|
caps[:xul_app_id] = data.delete("XULappId")
|
115
132
|
caps[:raise_accessibility_exceptions] = data.delete('raisesAccessibilityExceptions')
|
116
133
|
caps[:rotatable] = data.delete('rotatable')
|
@@ -199,7 +216,7 @@ module Selenium
|
|
199
216
|
end
|
200
217
|
|
201
218
|
def to_json(*args)
|
202
|
-
|
219
|
+
JSON.generate as_json
|
203
220
|
end
|
204
221
|
|
205
222
|
def ==(other)
|
@@ -65,7 +65,7 @@ class Selenium::WebDriver::Remote::W3CBridge
|
|
65
65
|
command :findElements, :post, "session/:session_id/elements"
|
66
66
|
command :findChildElement, :post, "session/:session_id/element/:id/element"
|
67
67
|
command :findChildElements, :post, "session/:session_id/element/:id/elements"
|
68
|
-
command :getActiveElement, :
|
68
|
+
command :getActiveElement, :get, "session/:session_id/element/active"
|
69
69
|
command :isElementSelected, :get, "session/:session_id/element/:id/selected"
|
70
70
|
command :getElementAttribute, :get, "session/:session_id/element/:id/attribute/:name"
|
71
71
|
command :getElementProperty, :get, "session/:session_id/element/:id/property/:name"
|
@@ -107,8 +107,10 @@ goog.addDependency = function(a, b, c, d) {
|
|
107
107
|
if (goog.DEPENDENCIES_ENABLED) {
|
108
108
|
var e;
|
109
109
|
a = a.replace(/\\/g, "/");
|
110
|
-
|
111
|
-
|
110
|
+
var f = goog.dependencies_;
|
111
|
+
d && "boolean" !== typeof d || (d = d ? {module:"goog"} : {});
|
112
|
+
for (var g = 0;e = b[g];g++) {
|
113
|
+
f.nameToPath[e] = a, f.pathIsModule[a] = "goog" == d.module;
|
112
114
|
}
|
113
115
|
for (d = 0;b = c[d];d++) {
|
114
116
|
a in f.requires || (f.requires[a] = {}), f.requires[a][b] = !0;
|
@@ -395,7 +397,7 @@ goog.hasUid = function(a) {
|
|
395
397
|
return !!a[goog.UID_PROPERTY_];
|
396
398
|
};
|
397
399
|
goog.removeUid = function(a) {
|
398
|
-
"removeAttribute" in a && a.removeAttribute(goog.UID_PROPERTY_);
|
400
|
+
null !== a && "removeAttribute" in a && a.removeAttribute(goog.UID_PROPERTY_);
|
399
401
|
try {
|
400
402
|
delete a[goog.UID_PROPERTY_];
|
401
403
|
} catch (b) {
|
@@ -467,7 +469,7 @@ goog.globalEval = function(a) {
|
|
467
469
|
if (goog.global.eval("var _evalTest_ = 1;"), "undefined" != typeof goog.global._evalTest_) {
|
468
470
|
try {
|
469
471
|
delete goog.global._evalTest_;
|
470
|
-
} catch (
|
472
|
+
} catch (d) {
|
471
473
|
}
|
472
474
|
goog.evalWorksForGlobals_ = !0;
|
473
475
|
} else {
|
@@ -477,12 +479,12 @@ goog.globalEval = function(a) {
|
|
477
479
|
if (goog.evalWorksForGlobals_) {
|
478
480
|
goog.global.eval(a);
|
479
481
|
} else {
|
480
|
-
var
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
482
|
+
var b = goog.global.document, c = b.createElement("SCRIPT");
|
483
|
+
c.type = "text/javascript";
|
484
|
+
c.defer = !1;
|
485
|
+
c.appendChild(b.createTextNode(a));
|
486
|
+
b.body.appendChild(c);
|
487
|
+
b.body.removeChild(c);
|
486
488
|
}
|
487
489
|
} else {
|
488
490
|
throw Error("goog.globalEval not available");
|
@@ -1017,7 +1019,7 @@ goog.string.editDistance = function(a, b) {
|
|
1017
1019
|
for (e = 0;e < a.length;e++) {
|
1018
1020
|
d[0] = e + 1;
|
1019
1021
|
for (var f = 0;f < b.length;f++) {
|
1020
|
-
d[f + 1] = Math.min(d[f] + 1, c[f + 1] + 1, c[f] + (a[e] != b[f]));
|
1022
|
+
d[f + 1] = Math.min(d[f] + 1, c[f + 1] + 1, c[f] + Number(a[e] != b[f]));
|
1021
1023
|
}
|
1022
1024
|
for (f = 0;f < c.length;f++) {
|
1023
1025
|
c[f] = d[f];
|
@@ -1106,10 +1108,9 @@ goog.array.peek = function(a) {
|
|
1106
1108
|
return a[a.length - 1];
|
1107
1109
|
};
|
1108
1110
|
goog.array.last = goog.array.peek;
|
1109
|
-
goog.array.
|
1110
|
-
goog.array.indexOf = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS || goog.array.ARRAY_PROTOTYPE_.indexOf) ? function(a, b, c) {
|
1111
|
+
goog.array.indexOf = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS || Array.prototype.indexOf) ? function(a, b, c) {
|
1111
1112
|
goog.asserts.assert(null != a.length);
|
1112
|
-
return
|
1113
|
+
return Array.prototype.indexOf.call(a, b, c);
|
1113
1114
|
} : function(a, b, c) {
|
1114
1115
|
c = null == c ? 0 : 0 > c ? Math.max(0, a.length + c) : c;
|
1115
1116
|
if (goog.isString(a)) {
|
@@ -1122,9 +1123,9 @@ goog.array.indexOf = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_F
|
|
1122
1123
|
}
|
1123
1124
|
return -1;
|
1124
1125
|
};
|
1125
|
-
goog.array.lastIndexOf = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS ||
|
1126
|
+
goog.array.lastIndexOf = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS || Array.prototype.lastIndexOf) ? function(a, b, c) {
|
1126
1127
|
goog.asserts.assert(null != a.length);
|
1127
|
-
return
|
1128
|
+
return Array.prototype.lastIndexOf.call(a, b, null == c ? a.length - 1 : c);
|
1128
1129
|
} : function(a, b, c) {
|
1129
1130
|
c = null == c ? a.length - 1 : c;
|
1130
1131
|
0 > c && (c = Math.max(0, a.length + c));
|
@@ -1138,9 +1139,9 @@ goog.array.lastIndexOf = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATI
|
|
1138
1139
|
}
|
1139
1140
|
return -1;
|
1140
1141
|
};
|
1141
|
-
goog.array.forEach = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS ||
|
1142
|
+
goog.array.forEach = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS || Array.prototype.forEach) ? function(a, b, c) {
|
1142
1143
|
goog.asserts.assert(null != a.length);
|
1143
|
-
|
1144
|
+
Array.prototype.forEach.call(a, b, c);
|
1144
1145
|
} : function(a, b, c) {
|
1145
1146
|
for (var d = a.length, e = goog.isString(a) ? a.split("") : a, f = 0;f < d;f++) {
|
1146
1147
|
f in e && b.call(c, e[f], f, a);
|
@@ -1151,9 +1152,9 @@ goog.array.forEachRight = function(a, b, c) {
|
|
1151
1152
|
d in e && b.call(c, e[d], d, a);
|
1152
1153
|
}
|
1153
1154
|
};
|
1154
|
-
goog.array.filter = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS ||
|
1155
|
+
goog.array.filter = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS || Array.prototype.filter) ? function(a, b, c) {
|
1155
1156
|
goog.asserts.assert(null != a.length);
|
1156
|
-
return
|
1157
|
+
return Array.prototype.filter.call(a, b, c);
|
1157
1158
|
} : function(a, b, c) {
|
1158
1159
|
for (var d = a.length, e = [], f = 0, g = goog.isString(a) ? a.split("") : a, h = 0;h < d;h++) {
|
1159
1160
|
if (h in g) {
|
@@ -1163,19 +1164,19 @@ goog.array.filter = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FU
|
|
1163
1164
|
}
|
1164
1165
|
return e;
|
1165
1166
|
};
|
1166
|
-
goog.array.map = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS ||
|
1167
|
+
goog.array.map = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS || Array.prototype.map) ? function(a, b, c) {
|
1167
1168
|
goog.asserts.assert(null != a.length);
|
1168
|
-
return
|
1169
|
+
return Array.prototype.map.call(a, b, c);
|
1169
1170
|
} : function(a, b, c) {
|
1170
1171
|
for (var d = a.length, e = Array(d), f = goog.isString(a) ? a.split("") : a, g = 0;g < d;g++) {
|
1171
1172
|
g in f && (e[g] = b.call(c, f[g], g, a));
|
1172
1173
|
}
|
1173
1174
|
return e;
|
1174
1175
|
};
|
1175
|
-
goog.array.reduce = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS ||
|
1176
|
+
goog.array.reduce = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS || Array.prototype.reduce) ? function(a, b, c, d) {
|
1176
1177
|
goog.asserts.assert(null != a.length);
|
1177
1178
|
d && (b = goog.bind(b, d));
|
1178
|
-
return
|
1179
|
+
return Array.prototype.reduce.call(a, b, c);
|
1179
1180
|
} : function(a, b, c, d) {
|
1180
1181
|
var e = c;
|
1181
1182
|
goog.array.forEach(a, function(c, g) {
|
@@ -1183,10 +1184,11 @@ goog.array.reduce = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FU
|
|
1183
1184
|
});
|
1184
1185
|
return e;
|
1185
1186
|
};
|
1186
|
-
goog.array.reduceRight = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS ||
|
1187
|
+
goog.array.reduceRight = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS || Array.prototype.reduceRight) ? function(a, b, c, d) {
|
1187
1188
|
goog.asserts.assert(null != a.length);
|
1189
|
+
goog.asserts.assert(null != b);
|
1188
1190
|
d && (b = goog.bind(b, d));
|
1189
|
-
return
|
1191
|
+
return Array.prototype.reduceRight.call(a, b, c);
|
1190
1192
|
} : function(a, b, c, d) {
|
1191
1193
|
var e = c;
|
1192
1194
|
goog.array.forEachRight(a, function(c, g) {
|
@@ -1194,9 +1196,9 @@ goog.array.reduceRight = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATI
|
|
1194
1196
|
});
|
1195
1197
|
return e;
|
1196
1198
|
};
|
1197
|
-
goog.array.some = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS ||
|
1199
|
+
goog.array.some = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS || Array.prototype.some) ? function(a, b, c) {
|
1198
1200
|
goog.asserts.assert(null != a.length);
|
1199
|
-
return
|
1201
|
+
return Array.prototype.some.call(a, b, c);
|
1200
1202
|
} : function(a, b, c) {
|
1201
1203
|
for (var d = a.length, e = goog.isString(a) ? a.split("") : a, f = 0;f < d;f++) {
|
1202
1204
|
if (f in e && b.call(c, e[f], f, a)) {
|
@@ -1205,9 +1207,9 @@ goog.array.some = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNC
|
|
1205
1207
|
}
|
1206
1208
|
return !1;
|
1207
1209
|
};
|
1208
|
-
goog.array.every = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS ||
|
1210
|
+
goog.array.every = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS || Array.prototype.every) ? function(a, b, c) {
|
1209
1211
|
goog.asserts.assert(null != a.length);
|
1210
|
-
return
|
1212
|
+
return Array.prototype.every.call(a, b, c);
|
1211
1213
|
} : function(a, b, c) {
|
1212
1214
|
for (var d = a.length, e = goog.isString(a) ? a.split("") : a, f = 0;f < d;f++) {
|
1213
1215
|
if (f in e && !b.call(c, e[f], f, a)) {
|
@@ -1281,7 +1283,7 @@ goog.array.remove = function(a, b) {
|
|
1281
1283
|
};
|
1282
1284
|
goog.array.removeAt = function(a, b) {
|
1283
1285
|
goog.asserts.assert(null != a.length);
|
1284
|
-
return 1 ==
|
1286
|
+
return 1 == Array.prototype.splice.call(a, b, 1).length;
|
1285
1287
|
};
|
1286
1288
|
goog.array.removeIf = function(a, b, c) {
|
1287
1289
|
b = goog.array.findIndex(a, b, c);
|
@@ -1295,10 +1297,10 @@ goog.array.removeAllIf = function(a, b, c) {
|
|
1295
1297
|
return d;
|
1296
1298
|
};
|
1297
1299
|
goog.array.concat = function(a) {
|
1298
|
-
return
|
1300
|
+
return Array.prototype.concat.apply(Array.prototype, arguments);
|
1299
1301
|
};
|
1300
1302
|
goog.array.join = function(a) {
|
1301
|
-
return
|
1303
|
+
return Array.prototype.concat.apply(Array.prototype, arguments);
|
1302
1304
|
};
|
1303
1305
|
goog.array.toArray = function(a) {
|
1304
1306
|
var b = a.length;
|
@@ -1327,11 +1329,11 @@ goog.array.extend = function(a, b) {
|
|
1327
1329
|
};
|
1328
1330
|
goog.array.splice = function(a, b, c, d) {
|
1329
1331
|
goog.asserts.assert(null != a.length);
|
1330
|
-
return
|
1332
|
+
return Array.prototype.splice.apply(a, goog.array.slice(arguments, 1));
|
1331
1333
|
};
|
1332
1334
|
goog.array.slice = function(a, b, c) {
|
1333
1335
|
goog.asserts.assert(null != a.length);
|
1334
|
-
return 2 >= arguments.length ?
|
1336
|
+
return 2 >= arguments.length ? Array.prototype.slice.call(a, b) : Array.prototype.slice.call(a, b, c);
|
1335
1337
|
};
|
1336
1338
|
goog.array.removeDuplicates = function(a, b, c) {
|
1337
1339
|
b = b || a;
|
@@ -1490,14 +1492,14 @@ goog.array.flatten = function(a) {
|
|
1490
1492
|
};
|
1491
1493
|
goog.array.rotate = function(a, b) {
|
1492
1494
|
goog.asserts.assert(null != a.length);
|
1493
|
-
a.length && (b %= a.length, 0 < b ?
|
1495
|
+
a.length && (b %= a.length, 0 < b ? Array.prototype.unshift.apply(a, a.splice(-b, b)) : 0 > b && Array.prototype.push.apply(a, a.splice(0, -b)));
|
1494
1496
|
return a;
|
1495
1497
|
};
|
1496
1498
|
goog.array.moveItem = function(a, b, c) {
|
1497
1499
|
goog.asserts.assert(0 <= b && b < a.length);
|
1498
1500
|
goog.asserts.assert(0 <= c && c < a.length);
|
1499
|
-
b =
|
1500
|
-
|
1501
|
+
b = Array.prototype.splice.call(a, b, 1);
|
1502
|
+
Array.prototype.splice.call(a, c, 0, b[0]);
|
1501
1503
|
};
|
1502
1504
|
goog.array.zip = function(a) {
|
1503
1505
|
if (!arguments.length) {
|
@@ -1904,6 +1906,14 @@ goog.functions.nth = function(a) {
|
|
1904
1906
|
return arguments[a];
|
1905
1907
|
};
|
1906
1908
|
};
|
1909
|
+
goog.functions.partialRight = function(a, b) {
|
1910
|
+
var c = Array.prototype.slice.call(arguments, 1);
|
1911
|
+
return function() {
|
1912
|
+
var b = Array.prototype.slice.call(arguments);
|
1913
|
+
b.push.apply(b, c);
|
1914
|
+
return a.apply(this, b);
|
1915
|
+
};
|
1916
|
+
};
|
1907
1917
|
goog.functions.withReturnValue = function(a, b) {
|
1908
1918
|
return goog.functions.sequence(a, goog.functions.constant(b));
|
1909
1919
|
};
|
@@ -2179,9 +2189,9 @@ goog.iter.forEach = function(a, b, c) {
|
|
2179
2189
|
for (;;) {
|
2180
2190
|
b.call(c, a.next(), void 0, a);
|
2181
2191
|
}
|
2182
|
-
} catch (
|
2183
|
-
if (
|
2184
|
-
throw
|
2192
|
+
} catch (d) {
|
2193
|
+
if (d !== goog.iter.StopIteration) {
|
2194
|
+
throw d;
|
2185
2195
|
}
|
2186
2196
|
}
|
2187
2197
|
}
|
@@ -3251,13 +3261,13 @@ goog.Uri.QueryData.prototype.add = function(a, b) {
|
|
3251
3261
|
var c = this.keyMap_.get(a);
|
3252
3262
|
c || this.keyMap_.set(a, c = []);
|
3253
3263
|
c.push(b);
|
3254
|
-
this.count_
|
3264
|
+
this.count_ = goog.asserts.assertNumber(this.count_) + 1;
|
3255
3265
|
return this;
|
3256
3266
|
};
|
3257
3267
|
goog.Uri.QueryData.prototype.remove = function(a) {
|
3258
3268
|
this.ensureKeyMapInitialized_();
|
3259
3269
|
a = this.getKeyName_(a);
|
3260
|
-
return this.keyMap_.containsKey(a) ? (this.invalidateCache_(), this.count_
|
3270
|
+
return this.keyMap_.containsKey(a) ? (this.invalidateCache_(), this.count_ = goog.asserts.assertNumber(this.count_) - this.keyMap_.get(a).length, this.keyMap_.remove(a)) : !1;
|
3261
3271
|
};
|
3262
3272
|
goog.Uri.QueryData.prototype.clear = function() {
|
3263
3273
|
this.invalidateCache_();
|
@@ -3303,9 +3313,9 @@ goog.Uri.QueryData.prototype.set = function(a, b) {
|
|
3303
3313
|
this.ensureKeyMapInitialized_();
|
3304
3314
|
this.invalidateCache_();
|
3305
3315
|
a = this.getKeyName_(a);
|
3306
|
-
this.containsKey(a) && (this.count_
|
3316
|
+
this.containsKey(a) && (this.count_ = goog.asserts.assertNumber(this.count_) - this.keyMap_.get(a).length);
|
3307
3317
|
this.keyMap_.set(a, [b]);
|
3308
|
-
this.count_
|
3318
|
+
this.count_ = goog.asserts.assertNumber(this.count_) + 1;
|
3309
3319
|
return this;
|
3310
3320
|
};
|
3311
3321
|
goog.Uri.QueryData.prototype.get = function(a, b) {
|
@@ -3314,7 +3324,7 @@ goog.Uri.QueryData.prototype.get = function(a, b) {
|
|
3314
3324
|
};
|
3315
3325
|
goog.Uri.QueryData.prototype.setValues = function(a, b) {
|
3316
3326
|
this.remove(a);
|
3317
|
-
0 < b.length && (this.invalidateCache_(), this.keyMap_.set(this.getKeyName_(a), goog.array.clone(b)), this.count_
|
3327
|
+
0 < b.length && (this.invalidateCache_(), this.keyMap_.set(this.getKeyName_(a), goog.array.clone(b)), this.count_ = goog.asserts.assertNumber(this.count_) + b.length);
|
3318
3328
|
};
|
3319
3329
|
goog.Uri.QueryData.prototype.toString = function() {
|
3320
3330
|
if (this.encodedQuery_) {
|
@@ -3438,7 +3448,7 @@ goog.html.SafeStyle.unwrap = function(a) {
|
|
3438
3448
|
if (a instanceof goog.html.SafeStyle && a.constructor === goog.html.SafeStyle && a.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ === goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_) {
|
3439
3449
|
return a.privateDoNotAccessOrElseSafeStyleWrappedValue_;
|
3440
3450
|
}
|
3441
|
-
goog.asserts.fail("expected object of type SafeStyle, got '" + a + "'");
|
3451
|
+
goog.asserts.fail("expected object of type SafeStyle, got '" + a + "' of type " + goog.typeOf(a));
|
3442
3452
|
return "type_error:SafeStyle";
|
3443
3453
|
};
|
3444
3454
|
goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse = function(a) {
|
@@ -3457,8 +3467,8 @@ goog.html.SafeStyle.create = function(a) {
|
|
3457
3467
|
throw Error("Name allows only [-_a-zA-Z0-9], got: " + c);
|
3458
3468
|
}
|
3459
3469
|
var d = a[c];
|
3460
|
-
null != d && (d instanceof goog.string.Const ? (d = goog.string.Const.unwrap(d), goog.asserts.assert(!/[{;}]/.test(d), "Value does not allow [{;}].")) : goog.html.SafeStyle.VALUE_RE_.test(d) ? goog.html.SafeStyle.hasBalancedQuotes_(d) || (goog.asserts.fail("String value requires balanced quotes, got: " + d), d = goog.html.SafeStyle.INNOCUOUS_STRING) : (goog.asserts.fail("String value allows only [-,.\"'%_!# a-zA-Z0-9], got: " + d), d = goog.html.SafeStyle.INNOCUOUS_STRING),
|
3461
|
-
";");
|
3470
|
+
null != d && (d instanceof goog.string.Const ? (d = goog.string.Const.unwrap(d), goog.asserts.assert(!/[{;}]/.test(d), "Value does not allow [{;}].")) : goog.html.SafeStyle.VALUE_RE_.test(d) ? goog.html.SafeStyle.hasBalancedQuotes_(d) || (goog.asserts.fail("String value requires balanced quotes, got: " + d), d = goog.html.SafeStyle.INNOCUOUS_STRING) : (goog.asserts.fail("String value allows only [-,.\"'%_!# a-zA-Z0-9], rgb() and rgba(), got: " + d), d = goog.html.SafeStyle.INNOCUOUS_STRING),
|
3471
|
+
b += c + ":" + d + ";");
|
3462
3472
|
}
|
3463
3473
|
if (!b) {
|
3464
3474
|
return goog.html.SafeStyle.EMPTY;
|
@@ -3473,7 +3483,7 @@ goog.html.SafeStyle.hasBalancedQuotes_ = function(a) {
|
|
3473
3483
|
}
|
3474
3484
|
return b && c;
|
3475
3485
|
};
|
3476
|
-
goog.html.SafeStyle.VALUE_RE_ = /^[-,."'%_!# a-zA-Z0-9]
|
3486
|
+
goog.html.SafeStyle.VALUE_RE_ = /^([-,."'%_!# a-zA-Z0-9]+|(?:rgb|hsl)a?\([0-9.%, ]+\))$/;
|
3477
3487
|
goog.html.SafeStyle.concat = function(a) {
|
3478
3488
|
var b = "", c = function(a) {
|
3479
3489
|
goog.isArray(a) ? goog.array.forEach(a, c) : b += goog.html.SafeStyle.unwrap(a);
|
@@ -3483,7 +3493,7 @@ goog.html.SafeStyle.concat = function(a) {
|
|
3483
3493
|
};
|
3484
3494
|
goog.html.SafeStyleSheet = function() {
|
3485
3495
|
this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_ = "";
|
3486
|
-
this.
|
3496
|
+
this.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_;
|
3487
3497
|
};
|
3488
3498
|
goog.html.SafeStyleSheet.prototype.implementsGoogStringTypedString = !0;
|
3489
3499
|
goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = {};
|
@@ -3509,10 +3519,10 @@ goog.DEBUG && (goog.html.SafeStyleSheet.prototype.toString = function() {
|
|
3509
3519
|
return "SafeStyleSheet{" + this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_ + "}";
|
3510
3520
|
});
|
3511
3521
|
goog.html.SafeStyleSheet.unwrap = function(a) {
|
3512
|
-
if (a instanceof goog.html.SafeStyleSheet && a.constructor === goog.html.SafeStyleSheet && a.
|
3522
|
+
if (a instanceof goog.html.SafeStyleSheet && a.constructor === goog.html.SafeStyleSheet && a.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ === goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_) {
|
3513
3523
|
return a.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_;
|
3514
3524
|
}
|
3515
|
-
goog.asserts.fail("expected object of type SafeStyleSheet, got '" + a + "'");
|
3525
|
+
goog.asserts.fail("expected object of type SafeStyleSheet, got '" + a + "' of type " + goog.typeOf(a));
|
3516
3526
|
return "type_error:SafeStyleSheet";
|
3517
3527
|
};
|
3518
3528
|
goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse = function(a) {
|
@@ -3613,11 +3623,7 @@ goog.i18n.bidi.rtlLocalesRe_ = /^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](A
|
|
3613
3623
|
goog.i18n.bidi.isRtlLanguage = function(a) {
|
3614
3624
|
return goog.i18n.bidi.rtlLocalesRe_.test(a);
|
3615
3625
|
};
|
3616
|
-
goog.i18n.bidi.bracketGuardHtmlRe_ = /(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?(>)+)/g;
|
3617
3626
|
goog.i18n.bidi.bracketGuardTextRe_ = /(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g;
|
3618
|
-
goog.i18n.bidi.guardBracketInHtml = function(a, b) {
|
3619
|
-
return (void 0 === b ? goog.i18n.bidi.hasAnyRtl(a) : b) ? a.replace(goog.i18n.bidi.bracketGuardHtmlRe_, "<span dir=rtl>$&</span>") : a.replace(goog.i18n.bidi.bracketGuardHtmlRe_, "<span dir=ltr>$&</span>");
|
3620
|
-
};
|
3621
3627
|
goog.i18n.bidi.guardBracketInText = function(a, b) {
|
3622
3628
|
var c = (void 0 === b ? goog.i18n.bidi.hasAnyRtl(a) : b) ? goog.i18n.bidi.Format.RLM : goog.i18n.bidi.Format.LRM;
|
3623
3629
|
return a.replace(goog.i18n.bidi.bracketGuardTextRe_, c + "$&" + c);
|
@@ -3696,7 +3702,7 @@ goog.html.SafeUrl.unwrap = function(a) {
|
|
3696
3702
|
if (a instanceof goog.html.SafeUrl && a.constructor === goog.html.SafeUrl && a.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ === goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_) {
|
3697
3703
|
return a.privateDoNotAccessOrElseSafeHtmlWrappedValue_;
|
3698
3704
|
}
|
3699
|
-
goog.asserts.fail("expected object of type SafeUrl, got '" + a + "'");
|
3705
|
+
goog.asserts.fail("expected object of type SafeUrl, got '" + a + "' of type " + goog.typeOf(a));
|
3700
3706
|
return "type_error:SafeUrl";
|
3701
3707
|
};
|
3702
3708
|
goog.html.SafeUrl.fromConstant = function(a) {
|
@@ -3727,6 +3733,7 @@ goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse = function(a) {
|
|
3727
3733
|
b.privateDoNotAccessOrElseSafeHtmlWrappedValue_ = a;
|
3728
3734
|
return b;
|
3729
3735
|
};
|
3736
|
+
goog.html.SafeUrl.ABOUT_BLANK = goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse("about:blank");
|
3730
3737
|
goog.html.TrustedResourceUrl = function() {
|
3731
3738
|
this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_ = "";
|
3732
3739
|
this.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_;
|
@@ -3746,7 +3753,7 @@ goog.html.TrustedResourceUrl.unwrap = function(a) {
|
|
3746
3753
|
if (a instanceof goog.html.TrustedResourceUrl && a.constructor === goog.html.TrustedResourceUrl && a.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ === goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_) {
|
3747
3754
|
return a.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_;
|
3748
3755
|
}
|
3749
|
-
goog.asserts.fail("expected object of type TrustedResourceUrl, got '" + a + "'");
|
3756
|
+
goog.asserts.fail("expected object of type TrustedResourceUrl, got '" + a + "' of type " + goog.typeOf(a));
|
3750
3757
|
return "type_error:TrustedResourceUrl";
|
3751
3758
|
};
|
3752
3759
|
goog.html.TrustedResourceUrl.fromConstant = function(a) {
|
@@ -3758,6 +3765,127 @@ goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessO
|
|
3758
3765
|
b.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_ = a;
|
3759
3766
|
return b;
|
3760
3767
|
};
|
3768
|
+
goog.labs = {};
|
3769
|
+
goog.labs.userAgent = {};
|
3770
|
+
goog.labs.userAgent.util = {};
|
3771
|
+
goog.labs.userAgent.util.getNativeUserAgentString_ = function() {
|
3772
|
+
var a = goog.labs.userAgent.util.getNavigator_();
|
3773
|
+
return a && (a = a.userAgent) ? a : "";
|
3774
|
+
};
|
3775
|
+
goog.labs.userAgent.util.getNavigator_ = function() {
|
3776
|
+
return goog.global.navigator;
|
3777
|
+
};
|
3778
|
+
goog.labs.userAgent.util.userAgent_ = goog.labs.userAgent.util.getNativeUserAgentString_();
|
3779
|
+
goog.labs.userAgent.util.setUserAgent = function(a) {
|
3780
|
+
goog.labs.userAgent.util.userAgent_ = a || goog.labs.userAgent.util.getNativeUserAgentString_();
|
3781
|
+
};
|
3782
|
+
goog.labs.userAgent.util.getUserAgent = function() {
|
3783
|
+
return goog.labs.userAgent.util.userAgent_;
|
3784
|
+
};
|
3785
|
+
goog.labs.userAgent.util.matchUserAgent = function(a) {
|
3786
|
+
var b = goog.labs.userAgent.util.getUserAgent();
|
3787
|
+
return goog.string.contains(b, a);
|
3788
|
+
};
|
3789
|
+
goog.labs.userAgent.util.matchUserAgentIgnoreCase = function(a) {
|
3790
|
+
var b = goog.labs.userAgent.util.getUserAgent();
|
3791
|
+
return goog.string.caseInsensitiveContains(b, a);
|
3792
|
+
};
|
3793
|
+
goog.labs.userAgent.util.extractVersionTuples = function(a) {
|
3794
|
+
for (var b = /(\w[\w ]+)\/([^\s]+)\s*(?:\((.*?)\))?/g, c = [], d;d = b.exec(a);) {
|
3795
|
+
c.push([d[1], d[2], d[3] || void 0]);
|
3796
|
+
}
|
3797
|
+
return c;
|
3798
|
+
};
|
3799
|
+
goog.labs.userAgent.browser = {};
|
3800
|
+
goog.labs.userAgent.browser.matchOpera_ = function() {
|
3801
|
+
return goog.labs.userAgent.util.matchUserAgent("Opera") || goog.labs.userAgent.util.matchUserAgent("OPR");
|
3802
|
+
};
|
3803
|
+
goog.labs.userAgent.browser.matchIE_ = function() {
|
3804
|
+
return goog.labs.userAgent.util.matchUserAgent("Trident") || goog.labs.userAgent.util.matchUserAgent("MSIE");
|
3805
|
+
};
|
3806
|
+
goog.labs.userAgent.browser.matchEdge_ = function() {
|
3807
|
+
return goog.labs.userAgent.util.matchUserAgent("Edge");
|
3808
|
+
};
|
3809
|
+
goog.labs.userAgent.browser.matchFirefox_ = function() {
|
3810
|
+
return goog.labs.userAgent.util.matchUserAgent("Firefox");
|
3811
|
+
};
|
3812
|
+
goog.labs.userAgent.browser.matchSafari_ = function() {
|
3813
|
+
return goog.labs.userAgent.util.matchUserAgent("Safari") && !(goog.labs.userAgent.browser.matchChrome_() || goog.labs.userAgent.browser.matchCoast_() || goog.labs.userAgent.browser.matchOpera_() || goog.labs.userAgent.browser.matchEdge_() || goog.labs.userAgent.browser.isSilk() || goog.labs.userAgent.util.matchUserAgent("Android"));
|
3814
|
+
};
|
3815
|
+
goog.labs.userAgent.browser.matchCoast_ = function() {
|
3816
|
+
return goog.labs.userAgent.util.matchUserAgent("Coast");
|
3817
|
+
};
|
3818
|
+
goog.labs.userAgent.browser.matchIosWebview_ = function() {
|
3819
|
+
return (goog.labs.userAgent.util.matchUserAgent("iPad") || goog.labs.userAgent.util.matchUserAgent("iPhone")) && !goog.labs.userAgent.browser.matchSafari_() && !goog.labs.userAgent.browser.matchChrome_() && !goog.labs.userAgent.browser.matchCoast_() && goog.labs.userAgent.util.matchUserAgent("AppleWebKit");
|
3820
|
+
};
|
3821
|
+
goog.labs.userAgent.browser.matchChrome_ = function() {
|
3822
|
+
return (goog.labs.userAgent.util.matchUserAgent("Chrome") || goog.labs.userAgent.util.matchUserAgent("CriOS")) && !goog.labs.userAgent.browser.matchOpera_() && !goog.labs.userAgent.browser.matchEdge_();
|
3823
|
+
};
|
3824
|
+
goog.labs.userAgent.browser.matchAndroidBrowser_ = function() {
|
3825
|
+
return goog.labs.userAgent.util.matchUserAgent("Android") && !(goog.labs.userAgent.browser.isChrome() || goog.labs.userAgent.browser.isFirefox() || goog.labs.userAgent.browser.isOpera() || goog.labs.userAgent.browser.isSilk());
|
3826
|
+
};
|
3827
|
+
goog.labs.userAgent.browser.isOpera = goog.labs.userAgent.browser.matchOpera_;
|
3828
|
+
goog.labs.userAgent.browser.isIE = goog.labs.userAgent.browser.matchIE_;
|
3829
|
+
goog.labs.userAgent.browser.isEdge = goog.labs.userAgent.browser.matchEdge_;
|
3830
|
+
goog.labs.userAgent.browser.isFirefox = goog.labs.userAgent.browser.matchFirefox_;
|
3831
|
+
goog.labs.userAgent.browser.isSafari = goog.labs.userAgent.browser.matchSafari_;
|
3832
|
+
goog.labs.userAgent.browser.isCoast = goog.labs.userAgent.browser.matchCoast_;
|
3833
|
+
goog.labs.userAgent.browser.isIosWebview = goog.labs.userAgent.browser.matchIosWebview_;
|
3834
|
+
goog.labs.userAgent.browser.isChrome = goog.labs.userAgent.browser.matchChrome_;
|
3835
|
+
goog.labs.userAgent.browser.isAndroidBrowser = goog.labs.userAgent.browser.matchAndroidBrowser_;
|
3836
|
+
goog.labs.userAgent.browser.isSilk = function() {
|
3837
|
+
return goog.labs.userAgent.util.matchUserAgent("Silk");
|
3838
|
+
};
|
3839
|
+
goog.labs.userAgent.browser.getVersion = function() {
|
3840
|
+
function a(a) {
|
3841
|
+
a = goog.array.find(a, d);
|
3842
|
+
return c[a] || "";
|
3843
|
+
}
|
3844
|
+
var b = goog.labs.userAgent.util.getUserAgent();
|
3845
|
+
if (goog.labs.userAgent.browser.isIE()) {
|
3846
|
+
return goog.labs.userAgent.browser.getIEVersion_(b);
|
3847
|
+
}
|
3848
|
+
var b = goog.labs.userAgent.util.extractVersionTuples(b), c = {};
|
3849
|
+
goog.array.forEach(b, function(a) {
|
3850
|
+
c[a[0]] = a[1];
|
3851
|
+
});
|
3852
|
+
var d = goog.partial(goog.object.containsKey, c);
|
3853
|
+
return goog.labs.userAgent.browser.isOpera() ? a(["Version", "Opera", "OPR"]) : goog.labs.userAgent.browser.isEdge() ? a(["Edge"]) : goog.labs.userAgent.browser.isChrome() ? a(["Chrome", "CriOS"]) : (b = b[2]) && b[1] || "";
|
3854
|
+
};
|
3855
|
+
goog.labs.userAgent.browser.isVersionOrHigher = function(a) {
|
3856
|
+
return 0 <= goog.string.compareVersions(goog.labs.userAgent.browser.getVersion(), a);
|
3857
|
+
};
|
3858
|
+
goog.labs.userAgent.browser.getIEVersion_ = function(a) {
|
3859
|
+
var b = /rv: *([\d\.]*)/.exec(a);
|
3860
|
+
if (b && b[1]) {
|
3861
|
+
return b[1];
|
3862
|
+
}
|
3863
|
+
var b = "", c = /MSIE +([\d\.]+)/.exec(a);
|
3864
|
+
if (c && c[1]) {
|
3865
|
+
if (a = /Trident\/(\d.\d)/.exec(a), "7.0" == c[1]) {
|
3866
|
+
if (a && a[1]) {
|
3867
|
+
switch(a[1]) {
|
3868
|
+
case "4.0":
|
3869
|
+
b = "8.0";
|
3870
|
+
break;
|
3871
|
+
case "5.0":
|
3872
|
+
b = "9.0";
|
3873
|
+
break;
|
3874
|
+
case "6.0":
|
3875
|
+
b = "10.0";
|
3876
|
+
break;
|
3877
|
+
case "7.0":
|
3878
|
+
b = "11.0";
|
3879
|
+
}
|
3880
|
+
} else {
|
3881
|
+
b = "7.0";
|
3882
|
+
}
|
3883
|
+
} else {
|
3884
|
+
b = c[1];
|
3885
|
+
}
|
3886
|
+
}
|
3887
|
+
return b;
|
3888
|
+
};
|
3761
3889
|
goog.html.SafeHtml = function() {
|
3762
3890
|
this.privateDoNotAccessOrElseSafeHtmlWrappedValue_ = "";
|
3763
3891
|
this.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_;
|
@@ -3778,7 +3906,7 @@ goog.html.SafeHtml.unwrap = function(a) {
|
|
3778
3906
|
if (a instanceof goog.html.SafeHtml && a.constructor === goog.html.SafeHtml && a.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ === goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_) {
|
3779
3907
|
return a.privateDoNotAccessOrElseSafeHtmlWrappedValue_;
|
3780
3908
|
}
|
3781
|
-
goog.asserts.fail("expected object of type SafeHtml, got '" + a + "'");
|
3909
|
+
goog.asserts.fail("expected object of type SafeHtml, got '" + a + "' of type " + goog.typeOf(a));
|
3782
3910
|
return "type_error:SafeHtml";
|
3783
3911
|
};
|
3784
3912
|
goog.html.SafeHtml.htmlEscape = function(a) {
|
@@ -3807,7 +3935,7 @@ goog.html.SafeHtml.htmlEscapePreservingNewlinesAndSpaces = function(a) {
|
|
3807
3935
|
goog.html.SafeHtml.from = goog.html.SafeHtml.htmlEscape;
|
3808
3936
|
goog.html.SafeHtml.VALID_NAMES_IN_TAG_ = /^[a-zA-Z0-9-]+$/;
|
3809
3937
|
goog.html.SafeHtml.URL_ATTRIBUTES_ = {action:!0, cite:!0, data:!0, formaction:!0, href:!0, manifest:!0, poster:!0, src:!0};
|
3810
|
-
goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_ = goog.object.createSet(goog.dom.TagName.EMBED, goog.dom.TagName.IFRAME, goog.dom.TagName.LINK, goog.dom.TagName.OBJECT, goog.dom.TagName.SCRIPT, goog.dom.TagName.STYLE, goog.dom.TagName.TEMPLATE);
|
3938
|
+
goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_ = goog.object.createSet(goog.dom.TagName.APPLET, goog.dom.TagName.BASE, goog.dom.TagName.EMBED, goog.dom.TagName.IFRAME, goog.dom.TagName.LINK, goog.dom.TagName.MATH, goog.dom.TagName.META, goog.dom.TagName.OBJECT, goog.dom.TagName.SCRIPT, goog.dom.TagName.STYLE, goog.dom.TagName.SVG, goog.dom.TagName.TEMPLATE);
|
3811
3939
|
goog.html.SafeHtml.create = function(a, b, c) {
|
3812
3940
|
if (!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(a)) {
|
3813
3941
|
throw Error("Invalid tag name <" + a + ">.");
|
@@ -3833,6 +3961,11 @@ goog.html.SafeHtml.createStyle = function(a, b) {
|
|
3833
3961
|
d = goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(d, goog.i18n.bidi.Dir.NEUTRAL);
|
3834
3962
|
return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("style", c, d);
|
3835
3963
|
};
|
3964
|
+
goog.html.SafeHtml.createMetaRefresh = function(a, b) {
|
3965
|
+
var c = goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(a));
|
3966
|
+
(goog.labs.userAgent.browser.isIE() || goog.labs.userAgent.browser.isEdge()) && goog.string.contains(c, ";") && (c = "'" + c.replace(/'/g, "%27") + "'");
|
3967
|
+
return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("meta", {"http-equiv":"refresh", content:(b || 0) + "; url=" + c});
|
3968
|
+
};
|
3836
3969
|
goog.html.SafeHtml.getAttrNameAndValue_ = function(a, b, c) {
|
3837
3970
|
if (c instanceof goog.string.Const) {
|
3838
3971
|
c = goog.string.Const.unwrap(c);
|
@@ -3933,6 +4066,7 @@ goog.html.SafeHtml.combineAttributes = function(a, b, c) {
|
|
3933
4066
|
};
|
3934
4067
|
goog.html.SafeHtml.DOCTYPE_HTML = goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<!DOCTYPE html>", goog.i18n.bidi.Dir.NEUTRAL);
|
3935
4068
|
goog.html.SafeHtml.EMPTY = goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("", goog.i18n.bidi.Dir.NEUTRAL);
|
4069
|
+
goog.html.SafeHtml.BR = goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<br>", goog.i18n.bidi.Dir.NEUTRAL);
|
3936
4070
|
goog.html.SafeScript = function() {
|
3937
4071
|
this.privateDoNotAccessOrElseSafeScriptWrappedValue_ = "";
|
3938
4072
|
this.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_;
|
@@ -3953,7 +4087,7 @@ goog.html.SafeScript.unwrap = function(a) {
|
|
3953
4087
|
if (a instanceof goog.html.SafeScript && a.constructor === goog.html.SafeScript && a.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ === goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_) {
|
3954
4088
|
return a.privateDoNotAccessOrElseSafeScriptWrappedValue_;
|
3955
4089
|
}
|
3956
|
-
goog.asserts.fail("expected object of type SafeScript, got '" + a + "'");
|
4090
|
+
goog.asserts.fail("expected object of type SafeScript, got '" + a + "' of type " + goog.typeOf(a));
|
3957
4091
|
return "type_error:SafeScript";
|
3958
4092
|
};
|
3959
4093
|
goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse = function(a) {
|
@@ -4074,127 +4208,6 @@ goog.structs.Set.prototype.isSubsetOf = function(a) {
|
|
4074
4208
|
goog.structs.Set.prototype.__iterator__ = function(a) {
|
4075
4209
|
return this.map_.__iterator__(!1);
|
4076
4210
|
};
|
4077
|
-
goog.labs = {};
|
4078
|
-
goog.labs.userAgent = {};
|
4079
|
-
goog.labs.userAgent.util = {};
|
4080
|
-
goog.labs.userAgent.util.getNativeUserAgentString_ = function() {
|
4081
|
-
var a = goog.labs.userAgent.util.getNavigator_();
|
4082
|
-
return a && (a = a.userAgent) ? a : "";
|
4083
|
-
};
|
4084
|
-
goog.labs.userAgent.util.getNavigator_ = function() {
|
4085
|
-
return goog.global.navigator;
|
4086
|
-
};
|
4087
|
-
goog.labs.userAgent.util.userAgent_ = goog.labs.userAgent.util.getNativeUserAgentString_();
|
4088
|
-
goog.labs.userAgent.util.setUserAgent = function(a) {
|
4089
|
-
goog.labs.userAgent.util.userAgent_ = a || goog.labs.userAgent.util.getNativeUserAgentString_();
|
4090
|
-
};
|
4091
|
-
goog.labs.userAgent.util.getUserAgent = function() {
|
4092
|
-
return goog.labs.userAgent.util.userAgent_;
|
4093
|
-
};
|
4094
|
-
goog.labs.userAgent.util.matchUserAgent = function(a) {
|
4095
|
-
var b = goog.labs.userAgent.util.getUserAgent();
|
4096
|
-
return goog.string.contains(b, a);
|
4097
|
-
};
|
4098
|
-
goog.labs.userAgent.util.matchUserAgentIgnoreCase = function(a) {
|
4099
|
-
var b = goog.labs.userAgent.util.getUserAgent();
|
4100
|
-
return goog.string.caseInsensitiveContains(b, a);
|
4101
|
-
};
|
4102
|
-
goog.labs.userAgent.util.extractVersionTuples = function(a) {
|
4103
|
-
for (var b = /(\w[\w ]+)\/([^\s]+)\s*(?:\((.*?)\))?/g, c = [], d;d = b.exec(a);) {
|
4104
|
-
c.push([d[1], d[2], d[3] || void 0]);
|
4105
|
-
}
|
4106
|
-
return c;
|
4107
|
-
};
|
4108
|
-
goog.labs.userAgent.browser = {};
|
4109
|
-
goog.labs.userAgent.browser.matchOpera_ = function() {
|
4110
|
-
return goog.labs.userAgent.util.matchUserAgent("Opera") || goog.labs.userAgent.util.matchUserAgent("OPR");
|
4111
|
-
};
|
4112
|
-
goog.labs.userAgent.browser.matchIE_ = function() {
|
4113
|
-
return goog.labs.userAgent.util.matchUserAgent("Trident") || goog.labs.userAgent.util.matchUserAgent("MSIE");
|
4114
|
-
};
|
4115
|
-
goog.labs.userAgent.browser.matchEdge_ = function() {
|
4116
|
-
return goog.labs.userAgent.util.matchUserAgent("Edge");
|
4117
|
-
};
|
4118
|
-
goog.labs.userAgent.browser.matchFirefox_ = function() {
|
4119
|
-
return goog.labs.userAgent.util.matchUserAgent("Firefox");
|
4120
|
-
};
|
4121
|
-
goog.labs.userAgent.browser.matchSafari_ = function() {
|
4122
|
-
return goog.labs.userAgent.util.matchUserAgent("Safari") && !(goog.labs.userAgent.browser.matchChrome_() || goog.labs.userAgent.browser.matchCoast_() || goog.labs.userAgent.browser.matchOpera_() || goog.labs.userAgent.browser.matchEdge_() || goog.labs.userAgent.browser.isSilk() || goog.labs.userAgent.util.matchUserAgent("Android"));
|
4123
|
-
};
|
4124
|
-
goog.labs.userAgent.browser.matchCoast_ = function() {
|
4125
|
-
return goog.labs.userAgent.util.matchUserAgent("Coast");
|
4126
|
-
};
|
4127
|
-
goog.labs.userAgent.browser.matchIosWebview_ = function() {
|
4128
|
-
return (goog.labs.userAgent.util.matchUserAgent("iPad") || goog.labs.userAgent.util.matchUserAgent("iPhone")) && !goog.labs.userAgent.browser.matchSafari_() && !goog.labs.userAgent.browser.matchChrome_() && !goog.labs.userAgent.browser.matchCoast_() && goog.labs.userAgent.util.matchUserAgent("AppleWebKit");
|
4129
|
-
};
|
4130
|
-
goog.labs.userAgent.browser.matchChrome_ = function() {
|
4131
|
-
return (goog.labs.userAgent.util.matchUserAgent("Chrome") || goog.labs.userAgent.util.matchUserAgent("CriOS")) && !goog.labs.userAgent.browser.matchOpera_() && !goog.labs.userAgent.browser.matchEdge_();
|
4132
|
-
};
|
4133
|
-
goog.labs.userAgent.browser.matchAndroidBrowser_ = function() {
|
4134
|
-
return goog.labs.userAgent.util.matchUserAgent("Android") && !(goog.labs.userAgent.browser.isChrome() || goog.labs.userAgent.browser.isFirefox() || goog.labs.userAgent.browser.isOpera() || goog.labs.userAgent.browser.isSilk());
|
4135
|
-
};
|
4136
|
-
goog.labs.userAgent.browser.isOpera = goog.labs.userAgent.browser.matchOpera_;
|
4137
|
-
goog.labs.userAgent.browser.isIE = goog.labs.userAgent.browser.matchIE_;
|
4138
|
-
goog.labs.userAgent.browser.isEdge = goog.labs.userAgent.browser.matchEdge_;
|
4139
|
-
goog.labs.userAgent.browser.isFirefox = goog.labs.userAgent.browser.matchFirefox_;
|
4140
|
-
goog.labs.userAgent.browser.isSafari = goog.labs.userAgent.browser.matchSafari_;
|
4141
|
-
goog.labs.userAgent.browser.isCoast = goog.labs.userAgent.browser.matchCoast_;
|
4142
|
-
goog.labs.userAgent.browser.isIosWebview = goog.labs.userAgent.browser.matchIosWebview_;
|
4143
|
-
goog.labs.userAgent.browser.isChrome = goog.labs.userAgent.browser.matchChrome_;
|
4144
|
-
goog.labs.userAgent.browser.isAndroidBrowser = goog.labs.userAgent.browser.matchAndroidBrowser_;
|
4145
|
-
goog.labs.userAgent.browser.isSilk = function() {
|
4146
|
-
return goog.labs.userAgent.util.matchUserAgent("Silk");
|
4147
|
-
};
|
4148
|
-
goog.labs.userAgent.browser.getVersion = function() {
|
4149
|
-
function a(a) {
|
4150
|
-
a = goog.array.find(a, d);
|
4151
|
-
return c[a] || "";
|
4152
|
-
}
|
4153
|
-
var b = goog.labs.userAgent.util.getUserAgent();
|
4154
|
-
if (goog.labs.userAgent.browser.isIE()) {
|
4155
|
-
return goog.labs.userAgent.browser.getIEVersion_(b);
|
4156
|
-
}
|
4157
|
-
var b = goog.labs.userAgent.util.extractVersionTuples(b), c = {};
|
4158
|
-
goog.array.forEach(b, function(a) {
|
4159
|
-
c[a[0]] = a[1];
|
4160
|
-
});
|
4161
|
-
var d = goog.partial(goog.object.containsKey, c);
|
4162
|
-
return goog.labs.userAgent.browser.isOpera() ? a(["Version", "Opera", "OPR"]) : goog.labs.userAgent.browser.isEdge() ? a(["Edge"]) : goog.labs.userAgent.browser.isChrome() ? a(["Chrome", "CriOS"]) : (b = b[2]) && b[1] || "";
|
4163
|
-
};
|
4164
|
-
goog.labs.userAgent.browser.isVersionOrHigher = function(a) {
|
4165
|
-
return 0 <= goog.string.compareVersions(goog.labs.userAgent.browser.getVersion(), a);
|
4166
|
-
};
|
4167
|
-
goog.labs.userAgent.browser.getIEVersion_ = function(a) {
|
4168
|
-
var b = /rv: *([\d\.]*)/.exec(a);
|
4169
|
-
if (b && b[1]) {
|
4170
|
-
return b[1];
|
4171
|
-
}
|
4172
|
-
var b = "", c = /MSIE +([\d\.]+)/.exec(a);
|
4173
|
-
if (c && c[1]) {
|
4174
|
-
if (a = /Trident\/(\d.\d)/.exec(a), "7.0" == c[1]) {
|
4175
|
-
if (a && a[1]) {
|
4176
|
-
switch(a[1]) {
|
4177
|
-
case "4.0":
|
4178
|
-
b = "8.0";
|
4179
|
-
break;
|
4180
|
-
case "5.0":
|
4181
|
-
b = "9.0";
|
4182
|
-
break;
|
4183
|
-
case "6.0":
|
4184
|
-
b = "10.0";
|
4185
|
-
break;
|
4186
|
-
case "7.0":
|
4187
|
-
b = "11.0";
|
4188
|
-
}
|
4189
|
-
} else {
|
4190
|
-
b = "7.0";
|
4191
|
-
}
|
4192
|
-
} else {
|
4193
|
-
b = c[1];
|
4194
|
-
}
|
4195
|
-
}
|
4196
|
-
return b;
|
4197
|
-
};
|
4198
4211
|
goog.labs.userAgent.engine = {};
|
4199
4212
|
goog.labs.userAgent.engine.isPresto = function() {
|
4200
4213
|
return goog.labs.userAgent.util.matchUserAgent("Presto");
|
@@ -4349,7 +4362,7 @@ goog.userAgent.determineVersion_ = function() {
|
|
4349
4362
|
}
|
4350
4363
|
var a = "", b = goog.userAgent.getVersionRegexResult_();
|
4351
4364
|
b && (a = b ? b[1] : "");
|
4352
|
-
return goog.userAgent.IE && (b = goog.userAgent.getDocumentMode_(), b > parseFloat(a)) ? String(b) : a;
|
4365
|
+
return goog.userAgent.IE && (b = goog.userAgent.getDocumentMode_(), null != b && b > parseFloat(a)) ? String(b) : a;
|
4353
4366
|
};
|
4354
4367
|
goog.userAgent.getVersionRegexResult_ = function() {
|
4355
4368
|
var a = goog.userAgent.getUserAgentString();
|
@@ -4380,7 +4393,7 @@ goog.userAgent.isVersionOrHigher = function(a) {
|
|
4380
4393
|
};
|
4381
4394
|
goog.userAgent.isVersion = goog.userAgent.isVersionOrHigher;
|
4382
4395
|
goog.userAgent.isDocumentModeOrHigher = function(a) {
|
4383
|
-
return goog.userAgent.DOCUMENT_MODE >= a;
|
4396
|
+
return Number(goog.userAgent.DOCUMENT_MODE) >= a;
|
4384
4397
|
};
|
4385
4398
|
goog.userAgent.isDocumentMode = goog.userAgent.isDocumentModeOrHigher;
|
4386
4399
|
goog.userAgent.DOCUMENT_MODE = function() {
|
@@ -4388,6 +4401,7 @@ goog.userAgent.DOCUMENT_MODE = function() {
|
|
4388
4401
|
return a && goog.userAgent.IE ? b || ("CSS1Compat" == a.compatMode ? parseInt(goog.userAgent.VERSION, 10) : 5) : void 0;
|
4389
4402
|
}();
|
4390
4403
|
goog.debug.LOGGING_ENABLED = goog.DEBUG;
|
4404
|
+
goog.debug.FORCE_SLOPPY_STACKS = !1;
|
4391
4405
|
goog.debug.catchErrors = function(a, b, c) {
|
4392
4406
|
c = c || goog.global;
|
4393
4407
|
var d = c.onerror, e = !!b;
|
@@ -4502,7 +4516,7 @@ goog.debug.normalizeErrorObject = function(a) {
|
|
4502
4516
|
}
|
4503
4517
|
try {
|
4504
4518
|
d = a.fileName || a.filename || a.sourceURL || goog.global.$googDebugFname || b;
|
4505
|
-
} catch (
|
4519
|
+
} catch (f) {
|
4506
4520
|
d = "Not available", e = !0;
|
4507
4521
|
}
|
4508
4522
|
return !e && a.lineNumber && a.fileName && a.stack && a.message && a.name ? a : {message:a.message || "Not available", name:a.name || "UnknownError", lineNumber:c, fileName:d, stack:a.stack || "Not available"};
|
@@ -4520,7 +4534,7 @@ goog.debug.enhanceError = function(a, b) {
|
|
4520
4534
|
return c;
|
4521
4535
|
};
|
4522
4536
|
goog.debug.getStacktraceSimple = function(a) {
|
4523
|
-
if (goog.
|
4537
|
+
if (!goog.debug.FORCE_SLOPPY_STACKS) {
|
4524
4538
|
var b = goog.debug.getNativeStackTrace_(goog.debug.getStacktraceSimple);
|
4525
4539
|
if (b) {
|
4526
4540
|
return b;
|
@@ -4559,7 +4573,7 @@ goog.debug.getNativeStackTrace_ = function(a) {
|
|
4559
4573
|
};
|
4560
4574
|
goog.debug.getStacktrace = function(a) {
|
4561
4575
|
var b;
|
4562
|
-
goog.
|
4576
|
+
goog.debug.FORCE_SLOPPY_STACKS || (b = goog.debug.getNativeStackTrace_(a || goog.debug.getStacktrace));
|
4563
4577
|
b || (b = goog.debug.getStacktraceHelper_(a || arguments.callee.caller, []));
|
4564
4578
|
return b;
|
4565
4579
|
};
|
@@ -4999,10 +5013,10 @@ goog.debug.HtmlFormatter.prototype.formatRecordAsHtml = function(a) {
|
|
4999
5013
|
this.showLoggerName && c.push("[", a.getLoggerName(), "] ");
|
5000
5014
|
this.showSeverityLevel && c.push("[", a.getLevel().name, "] ");
|
5001
5015
|
var c = goog.html.SafeHtml.htmlEscapePreservingNewlinesAndSpaces(c.join("")), d = goog.html.SafeHtml.EMPTY;
|
5002
|
-
this.showExceptionText && a.getException() && (d = goog.html.SafeHtml.concat(goog.html.SafeHtml.
|
5016
|
+
this.showExceptionText && a.getException() && (d = goog.html.SafeHtml.concat(goog.html.SafeHtml.BR, goog.debug.exposeExceptionAsHtml(a.getException())));
|
5003
5017
|
a = goog.html.SafeHtml.htmlEscapePreservingNewlinesAndSpaces(a.getMessage());
|
5004
5018
|
b = goog.html.SafeHtml.create("span", {"class":b}, goog.html.SafeHtml.concat(a, d));
|
5005
|
-
return this.appendNewline ? goog.html.SafeHtml.concat(c, b, goog.html.SafeHtml.
|
5019
|
+
return this.appendNewline ? goog.html.SafeHtml.concat(c, b, goog.html.SafeHtml.BR) : goog.html.SafeHtml.concat(c, b);
|
5006
5020
|
};
|
5007
5021
|
goog.debug.TextFormatter = function(a) {
|
5008
5022
|
goog.debug.Formatter.call(this, a);
|
@@ -5042,6 +5056,11 @@ goog.dom.safe.setAnchorHref = function(a, b) {
|
|
5042
5056
|
c = b instanceof goog.html.SafeUrl ? b : goog.html.SafeUrl.sanitize(b);
|
5043
5057
|
a.href = goog.html.SafeUrl.unwrap(c);
|
5044
5058
|
};
|
5059
|
+
goog.dom.safe.setImageSrc = function(a, b) {
|
5060
|
+
var c;
|
5061
|
+
c = b instanceof goog.html.SafeUrl ? b : goog.html.SafeUrl.sanitize(b);
|
5062
|
+
a.src = goog.html.SafeUrl.unwrap(c);
|
5063
|
+
};
|
5045
5064
|
goog.dom.safe.setEmbedSrc = function(a, b) {
|
5046
5065
|
a.src = goog.html.TrustedResourceUrl.unwrap(b);
|
5047
5066
|
};
|
@@ -5121,7 +5140,7 @@ goog.math.Coordinate.prototype.round = function() {
|
|
5121
5140
|
return this;
|
5122
5141
|
};
|
5123
5142
|
goog.math.Coordinate.prototype.translate = function(a, b) {
|
5124
|
-
a instanceof goog.math.Coordinate ? (this.x += a.x, this.y += a.y) : (this.x += a, goog.isNumber(b) && (this.y += b));
|
5143
|
+
a instanceof goog.math.Coordinate ? (this.x += a.x, this.y += a.y) : (this.x += Number(a), goog.isNumber(b) && (this.y += b));
|
5125
5144
|
return this;
|
5126
5145
|
};
|
5127
5146
|
goog.math.Coordinate.prototype.scale = function(a, b) {
|
@@ -5290,6 +5309,9 @@ goog.dom.getViewportSize_ = function(a) {
|
|
5290
5309
|
goog.dom.getDocumentHeight = function() {
|
5291
5310
|
return goog.dom.getDocumentHeight_(window);
|
5292
5311
|
};
|
5312
|
+
goog.dom.getDocumentHeightForWindow = function(a) {
|
5313
|
+
return goog.dom.getDocumentHeight_(a);
|
5314
|
+
};
|
5293
5315
|
goog.dom.getDocumentHeight_ = function(a) {
|
5294
5316
|
var b = a.document, c = 0;
|
5295
5317
|
if (b) {
|
@@ -5389,7 +5411,7 @@ goog.dom.safeHtmlToNode = function(a) {
|
|
5389
5411
|
};
|
5390
5412
|
goog.dom.safeHtmlToNode_ = function(a, b) {
|
5391
5413
|
var c = a.createElement(goog.dom.TagName.DIV);
|
5392
|
-
goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT ? (goog.dom.safe.setInnerHtml(c, goog.html.SafeHtml.concat(goog.html.SafeHtml.
|
5414
|
+
goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT ? (goog.dom.safe.setInnerHtml(c, goog.html.SafeHtml.concat(goog.html.SafeHtml.BR, b)), c.removeChild(c.firstChild)) : goog.dom.safe.setInnerHtml(c, b);
|
5393
5415
|
return goog.dom.childrenToNode_(a, c);
|
5394
5416
|
};
|
5395
5417
|
goog.dom.htmlToDocumentFragment = function(a) {
|
@@ -5577,11 +5599,14 @@ goog.dom.getParentElement = function(a) {
|
|
5577
5599
|
return goog.dom.isElement(b) ? b : null;
|
5578
5600
|
};
|
5579
5601
|
goog.dom.contains = function(a, b) {
|
5602
|
+
if (!a || !b) {
|
5603
|
+
return !1;
|
5604
|
+
}
|
5580
5605
|
if (a.contains && b.nodeType == goog.dom.NodeType.ELEMENT) {
|
5581
5606
|
return a == b || a.contains(b);
|
5582
5607
|
}
|
5583
5608
|
if ("undefined" != typeof a.compareDocumentPosition) {
|
5584
|
-
return a == b ||
|
5609
|
+
return a == b || !!(a.compareDocumentPosition(b) & 16);
|
5585
5610
|
}
|
5586
5611
|
for (;b && a != b;) {
|
5587
5612
|
b = b.parentNode;
|
@@ -5673,7 +5698,11 @@ goog.dom.getFrameContentDocument = function(a) {
|
|
5673
5698
|
return a.contentDocument || a.contentWindow.document;
|
5674
5699
|
};
|
5675
5700
|
goog.dom.getFrameContentWindow = function(a) {
|
5676
|
-
|
5701
|
+
try {
|
5702
|
+
return a.contentWindow || (a.contentDocument ? goog.dom.getWindow(a.contentDocument) : null);
|
5703
|
+
} catch (b) {
|
5704
|
+
}
|
5705
|
+
return null;
|
5677
5706
|
};
|
5678
5707
|
goog.dom.setTextContent = function(a, b) {
|
5679
5708
|
goog.asserts.assert(null != a, "goog.dom.setTextContent expects a non-null value for node");
|
@@ -5697,6 +5726,7 @@ goog.dom.setTextContent = function(a, b) {
|
|
5697
5726
|
}
|
5698
5727
|
};
|
5699
5728
|
goog.dom.getOuterHtml = function(a) {
|
5729
|
+
goog.asserts.assert(null !== a, "goog.dom.getOuterHtml expects a non-null value for element");
|
5700
5730
|
if ("outerHTML" in a) {
|
5701
5731
|
return a.outerHTML;
|
5702
5732
|
}
|
@@ -5748,11 +5778,11 @@ goog.dom.nativelySupportsFocus_ = function(a) {
|
|
5748
5778
|
return a.tagName == goog.dom.TagName.A || a.tagName == goog.dom.TagName.INPUT || a.tagName == goog.dom.TagName.TEXTAREA || a.tagName == goog.dom.TagName.SELECT || a.tagName == goog.dom.TagName.BUTTON;
|
5749
5779
|
};
|
5750
5780
|
goog.dom.hasNonZeroBoundingRect_ = function(a) {
|
5751
|
-
a = goog.isFunction(a.getBoundingClientRect)
|
5781
|
+
a = !goog.isFunction(a.getBoundingClientRect) || goog.userAgent.IE && null == a.parentElement ? {height:a.offsetHeight, width:a.offsetWidth} : a.getBoundingClientRect();
|
5752
5782
|
return goog.isDefAndNotNull(a) && 0 < a.height && 0 < a.width;
|
5753
5783
|
};
|
5754
5784
|
goog.dom.getTextContent = function(a) {
|
5755
|
-
if (goog.dom.BrowserFeature.CAN_USE_INNER_TEXT && "innerText" in a) {
|
5785
|
+
if (goog.dom.BrowserFeature.CAN_USE_INNER_TEXT && null !== a && "innerText" in a) {
|
5756
5786
|
a = goog.string.canonicalizeNewlines(a.innerText);
|
5757
5787
|
} else {
|
5758
5788
|
var b = [];
|
@@ -5842,14 +5872,13 @@ goog.dom.getAncestorByClass = function(a, b, c) {
|
|
5842
5872
|
};
|
5843
5873
|
goog.dom.getAncestor = function(a, b, c, d) {
|
5844
5874
|
c || (a = a.parentNode);
|
5845
|
-
c = null == d;
|
5846
|
-
for (var e = 0;a && (c || e <= d);) {
|
5875
|
+
for (c = 0;a && (null == d || c <= d);) {
|
5847
5876
|
goog.asserts.assert("parentNode" != a.name);
|
5848
5877
|
if (b(a)) {
|
5849
5878
|
return a;
|
5850
5879
|
}
|
5851
5880
|
a = a.parentNode;
|
5852
|
-
|
5881
|
+
c++;
|
5853
5882
|
}
|
5854
5883
|
return null;
|
5855
5884
|
};
|
@@ -6025,7 +6054,7 @@ goog.math.Box.prototype.contains = function(a) {
|
|
6025
6054
|
return goog.math.Box.contains(this, a);
|
6026
6055
|
};
|
6027
6056
|
goog.math.Box.prototype.expand = function(a, b, c, d) {
|
6028
|
-
goog.isObject(a) ? (this.top -= a.top, this.right += a.right, this.bottom += a.bottom, this.left -= a.left) : (this.top -= a, this.right += b, this.bottom += c, this.left -= d);
|
6057
|
+
goog.isObject(a) ? (this.top -= a.top, this.right += a.right, this.bottom += a.bottom, this.left -= a.left) : (this.top -= a, this.right += Number(b), this.bottom += Number(c), this.left -= Number(d));
|
6029
6058
|
return this;
|
6030
6059
|
};
|
6031
6060
|
goog.math.Box.prototype.expandToInclude = function(a) {
|
@@ -6084,7 +6113,7 @@ goog.math.Box.prototype.round = function() {
|
|
6084
6113
|
return this;
|
6085
6114
|
};
|
6086
6115
|
goog.math.Box.prototype.translate = function(a, b) {
|
6087
|
-
a instanceof goog.math.Coordinate ? (this.left += a.x, this.right += a.x, this.top += a.y, this.bottom += a.y) : (this.left += a, this.right += a, goog.isNumber(b) && (this.top += b, this.bottom += b));
|
6116
|
+
a instanceof goog.math.Coordinate ? (this.left += a.x, this.right += a.x, this.top += a.y, this.bottom += a.y) : (goog.asserts.assertNumber(a), this.left += a, this.right += a, goog.isNumber(b) && (this.top += b, this.bottom += b));
|
6088
6117
|
return this;
|
6089
6118
|
};
|
6090
6119
|
goog.math.Box.prototype.scale = function(a, b) {
|
@@ -6221,7 +6250,7 @@ goog.math.Rect.prototype.round = function() {
|
|
6221
6250
|
return this;
|
6222
6251
|
};
|
6223
6252
|
goog.math.Rect.prototype.translate = function(a, b) {
|
6224
|
-
a instanceof goog.math.Coordinate ? (this.left += a.x, this.top += a.y) : (this.left += a, goog.isNumber(b) && (this.top += b));
|
6253
|
+
a instanceof goog.math.Coordinate ? (this.left += a.x, this.top += a.y) : (this.left += goog.asserts.assertNumber(a), goog.isNumber(b) && (this.top += b));
|
6225
6254
|
return this;
|
6226
6255
|
};
|
6227
6256
|
goog.math.Rect.prototype.scale = function(a, b) {
|
@@ -6232,6 +6261,22 @@ goog.math.Rect.prototype.scale = function(a, b) {
|
|
6232
6261
|
this.height *= c;
|
6233
6262
|
return this;
|
6234
6263
|
};
|
6264
|
+
goog.reflect = {};
|
6265
|
+
goog.reflect.object = function(a, b) {
|
6266
|
+
return b;
|
6267
|
+
};
|
6268
|
+
goog.reflect.sinkValue = function(a) {
|
6269
|
+
goog.reflect.sinkValue[" "](a);
|
6270
|
+
return a;
|
6271
|
+
};
|
6272
|
+
goog.reflect.sinkValue[" "] = goog.nullFunction;
|
6273
|
+
goog.reflect.canAccessProperty = function(a, b) {
|
6274
|
+
try {
|
6275
|
+
return goog.reflect.sinkValue(a[b]), !0;
|
6276
|
+
} catch (c) {
|
6277
|
+
}
|
6278
|
+
return !1;
|
6279
|
+
};
|
6235
6280
|
goog.style = {};
|
6236
6281
|
goog.style.setStyle = function(a, b, c) {
|
6237
6282
|
if (goog.isString(b)) {
|
@@ -6331,7 +6376,7 @@ goog.style.getBoundingClientRect_ = function(a) {
|
|
6331
6376
|
};
|
6332
6377
|
goog.style.getOffsetParent = function(a) {
|
6333
6378
|
if (goog.userAgent.IE && !goog.userAgent.isDocumentModeOrHigher(8)) {
|
6334
|
-
return a.offsetParent;
|
6379
|
+
return goog.asserts.assert(a && "offsetParent" in a), a.offsetParent;
|
6335
6380
|
}
|
6336
6381
|
var b = goog.dom.getOwnerDocument(a), c = goog.style.getStyle_(a, "position"), d = "fixed" == c || "absolute" == c;
|
6337
6382
|
for (a = a.parentNode;a && a != b;a = a.parentNode) {
|
@@ -6401,7 +6446,11 @@ goog.style.getPageOffsetTop = function(a) {
|
|
6401
6446
|
return goog.style.getPageOffset(a).y;
|
6402
6447
|
};
|
6403
6448
|
goog.style.getFramedPageOffset = function(a, b) {
|
6404
|
-
var c = new goog.math.Coordinate(0, 0), d = goog.dom.getWindow(goog.dom.getOwnerDocument(a))
|
6449
|
+
var c = new goog.math.Coordinate(0, 0), d = goog.dom.getWindow(goog.dom.getOwnerDocument(a));
|
6450
|
+
if (!goog.reflect.canAccessProperty(d, "parent")) {
|
6451
|
+
return c;
|
6452
|
+
}
|
6453
|
+
var e = a;
|
6405
6454
|
do {
|
6406
6455
|
var f = d == b ? goog.style.getPageOffset(e) : goog.style.getClientPositionForElement_(goog.asserts.assert(e));
|
6407
6456
|
c.x += f.x;
|
@@ -6438,7 +6487,8 @@ goog.style.getClientPosition = function(a) {
|
|
6438
6487
|
goog.style.setPageOffset = function(a, b, c) {
|
6439
6488
|
var d = goog.style.getPageOffset(a);
|
6440
6489
|
b instanceof goog.math.Coordinate && (c = b.y, b = b.x);
|
6441
|
-
goog.
|
6490
|
+
b = goog.asserts.assertNumber(b) - d.x;
|
6491
|
+
goog.style.setPosition(a, a.offsetLeft + b, a.offsetTop + (Number(c) - d.y));
|
6442
6492
|
};
|
6443
6493
|
goog.style.setSize = function(a, b, c) {
|
6444
6494
|
if (b instanceof goog.math.Size) {
|
@@ -6501,14 +6551,16 @@ goog.style.toSelectorCase = function(a) {
|
|
6501
6551
|
return goog.string.toSelectorCase(a);
|
6502
6552
|
};
|
6503
6553
|
goog.style.getOpacity = function(a) {
|
6554
|
+
goog.asserts.assert(a);
|
6504
6555
|
var b = a.style;
|
6505
6556
|
a = "";
|
6506
6557
|
"opacity" in b ? a = b.opacity : "MozOpacity" in b ? a = b.MozOpacity : "filter" in b && (b = b.filter.match(/alpha\(opacity=([\d.]+)\)/)) && (a = String(b[1] / 100));
|
6507
6558
|
return "" == a ? a : Number(a);
|
6508
6559
|
};
|
6509
6560
|
goog.style.setOpacity = function(a, b) {
|
6561
|
+
goog.asserts.assert(a);
|
6510
6562
|
var c = a.style;
|
6511
|
-
"opacity" in c ? c.opacity = b : "MozOpacity" in c ? c.MozOpacity = b : "filter" in c && (c.filter = "" === b ? "" : "alpha(opacity=" + 100 * b + ")");
|
6563
|
+
"opacity" in c ? c.opacity = b : "MozOpacity" in c ? c.MozOpacity = b : "filter" in c && (c.filter = "" === b ? "" : "alpha(opacity=" + 100 * Number(b) + ")");
|
6512
6564
|
};
|
6513
6565
|
goog.style.setTransparentBackgroundImage = function(a, b) {
|
6514
6566
|
var c = a.style;
|
@@ -6550,7 +6602,7 @@ goog.style.setInlineBlock = function(a) {
|
|
6550
6602
|
goog.style.isRightToLeft = function(a) {
|
6551
6603
|
return "rtl" == goog.style.getStyle_(a, "direction");
|
6552
6604
|
};
|
6553
|
-
goog.style.unselectableStyle_ = goog.userAgent.GECKO ? "MozUserSelect" : goog.userAgent.WEBKIT ? "WebkitUserSelect" : null;
|
6605
|
+
goog.style.unselectableStyle_ = goog.userAgent.GECKO ? "MozUserSelect" : goog.userAgent.WEBKIT || goog.userAgent.EDGE ? "WebkitUserSelect" : null;
|
6554
6606
|
goog.style.isUnselectable = function(a) {
|
6555
6607
|
return goog.style.unselectableStyle_ ? "none" == a.style[goog.style.unselectableStyle_].toLowerCase() : goog.userAgent.IE || goog.userAgent.OPERA ? "on" == a.getAttribute("unselectable") : !1;
|
6556
6608
|
};
|
@@ -6702,10 +6754,10 @@ goog.style.getFontSize = function(a) {
|
|
6702
6754
|
return parseInt(b, 10);
|
6703
6755
|
}
|
6704
6756
|
if (goog.userAgent.IE) {
|
6705
|
-
if (c in goog.style.ABSOLUTE_CSS_LENGTH_UNITS_) {
|
6757
|
+
if (String(c) in goog.style.ABSOLUTE_CSS_LENGTH_UNITS_) {
|
6706
6758
|
return goog.style.getIePixelValue_(a, b, "left", "pixelLeft");
|
6707
6759
|
}
|
6708
|
-
if (a.parentNode && a.parentNode.nodeType == goog.dom.NodeType.ELEMENT && c in goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_) {
|
6760
|
+
if (a.parentNode && a.parentNode.nodeType == goog.dom.NodeType.ELEMENT && String(c) in goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_) {
|
6709
6761
|
return a = a.parentNode, c = goog.style.getStyle_(a, "fontSize"), goog.style.getIePixelValue_(a, b == c ? "1em" : b, "left", "pixelLeft");
|
6710
6762
|
}
|
6711
6763
|
}
|
@@ -6907,15 +6959,15 @@ bot.userAgent.FIREFOX_EXTENSION = function() {
|
|
6907
6959
|
if (!a.classes) {
|
6908
6960
|
return !1;
|
6909
6961
|
}
|
6910
|
-
} catch (
|
6962
|
+
} catch (f) {
|
6911
6963
|
return !1;
|
6912
6964
|
}
|
6913
|
-
var
|
6965
|
+
var b = a.classes, a = a.interfaces, c = b["@mozilla.org/xpcom/version-comparator;1"].getService(a.nsIVersionComparator), b = b["@mozilla.org/xre/app-info;1"].getService(a.nsIXULAppInfo), d = b.platformVersion, e = b.version;
|
6914
6966
|
bot.userAgent.FIREFOX_EXTENSION_IS_ENGINE_VERSION_ = function(a) {
|
6915
|
-
return 0 <=
|
6967
|
+
return 0 <= c.compare(d, "" + a);
|
6916
6968
|
};
|
6917
6969
|
bot.userAgent.FIREFOX_EXTENSION_IS_PRODUCT_VERSION_ = function(a) {
|
6918
|
-
return 0 <=
|
6970
|
+
return 0 <= c.compare(e, "" + a);
|
6919
6971
|
};
|
6920
6972
|
return !0;
|
6921
6973
|
}();
|
@@ -6940,7 +6992,7 @@ bot.userAgent.WINDOWS_PHONE = goog.userAgent.IE && -1 != goog.userAgent.getUserA
|
|
6940
6992
|
goog.json = {};
|
6941
6993
|
goog.json.USE_NATIVE_JSON = !1;
|
6942
6994
|
goog.json.isValid = function(a) {
|
6943
|
-
return /^\s*$/.test(a) ? !1 : /^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g, "@").replace(/"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)
|
6995
|
+
return /^\s*$/.test(a) ? !1 : /^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g, "@").replace(/(?:"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)[\s\u2028\u2029]*(?=:|,|]|}|$)/g, "]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g, ""));
|
6944
6996
|
};
|
6945
6997
|
goog.json.parse = goog.json.USE_NATIVE_JSON ? goog.global.JSON.parse : function(a) {
|
6946
6998
|
a = String(a);
|