yellow-brick-road 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rst +10 -5
- data/lib/yellow-brick-road/directive_processor.rb +10 -3
- data/lib/yellow-brick-road/version.rb +1 -1
- data/test/dummy/app/assets/javascripts/closure-deps.js +3 -3
- data/test/dummy/log/development.log +159 -0
- data/test/dummy/tmp/cache/assets/C1E/0C0/sprockets%2F9c2f7430126aff8d8514326208712832 +165 -0
- data/test/dummy/tmp/cache/assets/C29/5D0/sprockets%2F1498f4451d0836a53c7c302c49920996 +0 -0
- data/test/dummy/tmp/cache/assets/C7E/9F0/sprockets%2F89862076204c62c4593ac20de32da909 +6 -6
- data/test/dummy/tmp/cache/assets/CB4/5B0/sprockets%2Ff17618b71eca9a4621f68626572a75b2 +103 -0
- data/test/dummy/tmp/cache/assets/CC2/240/sprockets%2F9f41da672330830c3366594f7ff5e7f6 +590 -0
- data/test/dummy/tmp/cache/assets/CC4/2C0/sprockets%2F715db78c7d974ea64406ed9711793f42 +494 -0
- data/test/dummy/tmp/cache/assets/CE1/610/sprockets%2F50c01109ecf86153176ccf577595fab4 +53 -0
- data/test/dummy/tmp/cache/assets/CE1/C20/sprockets%2F58a7b0499656c97a2204b5821eadab84 +207 -0
- data/test/dummy/tmp/cache/assets/CE4/DE0/sprockets%2Fb3aab0604ee02598f339965ec583a746 +204 -0
- data/test/dummy/tmp/cache/assets/CE9/B00/sprockets%2F80b139f66661444d6a781bfe56aee076 +0 -0
- data/test/dummy/tmp/cache/assets/CEB/840/sprockets%2F38fe57c2a5963f36a49404f672cc707b +0 -0
- data/test/dummy/tmp/cache/assets/CEC/6C0/sprockets%2F01b982295748dbd09683557aebd358bd +0 -0
- data/test/dummy/tmp/cache/assets/CF0/140/sprockets%2F3974b046fe949e86ef851a0271eb9d50 +1545 -0
- data/test/dummy/tmp/cache/assets/D01/DF0/sprockets%2F2ce268622b41a173bb209465a2ced6b9 +806 -0
- data/test/dummy/tmp/cache/assets/D05/920/sprockets%2F909507434dcc270db4853e4c147f0aac +4 -5
- data/test/dummy/tmp/cache/assets/D0A/C10/sprockets%2Fd050d5ee6a2073aa708a26c589a4c974 +283 -0
- data/test/dummy/tmp/cache/assets/D0F/360/sprockets%2Fa18927874a5e02c58c14c5b5df19ec04 +300 -0
- data/test/dummy/tmp/cache/assets/D15/700/sprockets%2F2987192f402d2bdc72792b5ae17f9a2f +142 -0
- data/test/dummy/tmp/cache/assets/D15/F60/sprockets%2Fa28394e3f80365b5bc86794dd46daa22 +0 -0
- data/test/dummy/tmp/cache/assets/D1F/E60/sprockets%2Fe65796b72231e36f5573ce71e2c8bbf8 +511 -0
- data/test/dummy/tmp/cache/assets/D22/200/sprockets%2F874bd1079c304ae88fbec8434d6d7794 +187 -0
- data/test/dummy/tmp/cache/assets/D3B/6A0/sprockets%2Ff8a978a3672b4f7ba513303b91ad15fc +127 -0
- data/test/dummy/tmp/cache/assets/D3C/530/sprockets%2Fe6730ff143273d9a7471b4afc3e1c19d +0 -0
- data/test/dummy/tmp/cache/assets/D41/B30/sprockets%2Fba1b93913dd01d83ac9a96df334456f8 +0 -0
- data/test/dummy/tmp/cache/assets/D49/570/sprockets%2Fd76be81d59871518ea06d3668f2c4bbb +239 -0
- data/test/dummy/tmp/cache/assets/D49/DA0/sprockets%2Fa84f85a305cde80a4d53785d7be0892f +457 -0
- data/test/dummy/tmp/cache/assets/D5C/760/sprockets%2F5cd491e0f9106cfd4ec4938896c97de7 +256 -0
- data/test/dummy/tmp/cache/assets/D5C/A00/sprockets%2Fefe291b3012745251e2641defbe4cad0 +1529 -0
- data/test/dummy/tmp/cache/assets/D68/2B0/sprockets%2Fe51ab0aca893e08c40f9672edef71106 +0 -0
- data/test/dummy/tmp/cache/assets/D6E/EA0/sprockets%2Fb52cbc47414c9e60ad4c46824928fbbe +115 -0
- data/test/dummy/tmp/cache/assets/D70/0B0/sprockets%2F1ae574bacfb86b4d51281b5e47fe1892 +505 -0
- data/test/dummy/tmp/cache/assets/D75/A60/sprockets%2Fab64285176f11f975fb6bb40af8bce76 +0 -0
- data/test/dummy/tmp/cache/assets/D76/0A0/sprockets%2F3ad3bd078c47096b34d5bcce886d7b47 +794 -0
- data/test/dummy/tmp/cache/assets/D79/C00/sprockets%2F94449fa386c370a1ebd7628eba9afe72 +72 -0
- data/test/dummy/tmp/cache/assets/D7B/310/sprockets%2Ff56e44be18b2d65efda80e588e5229a4 +0 -0
- data/test/dummy/tmp/cache/assets/D84/210/sprockets%2Fabd0103ccec2b428ac62c94e4c40b384 +7 -8
- data/test/dummy/tmp/cache/assets/D95/D20/sprockets%2F05b19351f203fb1eadf8ef1f0e6f9a60 +173 -0
- data/test/dummy/tmp/cache/assets/D9F/250/sprockets%2F40dcbb8f852f0e6360c4afb1f39964eb +0 -0
- data/test/dummy/tmp/cache/assets/DA8/0E0/sprockets%2F1351359f5bbdb94ef7d247df9af38bd1 +2556 -0
- data/test/dummy/tmp/cache/assets/DB3/070/sprockets%2Fd98f91680433cec456e6eb7485dcfdbc +522 -0
- data/test/dummy/tmp/cache/assets/DC4/6E0/sprockets%2F72117f09fccb98e6aac4cd1124edae42 +2539 -0
- data/test/dummy/tmp/cache/assets/DCC/D50/sprockets%2F9b2b027991c15af6f8afeacdd183c14e +1260 -0
- data/test/dummy/tmp/cache/assets/DD9/FF0/sprockets%2Fdf5dcfe86e199b272742a52a4b7e5fbd +823 -0
- data/test/dummy/tmp/cache/assets/DE7/0D0/sprockets%2Fe4d9fe29b6d96cdeb070d9b595af83d7 +1354 -0
- data/test/dummy/tmp/cache/assets/E00/3A0/sprockets%2Fc1db8cbfbc94bd2736f9f067a4c06cc7 +811 -0
- data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/E0C/C80/sprockets%2F55805edb5f27aaef88eef6632fd08ade +1277 -0
- data/test/dummy/tmp/cache/assets/E1B/CF0/sprockets%2Feb58b29b94f29d7da8d9fbe666e4a8dd +474 -0
- data/test/dummy/tmp/cache/assets/E1E/E00/sprockets%2Fb005d4fa3dc6cfc1c5098e0fdb3f6b2b +1371 -0
- data/test/dummy/tmp/cache/assets/E30/8E0/sprockets%2Fef4fdb83b3eefb027cbc8e19b274ec80 +607 -0
- metadata +96 -8
@@ -0,0 +1,522 @@
|
|
1
|
+
o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1325729947.469291:@value{I"
|
2
|
+
class:EFI"BundledAsset;
|
3
|
+
FI"id;
|
4
|
+
F"%099aae94c9cf86e9f0eb5329c58b9df5I"logical_path;
|
5
|
+
FI"(closure/goog/useragent/useragent.js;
|
6
|
+
TI"
|
7
|
+
F"�/Users/ali/.rvm/gems/ruby-1.9.3-p0/bundler/gems/closure-library-wrapper-031d1d0f0e50/vendor/closure-library/closure/goog/useragent/useragent.jsI"content_type;
|
8
|
+
FI"application/javascript;
|
9
|
+
FI"
|
10
|
+
mtime;
|
11
|
+
FI"2012-01-03T00:52:25+00:00;
|
12
|
+
FI" body;
|
13
|
+
FI"�7// Copyright 2006 The Closure Library Authors. All Rights Reserved.
|
14
|
+
//
|
15
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
16
|
+
// you may not use this file except in compliance with the License.
|
17
|
+
// You may obtain a copy of the License at
|
18
|
+
//
|
19
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
20
|
+
//
|
21
|
+
// Unless required by applicable law or agreed to in writing, software
|
22
|
+
// distributed under the License is distributed on an "AS-IS" BASIS,
|
23
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
24
|
+
// See the License for the specific language governing permissions and
|
25
|
+
// limitations under the License.
|
26
|
+
|
27
|
+
/**
|
28
|
+
* @fileoverview Rendering engine detection.
|
29
|
+
* @see <a href="http://www.useragentstring.com/">User agent strings</a>
|
30
|
+
* For information on the browser brand (such as Safari versus Chrome), see
|
31
|
+
* goog.userAgent.product.
|
32
|
+
* @see ../demos/useragent.html
|
33
|
+
*/
|
34
|
+
|
35
|
+
|
36
|
+
goog.provide('goog.userAgent');
|
37
|
+
|
38
|
+
goog.require('goog.string');
|
39
|
+
|
40
|
+
|
41
|
+
/**
|
42
|
+
* @define {boolean} Whether we know at compile-time that the browser is IE.
|
43
|
+
*/
|
44
|
+
goog.userAgent.ASSUME_IE = false;
|
45
|
+
|
46
|
+
|
47
|
+
/**
|
48
|
+
* @define {boolean} Whether we know at compile-time that the browser is GECKO.
|
49
|
+
*/
|
50
|
+
goog.userAgent.ASSUME_GECKO = false;
|
51
|
+
|
52
|
+
|
53
|
+
/**
|
54
|
+
* @define {boolean} Whether we know at compile-time that the browser is WEBKIT.
|
55
|
+
*/
|
56
|
+
goog.userAgent.ASSUME_WEBKIT = false;
|
57
|
+
|
58
|
+
|
59
|
+
/**
|
60
|
+
* @define {boolean} Whether we know at compile-time that the browser is a
|
61
|
+
* mobile device running WebKit e.g. iPhone or Android.
|
62
|
+
*/
|
63
|
+
goog.userAgent.ASSUME_MOBILE_WEBKIT = false;
|
64
|
+
|
65
|
+
|
66
|
+
/**
|
67
|
+
* @define {boolean} Whether we know at compile-time that the browser is OPERA.
|
68
|
+
*/
|
69
|
+
goog.userAgent.ASSUME_OPERA = false;
|
70
|
+
|
71
|
+
|
72
|
+
/**
|
73
|
+
* @define {boolean} Whether the {@code goog.userAgent.isVersion} function will
|
74
|
+
* return true for any version.
|
75
|
+
*/
|
76
|
+
goog.userAgent.ASSUME_ANY_VERSION = false;
|
77
|
+
|
78
|
+
|
79
|
+
/**
|
80
|
+
* Whether we know the browser engine at compile-time.
|
81
|
+
* @type {boolean}
|
82
|
+
* @private
|
83
|
+
*/
|
84
|
+
goog.userAgent.BROWSER_KNOWN_ =
|
85
|
+
goog.userAgent.ASSUME_IE ||
|
86
|
+
goog.userAgent.ASSUME_GECKO ||
|
87
|
+
goog.userAgent.ASSUME_MOBILE_WEBKIT ||
|
88
|
+
goog.userAgent.ASSUME_WEBKIT ||
|
89
|
+
goog.userAgent.ASSUME_OPERA;
|
90
|
+
|
91
|
+
|
92
|
+
/**
|
93
|
+
* Returns the userAgent string for the current browser.
|
94
|
+
* Some user agents (I'm thinking of you, Gears WorkerPool) do not expose a
|
95
|
+
* navigator object off the global scope. In that case we return null.
|
96
|
+
*
|
97
|
+
* @return {?string} The userAgent string or null if there is none.
|
98
|
+
*/
|
99
|
+
goog.userAgent.getUserAgentString = function() {
|
100
|
+
return goog.global['navigator'] ? goog.global['navigator'].userAgent : null;
|
101
|
+
};
|
102
|
+
|
103
|
+
|
104
|
+
/**
|
105
|
+
* @return {Object} The native navigator object.
|
106
|
+
*/
|
107
|
+
goog.userAgent.getNavigator = function() {
|
108
|
+
// Need a local navigator reference instead of using the global one,
|
109
|
+
// to avoid the rare case where they reference different objects.
|
110
|
+
// (goog.gears.FakeWorkerPool, for example).
|
111
|
+
return goog.global['navigator'];
|
112
|
+
};
|
113
|
+
|
114
|
+
|
115
|
+
/**
|
116
|
+
* Initializer for goog.userAgent.
|
117
|
+
*
|
118
|
+
* This is a named function so that it can be stripped via the jscompiler
|
119
|
+
* option for stripping types.
|
120
|
+
* @private
|
121
|
+
*/
|
122
|
+
goog.userAgent.init_ = function() {
|
123
|
+
/**
|
124
|
+
* Whether the user agent string denotes Opera.
|
125
|
+
* @type {boolean}
|
126
|
+
* @private
|
127
|
+
*/
|
128
|
+
goog.userAgent.detectedOpera_ = false;
|
129
|
+
|
130
|
+
/**
|
131
|
+
* Whether the user agent string denotes Internet Explorer. This includes
|
132
|
+
* other browsers using Trident as its rendering engine. For example AOL
|
133
|
+
* and Netscape 8
|
134
|
+
* @type {boolean}
|
135
|
+
* @private
|
136
|
+
*/
|
137
|
+
goog.userAgent.detectedIe_ = false;
|
138
|
+
|
139
|
+
/**
|
140
|
+
* Whether the user agent string denotes WebKit. WebKit is the rendering
|
141
|
+
* engine that Safari, Android and others use.
|
142
|
+
* @type {boolean}
|
143
|
+
* @private
|
144
|
+
*/
|
145
|
+
goog.userAgent.detectedWebkit_ = false;
|
146
|
+
|
147
|
+
/**
|
148
|
+
* Whether the user agent string denotes a mobile device.
|
149
|
+
* @type {boolean}
|
150
|
+
* @private
|
151
|
+
*/
|
152
|
+
goog.userAgent.detectedMobile_ = false;
|
153
|
+
|
154
|
+
/**
|
155
|
+
* Whether the user agent string denotes Gecko. Gecko is the rendering
|
156
|
+
* engine used by Mozilla, Mozilla Firefox, Camino and many more.
|
157
|
+
* @type {boolean}
|
158
|
+
* @private
|
159
|
+
*/
|
160
|
+
goog.userAgent.detectedGecko_ = false;
|
161
|
+
|
162
|
+
var ua;
|
163
|
+
if (!goog.userAgent.BROWSER_KNOWN_ &&
|
164
|
+
(ua = goog.userAgent.getUserAgentString())) {
|
165
|
+
var navigator = goog.userAgent.getNavigator();
|
166
|
+
goog.userAgent.detectedOpera_ = ua.indexOf('Opera') == 0;
|
167
|
+
goog.userAgent.detectedIe_ = !goog.userAgent.detectedOpera_ &&
|
168
|
+
ua.indexOf('MSIE') != -1;
|
169
|
+
goog.userAgent.detectedWebkit_ = !goog.userAgent.detectedOpera_ &&
|
170
|
+
ua.indexOf('WebKit') != -1;
|
171
|
+
// WebKit also gives navigator.product string equal to 'Gecko'.
|
172
|
+
goog.userAgent.detectedMobile_ = goog.userAgent.detectedWebkit_ &&
|
173
|
+
ua.indexOf('Mobile') != -1;
|
174
|
+
goog.userAgent.detectedGecko_ = !goog.userAgent.detectedOpera_ &&
|
175
|
+
!goog.userAgent.detectedWebkit_ && navigator.product == 'Gecko';
|
176
|
+
}
|
177
|
+
};
|
178
|
+
|
179
|
+
|
180
|
+
if (!goog.userAgent.BROWSER_KNOWN_) {
|
181
|
+
goog.userAgent.init_();
|
182
|
+
}
|
183
|
+
|
184
|
+
|
185
|
+
/**
|
186
|
+
* Whether the user agent is Opera.
|
187
|
+
* @type {boolean}
|
188
|
+
*/
|
189
|
+
goog.userAgent.OPERA = goog.userAgent.BROWSER_KNOWN_ ?
|
190
|
+
goog.userAgent.ASSUME_OPERA : goog.userAgent.detectedOpera_;
|
191
|
+
|
192
|
+
|
193
|
+
/**
|
194
|
+
* Whether the user agent is Internet Explorer. This includes other browsers
|
195
|
+
* using Trident as its rendering engine. For example AOL and Netscape 8
|
196
|
+
* @type {boolean}
|
197
|
+
*/
|
198
|
+
goog.userAgent.IE = goog.userAgent.BROWSER_KNOWN_ ?
|
199
|
+
goog.userAgent.ASSUME_IE : goog.userAgent.detectedIe_;
|
200
|
+
|
201
|
+
|
202
|
+
/**
|
203
|
+
* Whether the user agent is Gecko. Gecko is the rendering engine used by
|
204
|
+
* Mozilla, Mozilla Firefox, Camino and many more.
|
205
|
+
* @type {boolean}
|
206
|
+
*/
|
207
|
+
goog.userAgent.GECKO = goog.userAgent.BROWSER_KNOWN_ ?
|
208
|
+
goog.userAgent.ASSUME_GECKO :
|
209
|
+
goog.userAgent.detectedGecko_;
|
210
|
+
|
211
|
+
|
212
|
+
/**
|
213
|
+
* Whether the user agent is WebKit. WebKit is the rendering engine that
|
214
|
+
* Safari, Android and others use.
|
215
|
+
* @type {boolean}
|
216
|
+
*/
|
217
|
+
goog.userAgent.WEBKIT = goog.userAgent.BROWSER_KNOWN_ ?
|
218
|
+
goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_MOBILE_WEBKIT :
|
219
|
+
goog.userAgent.detectedWebkit_;
|
220
|
+
|
221
|
+
|
222
|
+
/**
|
223
|
+
* Whether the user agent is running on a mobile device.
|
224
|
+
* @type {boolean}
|
225
|
+
*/
|
226
|
+
goog.userAgent.MOBILE = goog.userAgent.ASSUME_MOBILE_WEBKIT ||
|
227
|
+
goog.userAgent.detectedMobile_;
|
228
|
+
|
229
|
+
|
230
|
+
/**
|
231
|
+
* Used while transitioning code to use WEBKIT instead.
|
232
|
+
* @type {boolean}
|
233
|
+
* @deprecated Use {@link goog.userAgent.product.SAFARI} instead.
|
234
|
+
* TODO(nicksantos): Delete this from goog.userAgent.
|
235
|
+
*/
|
236
|
+
goog.userAgent.SAFARI = goog.userAgent.WEBKIT;
|
237
|
+
|
238
|
+
|
239
|
+
/**
|
240
|
+
* @return {string} the platform (operating system) the user agent is running
|
241
|
+
* on. Default to empty string because navigator.platform may not be defined
|
242
|
+
* (on Rhino, for example).
|
243
|
+
* @private
|
244
|
+
*/
|
245
|
+
goog.userAgent.determinePlatform_ = function() {
|
246
|
+
var navigator = goog.userAgent.getNavigator();
|
247
|
+
return navigator && navigator.platform || '';
|
248
|
+
};
|
249
|
+
|
250
|
+
|
251
|
+
/**
|
252
|
+
* The platform (operating system) the user agent is running on. Default to
|
253
|
+
* empty string because navigator.platform may not be defined (on Rhino, for
|
254
|
+
* example).
|
255
|
+
* @type {string}
|
256
|
+
*/
|
257
|
+
goog.userAgent.PLATFORM = goog.userAgent.determinePlatform_();
|
258
|
+
|
259
|
+
|
260
|
+
/**
|
261
|
+
* @define {boolean} Whether the user agent is running on a Macintosh operating
|
262
|
+
* system.
|
263
|
+
*/
|
264
|
+
goog.userAgent.ASSUME_MAC = false;
|
265
|
+
|
266
|
+
|
267
|
+
/**
|
268
|
+
* @define {boolean} Whether the user agent is running on a Windows operating
|
269
|
+
* system.
|
270
|
+
*/
|
271
|
+
goog.userAgent.ASSUME_WINDOWS = false;
|
272
|
+
|
273
|
+
|
274
|
+
/**
|
275
|
+
* @define {boolean} Whether the user agent is running on a Linux operating
|
276
|
+
* system.
|
277
|
+
*/
|
278
|
+
goog.userAgent.ASSUME_LINUX = false;
|
279
|
+
|
280
|
+
|
281
|
+
/**
|
282
|
+
* @define {boolean} Whether the user agent is running on a X11 windowing
|
283
|
+
* system.
|
284
|
+
*/
|
285
|
+
goog.userAgent.ASSUME_X11 = false;
|
286
|
+
|
287
|
+
|
288
|
+
/**
|
289
|
+
* @type {boolean}
|
290
|
+
* @private
|
291
|
+
*/
|
292
|
+
goog.userAgent.PLATFORM_KNOWN_ =
|
293
|
+
goog.userAgent.ASSUME_MAC ||
|
294
|
+
goog.userAgent.ASSUME_WINDOWS ||
|
295
|
+
goog.userAgent.ASSUME_LINUX ||
|
296
|
+
goog.userAgent.ASSUME_X11;
|
297
|
+
|
298
|
+
|
299
|
+
/**
|
300
|
+
* Initialize the goog.userAgent constants that define which platform the user
|
301
|
+
* agent is running on.
|
302
|
+
* @private
|
303
|
+
*/
|
304
|
+
goog.userAgent.initPlatform_ = function() {
|
305
|
+
/**
|
306
|
+
* Whether the user agent is running on a Macintosh operating system.
|
307
|
+
* @type {boolean}
|
308
|
+
* @private
|
309
|
+
*/
|
310
|
+
goog.userAgent.detectedMac_ = goog.string.contains(goog.userAgent.PLATFORM,
|
311
|
+
'Mac');
|
312
|
+
|
313
|
+
/**
|
314
|
+
* Whether the user agent is running on a Windows operating system.
|
315
|
+
* @type {boolean}
|
316
|
+
* @private
|
317
|
+
*/
|
318
|
+
goog.userAgent.detectedWindows_ = goog.string.contains(
|
319
|
+
goog.userAgent.PLATFORM, 'Win');
|
320
|
+
|
321
|
+
/**
|
322
|
+
* Whether the user agent is running on a Linux operating system.
|
323
|
+
* @type {boolean}
|
324
|
+
* @private
|
325
|
+
*/
|
326
|
+
goog.userAgent.detectedLinux_ = goog.string.contains(goog.userAgent.PLATFORM,
|
327
|
+
'Linux');
|
328
|
+
|
329
|
+
/**
|
330
|
+
* Whether the user agent is running on a X11 windowing system.
|
331
|
+
* @type {boolean}
|
332
|
+
* @private
|
333
|
+
*/
|
334
|
+
goog.userAgent.detectedX11_ = !!goog.userAgent.getNavigator() &&
|
335
|
+
goog.string.contains(goog.userAgent.getNavigator()['appVersion'] || '',
|
336
|
+
'X11');
|
337
|
+
};
|
338
|
+
|
339
|
+
|
340
|
+
if (!goog.userAgent.PLATFORM_KNOWN_) {
|
341
|
+
goog.userAgent.initPlatform_();
|
342
|
+
}
|
343
|
+
|
344
|
+
|
345
|
+
/**
|
346
|
+
* Whether the user agent is running on a Macintosh operating system.
|
347
|
+
* @type {boolean}
|
348
|
+
*/
|
349
|
+
goog.userAgent.MAC = goog.userAgent.PLATFORM_KNOWN_ ?
|
350
|
+
goog.userAgent.ASSUME_MAC : goog.userAgent.detectedMac_;
|
351
|
+
|
352
|
+
|
353
|
+
/**
|
354
|
+
* Whether the user agent is running on a Windows operating system.
|
355
|
+
* @type {boolean}
|
356
|
+
*/
|
357
|
+
goog.userAgent.WINDOWS = goog.userAgent.PLATFORM_KNOWN_ ?
|
358
|
+
goog.userAgent.ASSUME_WINDOWS : goog.userAgent.detectedWindows_;
|
359
|
+
|
360
|
+
|
361
|
+
/**
|
362
|
+
* Whether the user agent is running on a Linux operating system.
|
363
|
+
* @type {boolean}
|
364
|
+
*/
|
365
|
+
goog.userAgent.LINUX = goog.userAgent.PLATFORM_KNOWN_ ?
|
366
|
+
goog.userAgent.ASSUME_LINUX : goog.userAgent.detectedLinux_;
|
367
|
+
|
368
|
+
|
369
|
+
/**
|
370
|
+
* Whether the user agent is running on a X11 windowing system.
|
371
|
+
* @type {boolean}
|
372
|
+
*/
|
373
|
+
goog.userAgent.X11 = goog.userAgent.PLATFORM_KNOWN_ ?
|
374
|
+
goog.userAgent.ASSUME_X11 : goog.userAgent.detectedX11_;
|
375
|
+
|
376
|
+
|
377
|
+
/**
|
378
|
+
* @return {string} The string that describes the version number of the user
|
379
|
+
* agent.
|
380
|
+
* @private
|
381
|
+
*/
|
382
|
+
goog.userAgent.determineVersion_ = function() {
|
383
|
+
// All browsers have different ways to detect the version and they all have
|
384
|
+
// different naming schemes.
|
385
|
+
|
386
|
+
// version is a string rather than a number because it may contain 'b', 'a',
|
387
|
+
// and so on.
|
388
|
+
var version = '', re;
|
389
|
+
|
390
|
+
if (goog.userAgent.OPERA && goog.global['opera']) {
|
391
|
+
var operaVersion = goog.global['opera'].version;
|
392
|
+
version = typeof operaVersion == 'function' ? operaVersion() : operaVersion;
|
393
|
+
} else {
|
394
|
+
if (goog.userAgent.GECKO) {
|
395
|
+
re = /rv\:([^\);]+)(\)|;)/;
|
396
|
+
} else if (goog.userAgent.IE) {
|
397
|
+
re = /MSIE\s+([^\);]+)(\)|;)/;
|
398
|
+
} else if (goog.userAgent.WEBKIT) {
|
399
|
+
// WebKit/125.4
|
400
|
+
re = /WebKit\/(\S+)/;
|
401
|
+
}
|
402
|
+
if (re) {
|
403
|
+
var arr = re.exec(goog.userAgent.getUserAgentString());
|
404
|
+
version = arr ? arr[1] : '';
|
405
|
+
}
|
406
|
+
}
|
407
|
+
if (goog.userAgent.IE) {
|
408
|
+
// IE9 can be in document mode 9 but be reporting an inconsistent user agent
|
409
|
+
// version. If it is identifying as a version lower than 9 we take the
|
410
|
+
// documentMode as the version instead. IE8 has similar behavior.
|
411
|
+
// It is recommended to set the X-UA-Compatible header to ensure that IE9
|
412
|
+
// uses documentMode 9.
|
413
|
+
var docMode = goog.userAgent.getDocumentMode_();
|
414
|
+
if (docMode > parseFloat(version)) {
|
415
|
+
return String(docMode);
|
416
|
+
}
|
417
|
+
}
|
418
|
+
return version;
|
419
|
+
};
|
420
|
+
|
421
|
+
|
422
|
+
/**
|
423
|
+
* @return {number|undefined} Returns the document mode (for testing).
|
424
|
+
* @private
|
425
|
+
*/
|
426
|
+
goog.userAgent.getDocumentMode_ = function() {
|
427
|
+
// NOTE(user): goog.userAgent may be used in context where there is no DOM.
|
428
|
+
var doc = goog.global['document'];
|
429
|
+
return doc ? doc['documentMode'] : undefined;
|
430
|
+
};
|
431
|
+
|
432
|
+
|
433
|
+
/**
|
434
|
+
* The version of the user agent. This is a string because it might contain
|
435
|
+
* 'b' (as in beta) as well as multiple dots.
|
436
|
+
* @type {string}
|
437
|
+
*/
|
438
|
+
goog.userAgent.VERSION = goog.userAgent.determineVersion_();
|
439
|
+
|
440
|
+
|
441
|
+
/**
|
442
|
+
* Compares two version numbers.
|
443
|
+
*
|
444
|
+
* @param {string} v1 Version of first item.
|
445
|
+
* @param {string} v2 Version of second item.
|
446
|
+
*
|
447
|
+
* @return {number} 1 if first argument is higher
|
448
|
+
* 0 if arguments are equal
|
449
|
+
* -1 if second argument is higher.
|
450
|
+
* @deprecated Use goog.string.compareVersions.
|
451
|
+
*/
|
452
|
+
goog.userAgent.compare = function(v1, v2) {
|
453
|
+
return goog.string.compareVersions(v1, v2);
|
454
|
+
};
|
455
|
+
|
456
|
+
|
457
|
+
/**
|
458
|
+
* Cache for {@link goog.userAgent.isVersion}. Calls to compareVersions are
|
459
|
+
* surprisingly expensive and as a browsers version number is unlikely to change
|
460
|
+
* during a session we cache the results.
|
461
|
+
* @type {Object}
|
462
|
+
* @private
|
463
|
+
*/
|
464
|
+
goog.userAgent.isVersionCache_ = {};
|
465
|
+
|
466
|
+
|
467
|
+
/**
|
468
|
+
* Whether the user agent version is higher or the same as the given version.
|
469
|
+
* NOTE: When checking the version numbers for Firefox and Safari, be sure to
|
470
|
+
* use the engine's version, not the browser's version number. For example,
|
471
|
+
* Firefox 3.0 corresponds to Gecko 1.9 and Safari 3.0 to Webkit 522.11.
|
472
|
+
* Opera and Internet Explorer versions match the product release number.<br>
|
473
|
+
* @see <a href="http://en.wikipedia.org/wiki/Safari_version_history">
|
474
|
+
* Webkit</a>
|
475
|
+
* @see <a href="http://en.wikipedia.org/wiki/Gecko_engine">Gecko</a>
|
476
|
+
*
|
477
|
+
* @param {string|number} version The version to check.
|
478
|
+
* @return {boolean} Whether the user agent version is higher or the same as
|
479
|
+
* the given version.
|
480
|
+
*/
|
481
|
+
goog.userAgent.isVersion = function(version) {
|
482
|
+
return goog.userAgent.ASSUME_ANY_VERSION ||
|
483
|
+
goog.userAgent.isVersionCache_[version] ||
|
484
|
+
(goog.userAgent.isVersionCache_[version] =
|
485
|
+
goog.string.compareVersions(goog.userAgent.VERSION, version) >= 0);
|
486
|
+
};
|
487
|
+
|
488
|
+
|
489
|
+
/**
|
490
|
+
* Cache for {@link goog.userAgent.isDocumentMode}.
|
491
|
+
* Browsers document mode version number is unlikely to change during a session
|
492
|
+
* we cache the results.
|
493
|
+
* @type {Object}
|
494
|
+
* @private
|
495
|
+
*/
|
496
|
+
goog.userAgent.isDocumentModeCache_ = {};
|
497
|
+
|
498
|
+
|
499
|
+
/**
|
500
|
+
* Whether the IE effective document mode is higher or the same as the given
|
501
|
+
* document mode version.
|
502
|
+
* NOTE: Only for IE, return false for another browser.
|
503
|
+
*
|
504
|
+
* @param {number} documentMode The document mode version to check.
|
505
|
+
* @return {boolean} Whether the IE effective document mode is higher or the
|
506
|
+
* same as the given version.
|
507
|
+
*/
|
508
|
+
goog.userAgent.isDocumentMode = function(documentMode) {
|
509
|
+
return goog.userAgent.isDocumentModeCache_[documentMode] ||
|
510
|
+
(goog.userAgent.isDocumentModeCache_[documentMode] = goog.userAgent.IE &&
|
511
|
+
document.documentMode && document.documentMode >= documentMode);
|
512
|
+
};
|
513
|
+
;
|
514
|
+
FI"asset_paths;
|
515
|
+
F["�/Users/ali/.rvm/gems/ruby-1.9.3-p0/bundler/gems/closure-library-wrapper-031d1d0f0e50/vendor/closure-library/closure/goog/useragent/useragent.jsI"dependency_paths;
|
516
|
+
F[{I" path;
|
517
|
+
F"�/Users/ali/.rvm/gems/ruby-1.9.3-p0/bundler/gems/closure-library-wrapper-031d1d0f0e50/vendor/closure-library/closure/goog/useragent/useragent.jsI"
|
518
|
+
mtime;
|
519
|
+
FIu: Time
|
520
|
+
T:offsetiI"hexdigest;
|
521
|
+
F"%67002ca627b13d53a29ae954ab1f617dI"
|
522
|
+
F"%46dde6621c301f4928e3b34efee9e3b5
|