webfontloader 1.1.2 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +6 -0
- data/README.md +13 -2
- data/docs/MODULES.md +15 -2
- data/lib/webfontloader.rb +1 -1
- data/src/ascender/ascender_script.js +1 -1
- data/src/core/browserinfo.js +23 -0
- data/src/core/font.js +4 -4
- data/src/core/fontruler.js +61 -0
- data/src/core/fontwatcher.js +7 -4
- data/src/core/fontwatchrunner.js +144 -92
- data/src/core/initialize.js +3 -1
- data/src/core/size.js +19 -0
- data/src/core/useragent.js +6 -6
- data/src/core/useragentparser.js +62 -59
- data/src/custom/customcss.js +21 -4
- data/src/google/googlefontapi.js +1 -1
- data/src/google/lastresortwebkitfontwatchrunner.js +26 -22
- data/src/modules.yml +3 -0
- data/src/monotype/monotype_script.js +1 -1
- data/src-test/core/fonttest.js +6 -4
- data/src-test/core/fontwatchertest.js +47 -11
- data/src-test/core/fontwatchrunnertest.js +289 -74
- data/src-test/core/useragenttest.js +65 -45
- data/src-test/custom/customcsstest.js +7 -2
- data/src-test/google/lastresortwebkitfontwatchrunnertest.js +23 -23
- data/src-test/monotype/monotype_script_test.js +5 -5
- data/webfontloader.gemspec +5 -2
- metadata +16 -13
@@ -17,7 +17,7 @@ UserAgentTest.prototype.testBrowserIsAir = function() {
|
|
17
17
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
18
18
|
assertEquals("531.9", userAgent.getEngineVersion());
|
19
19
|
assertEquals(undefined, userAgent.getDocumentMode());
|
20
|
-
assertTrue(userAgent.
|
20
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
21
21
|
};
|
22
22
|
|
23
23
|
UserAgentTest.prototype.testBrowserIsUnsupportedAir = function() {
|
@@ -33,7 +33,7 @@ UserAgentTest.prototype.testBrowserIsUnsupportedAir = function() {
|
|
33
33
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
34
34
|
assertEquals("531.9", userAgent.getEngineVersion());
|
35
35
|
assertEquals(undefined, userAgent.getDocumentMode());
|
36
|
-
assertFalse(userAgent.
|
36
|
+
assertFalse(userAgent.getBrowserInfo().hasWebFontSupport());
|
37
37
|
};
|
38
38
|
|
39
39
|
UserAgentTest.prototype.testBrowserIsFirefox = function() {
|
@@ -49,7 +49,7 @@ UserAgentTest.prototype.testBrowserIsFirefox = function() {
|
|
49
49
|
assertEquals("Gecko", userAgent.getEngine());
|
50
50
|
assertEquals("1.9.2.3", userAgent.getEngineVersion());
|
51
51
|
assertEquals(undefined, userAgent.getDocumentMode());
|
52
|
-
assertTrue(userAgent.
|
52
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
53
53
|
};
|
54
54
|
|
55
55
|
UserAgentTest.prototype.testBrowserIsFirefox4beta = function() {
|
@@ -65,7 +65,7 @@ UserAgentTest.prototype.testBrowserIsFirefox4beta = function() {
|
|
65
65
|
assertEquals("Gecko", userAgent.getEngine());
|
66
66
|
assertEquals("2.0b1", userAgent.getEngineVersion());
|
67
67
|
assertEquals(undefined, userAgent.getDocumentMode());
|
68
|
-
assertTrue(userAgent.
|
68
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
69
69
|
};
|
70
70
|
|
71
71
|
UserAgentTest.prototype.testBrowserIsChrome = function() {
|
@@ -81,7 +81,7 @@ UserAgentTest.prototype.testBrowserIsChrome = function() {
|
|
81
81
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
82
82
|
assertEquals("533.2", userAgent.getEngineVersion());
|
83
83
|
assertEquals(undefined, userAgent.getDocumentMode());
|
84
|
-
assertTrue(userAgent.
|
84
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
85
85
|
};
|
86
86
|
|
87
87
|
UserAgentTest.prototype.testBrowserIsChromeOS = function() {
|
@@ -97,7 +97,7 @@ UserAgentTest.prototype.testBrowserIsChromeOS = function() {
|
|
97
97
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
98
98
|
assertEquals("535.19", userAgent.getEngineVersion());
|
99
99
|
assertEquals(undefined, userAgent.getDocumentMode());
|
100
|
-
assertTrue(userAgent.
|
100
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
101
101
|
};
|
102
102
|
|
103
103
|
UserAgentTest.prototype.testBrowserIsSafari = function() {
|
@@ -113,7 +113,7 @@ UserAgentTest.prototype.testBrowserIsSafari = function() {
|
|
113
113
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
114
114
|
assertEquals("531.21.8", userAgent.getEngineVersion());
|
115
115
|
assertEquals(undefined, userAgent.getDocumentMode());
|
116
|
-
assertTrue(userAgent.
|
116
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
117
117
|
};
|
118
118
|
|
119
119
|
UserAgentTest.prototype.testBrowserIsIE = function() {
|
@@ -129,7 +129,7 @@ UserAgentTest.prototype.testBrowserIsIE = function() {
|
|
129
129
|
assertEquals("MSIE", userAgent.getEngine());
|
130
130
|
assertEquals("7.0", userAgent.getEngineVersion());
|
131
131
|
assertEquals(undefined, userAgent.getDocumentMode());
|
132
|
-
assertTrue(userAgent.
|
132
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
133
133
|
};
|
134
134
|
|
135
135
|
UserAgentTest.prototype.testBrowserIsIEMinimal = function() {
|
@@ -145,7 +145,7 @@ UserAgentTest.prototype.testBrowserIsIEMinimal = function() {
|
|
145
145
|
assertEquals("MSIE", userAgent.getEngine());
|
146
146
|
assertEquals("7.0", userAgent.getEngineVersion());
|
147
147
|
assertEquals(undefined, userAgent.getDocumentMode());
|
148
|
-
assertTrue(userAgent.
|
148
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
149
149
|
};
|
150
150
|
|
151
151
|
UserAgentTest.prototype.testBrowserIsIEOnWindowsPhone = function() {
|
@@ -161,7 +161,7 @@ UserAgentTest.prototype.testBrowserIsIEOnWindowsPhone = function() {
|
|
161
161
|
assertEquals("MSIE", userAgent.getEngine());
|
162
162
|
assertEquals("10.0", userAgent.getEngineVersion());
|
163
163
|
assertEquals(undefined, userAgent.getDocumentMode());
|
164
|
-
assertTrue(userAgent.
|
164
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
165
165
|
};
|
166
166
|
|
167
167
|
UserAgentTest.prototype.testBrowserIsIEOnOldWindowsPhone = function() {
|
@@ -177,7 +177,7 @@ UserAgentTest.prototype.testBrowserIsIEOnOldWindowsPhone = function() {
|
|
177
177
|
assertEquals("MSIE", userAgent.getEngine());
|
178
178
|
assertEquals("9.0", userAgent.getEngineVersion());
|
179
179
|
assertEquals(undefined, userAgent.getDocumentMode());
|
180
|
-
assertFalse(userAgent.
|
180
|
+
assertFalse(userAgent.getBrowserInfo().hasWebFontSupport());
|
181
181
|
};
|
182
182
|
|
183
183
|
UserAgentTest.prototype.testBrowserIsIPhone = function() {
|
@@ -193,7 +193,7 @@ UserAgentTest.prototype.testBrowserIsIPhone = function() {
|
|
193
193
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
194
194
|
assertEquals("528.18", userAgent.getEngineVersion());
|
195
195
|
assertEquals(undefined, userAgent.getDocumentMode());
|
196
|
-
assertTrue(userAgent.
|
196
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
197
197
|
};
|
198
198
|
|
199
199
|
UserAgentTest.prototype.testBrowserIsAndroid = function() {
|
@@ -209,7 +209,7 @@ UserAgentTest.prototype.testBrowserIsAndroid = function() {
|
|
209
209
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
210
210
|
assertEquals("533.1", userAgent.getEngineVersion());
|
211
211
|
assertEquals(undefined, userAgent.getDocumentMode());
|
212
|
-
assertTrue(userAgent.
|
212
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
213
213
|
};
|
214
214
|
|
215
215
|
UserAgentTest.prototype.testBrowserIsOldUnsupportedAndroid = function() {
|
@@ -225,7 +225,7 @@ UserAgentTest.prototype.testBrowserIsOldUnsupportedAndroid = function() {
|
|
225
225
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
226
226
|
assertEquals("530.17", userAgent.getEngineVersion());
|
227
227
|
assertEquals(undefined, userAgent.getDocumentMode());
|
228
|
-
assertFalse(userAgent.
|
228
|
+
assertFalse(userAgent.getBrowserInfo().hasWebFontSupport());
|
229
229
|
};
|
230
230
|
|
231
231
|
UserAgentTest.prototype.testBrowserIsAndroidChromeMobile = function() {
|
@@ -241,7 +241,7 @@ UserAgentTest.prototype.testBrowserIsAndroidChromeMobile = function() {
|
|
241
241
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
242
242
|
assertEquals("535.7", userAgent.getEngineVersion());
|
243
243
|
assertEquals(undefined, userAgent.getDocumentMode());
|
244
|
-
assertTrue(userAgent.
|
244
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
245
245
|
};
|
246
246
|
|
247
247
|
UserAgentTest.prototype.testBrowserIsAndroidFirefox = function() {
|
@@ -259,7 +259,7 @@ UserAgentTest.prototype.testBrowserIsAndroidFirefox = function() {
|
|
259
259
|
assertEquals("Gecko", userAgent.getEngine());
|
260
260
|
assertEquals("13.0", userAgent.getEngineVersion());
|
261
261
|
assertEquals(undefined, userAgent.getDocumentMode());
|
262
|
-
assertTrue(userAgent.
|
262
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
263
263
|
}
|
264
264
|
|
265
265
|
UserAgentTest.prototype.testBrowserIsFirefoxLettersVersion = function() {
|
@@ -275,7 +275,7 @@ UserAgentTest.prototype.testBrowserIsFirefoxLettersVersion = function() {
|
|
275
275
|
assertEquals("Gecko", userAgent.getEngine());
|
276
276
|
assertEquals("1.9.2a1pre", userAgent.getEngineVersion());
|
277
277
|
assertEquals(undefined, userAgent.getDocumentMode());
|
278
|
-
assertTrue(userAgent.
|
278
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
279
279
|
};
|
280
280
|
|
281
281
|
UserAgentTest.prototype.testBrowserIsFirefoxNoVersion = function() {
|
@@ -291,7 +291,7 @@ UserAgentTest.prototype.testBrowserIsFirefoxNoVersion = function() {
|
|
291
291
|
assertEquals("Gecko", userAgent.getEngine());
|
292
292
|
assertEquals("1.8.1.19", userAgent.getEngineVersion());
|
293
293
|
assertEquals(undefined, userAgent.getDocumentMode());
|
294
|
-
assertFalse(userAgent.
|
294
|
+
assertFalse(userAgent.getBrowserInfo().hasWebFontSupport());
|
295
295
|
};
|
296
296
|
|
297
297
|
UserAgentTest.prototype.testBrowserIsIELetterVersion = function() {
|
@@ -307,7 +307,7 @@ UserAgentTest.prototype.testBrowserIsIELetterVersion = function() {
|
|
307
307
|
assertEquals("MSIE", userAgent.getEngine());
|
308
308
|
assertEquals("7.0b", userAgent.getEngineVersion());
|
309
309
|
assertEquals(undefined, userAgent.getDocumentMode());
|
310
|
-
assertTrue(userAgent.
|
310
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
311
311
|
};
|
312
312
|
|
313
313
|
UserAgentTest.prototype.testBrowserIsOpera = function() {
|
@@ -323,7 +323,7 @@ UserAgentTest.prototype.testBrowserIsOpera = function() {
|
|
323
323
|
assertEquals("Presto", userAgent.getEngine());
|
324
324
|
assertEquals("2.5.22", userAgent.getEngineVersion());
|
325
325
|
assertEquals(undefined, userAgent.getDocumentMode());
|
326
|
-
assertTrue(userAgent.
|
326
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
327
327
|
};
|
328
328
|
|
329
329
|
UserAgentTest.prototype.testBrowserIsOperaFirefoxInUAString = function() {
|
@@ -339,7 +339,7 @@ UserAgentTest.prototype.testBrowserIsOperaFirefoxInUAString = function() {
|
|
339
339
|
assertEquals("Gecko", userAgent.getEngine());
|
340
340
|
assertEquals("1.8.1", userAgent.getEngineVersion());
|
341
341
|
assertEquals(undefined, userAgent.getDocumentMode());
|
342
|
-
assertFalse(userAgent.
|
342
|
+
assertFalse(userAgent.getBrowserInfo().hasWebFontSupport());
|
343
343
|
};
|
344
344
|
|
345
345
|
UserAgentTest.prototype.testBrowserIsOperaBeforeVersion10 = function() {
|
@@ -355,7 +355,7 @@ UserAgentTest.prototype.testBrowserIsOperaBeforeVersion10 = function() {
|
|
355
355
|
assertEquals("Presto", userAgent.getEngine());
|
356
356
|
assertEquals("2.1.1", userAgent.getEngineVersion());
|
357
357
|
assertEquals(undefined, userAgent.getDocumentMode());
|
358
|
-
assertFalse(userAgent.
|
358
|
+
assertFalse(userAgent.getBrowserInfo().hasWebFontSupport());
|
359
359
|
};
|
360
360
|
|
361
361
|
UserAgentTest.prototype.testBrowserIsOperaMobileAndroid = function() {
|
@@ -374,7 +374,7 @@ UserAgentTest.prototype.testBrowserIsOperaMobileAndroid = function() {
|
|
374
374
|
assertEquals("Presto", userAgent.getEngine());
|
375
375
|
assertEquals("2.10.254", userAgent.getEngineVersion());
|
376
376
|
assertEquals(undefined, userAgent.getDocumentMode());
|
377
|
-
assertTrue(userAgent.
|
377
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
378
378
|
};
|
379
379
|
|
380
380
|
UserAgentTest.prototype.testBrowserIsOperaMiniAndroid = function() {
|
@@ -394,7 +394,7 @@ UserAgentTest.prototype.testBrowserIsOperaMiniAndroid = function() {
|
|
394
394
|
assertEquals("Presto", userAgent.getEngine());
|
395
395
|
assertEquals("2.8.119", userAgent.getEngineVersion());
|
396
396
|
assertEquals(undefined, userAgent.getDocumentMode());
|
397
|
-
assertFalse(userAgent.
|
397
|
+
assertFalse(userAgent.getBrowserInfo().hasWebFontSupport());
|
398
398
|
}
|
399
399
|
|
400
400
|
UserAgentTest.prototype.testBrowserIsIEOnMac = function() {
|
@@ -410,7 +410,7 @@ UserAgentTest.prototype.testBrowserIsIEOnMac = function() {
|
|
410
410
|
assertEquals("MSIE", userAgent.getEngine());
|
411
411
|
assertEquals("5.23", userAgent.getEngineVersion());
|
412
412
|
assertEquals(undefined, userAgent.getDocumentMode());
|
413
|
-
assertFalse(userAgent.
|
413
|
+
assertFalse(userAgent.getBrowserInfo().hasWebFontSupport());
|
414
414
|
};
|
415
415
|
|
416
416
|
UserAgentTest.prototype.testBrowserIsIPad = function() {
|
@@ -426,7 +426,7 @@ UserAgentTest.prototype.testBrowserIsIPad = function() {
|
|
426
426
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
427
427
|
assertEquals("531.21.10", userAgent.getEngineVersion());
|
428
428
|
assertEquals(undefined, userAgent.getDocumentMode());
|
429
|
-
assertTrue(userAgent.
|
429
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
430
430
|
};
|
431
431
|
|
432
432
|
UserAgentTest.prototype.testBrowserIsIPadAlt = function() {
|
@@ -442,7 +442,7 @@ UserAgentTest.prototype.testBrowserIsIPadAlt = function() {
|
|
442
442
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
443
443
|
assertEquals("531.21.10", userAgent.getEngineVersion());
|
444
444
|
assertEquals(undefined, userAgent.getDocumentMode());
|
445
|
-
assertTrue(userAgent.
|
445
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
446
446
|
};
|
447
447
|
|
448
448
|
UserAgentTest.prototype.testBrowserIsIPadWithoutIPhone = function() {
|
@@ -458,7 +458,7 @@ UserAgentTest.prototype.testBrowserIsIPadWithoutIPhone = function() {
|
|
458
458
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
459
459
|
assertEquals("531.21.10", userAgent.getEngineVersion());
|
460
460
|
assertEquals(undefined, userAgent.getDocumentMode());
|
461
|
-
assertTrue(userAgent.
|
461
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
462
462
|
};
|
463
463
|
|
464
464
|
UserAgentTest.prototype.testBrowserIsIPadChrome = function() {
|
@@ -474,7 +474,7 @@ UserAgentTest.prototype.testBrowserIsIPadChrome = function() {
|
|
474
474
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
475
475
|
assertEquals("534.46.0", userAgent.getEngineVersion());
|
476
476
|
assertEquals(undefined, userAgent.getDocumentMode());
|
477
|
-
assertTrue(userAgent.
|
477
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
478
478
|
}
|
479
479
|
|
480
480
|
UserAgentTest.prototype.testBrowserIsIPod = function() {
|
@@ -490,7 +490,7 @@ UserAgentTest.prototype.testBrowserIsIPod = function() {
|
|
490
490
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
491
491
|
assertEquals("525.18.1", userAgent.getEngineVersion());
|
492
492
|
assertEquals(undefined, userAgent.getDocumentMode());
|
493
|
-
assertTrue(userAgent.
|
493
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
494
494
|
};
|
495
495
|
|
496
496
|
UserAgentTest.prototype.testBrowserIsIPodSafari = function() {
|
@@ -506,7 +506,7 @@ UserAgentTest.prototype.testBrowserIsIPodSafari = function() {
|
|
506
506
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
507
507
|
assertEquals("528.18", userAgent.getEngineVersion());
|
508
508
|
assertEquals(undefined, userAgent.getDocumentMode());
|
509
|
-
assertTrue(userAgent.
|
509
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
510
510
|
};
|
511
511
|
|
512
512
|
UserAgentTest.prototype.testBrowserIsIPodChrome = function() {
|
@@ -522,7 +522,7 @@ UserAgentTest.prototype.testBrowserIsIPodChrome = function() {
|
|
522
522
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
523
523
|
assertEquals("534.46.0", userAgent.getEngineVersion());
|
524
524
|
assertEquals(undefined, userAgent.getDocumentMode());
|
525
|
-
assertTrue(userAgent.
|
525
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
526
526
|
}
|
527
527
|
|
528
528
|
UserAgentTest.prototype.testBrowserIsSafariWithPlusVersion = function() {
|
@@ -538,7 +538,7 @@ UserAgentTest.prototype.testBrowserIsSafariWithPlusVersion = function() {
|
|
538
538
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
539
539
|
assertEquals("528.4+", userAgent.getEngineVersion());
|
540
540
|
assertEquals(undefined, userAgent.getDocumentMode());
|
541
|
-
assertTrue(userAgent.
|
541
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
542
542
|
};
|
543
543
|
|
544
544
|
UserAgentTest.prototype.testBrowserIsIEWithTridentVersion = function() {
|
@@ -554,7 +554,7 @@ UserAgentTest.prototype.testBrowserIsIEWithTridentVersion = function() {
|
|
554
554
|
assertEquals("MSIE", userAgent.getEngine());
|
555
555
|
assertEquals("8.0", userAgent.getEngineVersion());
|
556
556
|
assertEquals(8, userAgent.getDocumentMode());
|
557
|
-
assertTrue(userAgent.
|
557
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
558
558
|
};
|
559
559
|
|
560
560
|
// Invented user agent strings
|
@@ -571,7 +571,7 @@ UserAgentTest.prototype.testBrowserGeckoShouldSupportWebFont = function() {
|
|
571
571
|
assertEquals("Gecko", userAgent.getEngine());
|
572
572
|
assertEquals("1.9.1.4", userAgent.getEngineVersion());
|
573
573
|
assertEquals(undefined, userAgent.getDocumentMode());
|
574
|
-
assertTrue(userAgent.
|
574
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
575
575
|
};
|
576
576
|
|
577
577
|
UserAgentTest.prototype.testBrowserGeckoNotExistingVersionShouldSupportWebFont = function() {
|
@@ -587,7 +587,7 @@ UserAgentTest.prototype.testBrowserGeckoNotExistingVersionShouldSupportWebFont =
|
|
587
587
|
assertEquals("Gecko", userAgent.getEngine());
|
588
588
|
assertEquals("2.5.8", userAgent.getEngineVersion());
|
589
589
|
assertEquals(undefined, userAgent.getDocumentMode());
|
590
|
-
assertTrue(userAgent.
|
590
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
591
591
|
};
|
592
592
|
|
593
593
|
UserAgentTest.prototype.testBrowserGeckoVer110ShouldSupportWebFont = function() {
|
@@ -603,7 +603,7 @@ UserAgentTest.prototype.testBrowserGeckoVer110ShouldSupportWebFont = function()
|
|
603
603
|
assertEquals("Gecko", userAgent.getEngine());
|
604
604
|
assertEquals("1.10.1b", userAgent.getEngineVersion());
|
605
605
|
assertEquals(undefined, userAgent.getDocumentMode());
|
606
|
-
assertTrue(userAgent.
|
606
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
607
607
|
};
|
608
608
|
|
609
609
|
UserAgentTest.prototype.testBrowserGeckoWeirdVerShouldNotSupportWebFont = function() {
|
@@ -619,7 +619,7 @@ UserAgentTest.prototype.testBrowserGeckoWeirdVerShouldNotSupportWebFont = functi
|
|
619
619
|
assertEquals("Gecko", userAgent.getEngine());
|
620
620
|
assertEquals("1.b", userAgent.getEngineVersion());
|
621
621
|
assertEquals(undefined, userAgent.getDocumentMode());
|
622
|
-
assertFalse(userAgent.
|
622
|
+
assertFalse(userAgent.getBrowserInfo().hasWebFontSupport());
|
623
623
|
};
|
624
624
|
|
625
625
|
UserAgentTest.prototype.testBrowserGeckoYetAnotherWeirdVerShouldNotSupportWebFont = function() {
|
@@ -635,7 +635,7 @@ UserAgentTest.prototype.testBrowserGeckoYetAnotherWeirdVerShouldNotSupportWebFon
|
|
635
635
|
assertEquals("Gecko", userAgent.getEngine());
|
636
636
|
assertEquals("1.b", userAgent.getEngineVersion());
|
637
637
|
assertEquals(undefined, userAgent.getDocumentMode());
|
638
|
-
assertFalse(userAgent.
|
638
|
+
assertFalse(userAgent.getBrowserInfo().hasWebFontSupport());
|
639
639
|
};
|
640
640
|
|
641
641
|
UserAgentTest.prototype.testBrowserGeckoNoSubVerShouldNotSupportWebFont = function() {
|
@@ -651,7 +651,7 @@ UserAgentTest.prototype.testBrowserGeckoNoSubVerShouldNotSupportWebFont = functi
|
|
651
651
|
assertEquals("Gecko", userAgent.getEngine());
|
652
652
|
assertEquals("1.9", userAgent.getEngineVersion());
|
653
653
|
assertEquals(undefined, userAgent.getDocumentMode());
|
654
|
-
assertFalse(userAgent.
|
654
|
+
assertFalse(userAgent.getBrowserInfo().hasWebFontSupport());
|
655
655
|
};
|
656
656
|
|
657
657
|
UserAgentTest.prototype.testBrowserGeckoHighMinorVerShouldNotSupportWebFont = function() {
|
@@ -667,7 +667,7 @@ UserAgentTest.prototype.testBrowserGeckoHighMinorVerShouldNotSupportWebFont = fu
|
|
667
667
|
assertEquals("Gecko", userAgent.getEngine());
|
668
668
|
assertEquals("0.10.1", userAgent.getEngineVersion());
|
669
669
|
assertEquals(undefined, userAgent.getDocumentMode());
|
670
|
-
assertFalse(userAgent.
|
670
|
+
assertFalse(userAgent.getBrowserInfo().hasWebFontSupport());
|
671
671
|
};
|
672
672
|
|
673
673
|
UserAgentTest.prototype.testBrowserGeckoHighSubVerShouldNotSupportWebFont = function() {
|
@@ -683,7 +683,7 @@ UserAgentTest.prototype.testBrowserGeckoHighSubVerShouldNotSupportWebFont = func
|
|
683
683
|
assertEquals("Gecko", userAgent.getEngine());
|
684
684
|
assertEquals("0.3.42", userAgent.getEngineVersion());
|
685
685
|
assertEquals(undefined, userAgent.getDocumentMode());
|
686
|
-
assertFalse(userAgent.
|
686
|
+
assertFalse(userAgent.getBrowserInfo().hasWebFontSupport());
|
687
687
|
};
|
688
688
|
|
689
689
|
UserAgentTest.prototype.testBrowserBBSupportWebfont = function() {
|
@@ -699,7 +699,7 @@ UserAgentTest.prototype.testBrowserBBSupportWebfont = function() {
|
|
699
699
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
700
700
|
assertEquals("537.3+", userAgent.getEngineVersion());
|
701
701
|
assertEquals(undefined, userAgent.getDocumentMode());
|
702
|
-
assertTrue(userAgent.
|
702
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
703
703
|
};
|
704
704
|
|
705
705
|
UserAgentTest.prototype.testBrowserBBNotSupportWebfont = function() {
|
@@ -715,7 +715,27 @@ UserAgentTest.prototype.testBrowserBBNotSupportWebfont = function() {
|
|
715
715
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
716
716
|
assertEquals("534.11+", userAgent.getEngineVersion());
|
717
717
|
assertEquals(undefined, userAgent.getDocumentMode());
|
718
|
-
assertFalse(userAgent.
|
718
|
+
assertFalse(userAgent.getBrowserInfo().hasWebFontSupport());
|
719
|
+
};
|
720
|
+
|
721
|
+
UserAgentTest.prototype.testBrowserWebKitFallbackBug = function() {
|
722
|
+
var userAgentParser = new webfont.UserAgentParser(
|
723
|
+
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5",
|
724
|
+
this.defaultDocument_);
|
725
|
+
|
726
|
+
var userAgent = userAgentParser.parse();
|
727
|
+
|
728
|
+
assertTrue(userAgent.getBrowserInfo().hasWebKitFallbackBug());
|
729
|
+
};
|
730
|
+
|
731
|
+
UserAgentTest.prototype.testBrowserWebKitNoFallbackBug = function() {
|
732
|
+
var userAgentParser = new webfont.UserAgentParser(
|
733
|
+
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.814.2 Safari/536.11",
|
734
|
+
this.defaultDocument_);
|
735
|
+
|
736
|
+
var userAgent = userAgentParser.parse();
|
737
|
+
|
738
|
+
assertFalse(userAgent.getBrowserInfo().hasWebKitFallbackBug());
|
719
739
|
};
|
720
740
|
|
721
741
|
UserAgentTest.prototype.testBrowserWebKitVSWebkit = function() {
|
@@ -731,5 +751,5 @@ UserAgentTest.prototype.testBrowserWebKitVSWebkit = function() {
|
|
731
751
|
assertEquals("AppleWebKit", userAgent.getEngine());
|
732
752
|
assertEquals("534.30", userAgent.getEngineVersion());
|
733
753
|
assertEquals(undefined, userAgent.getDocumentMode());
|
734
|
-
assertTrue(userAgent.
|
754
|
+
assertTrue(userAgent.getBrowserInfo().hasWebFontSupport());
|
735
755
|
};
|
@@ -13,11 +13,12 @@ CustomCssTest.prototype.testFoo = function() {
|
|
13
13
|
}
|
14
14
|
};
|
15
15
|
var defaultModule = new webfont.CustomCss(fakeDomHelper, {
|
16
|
-
families: [ 'Font1', 'Font2', 'Font3' ], urls: [ 'http://moo',
|
16
|
+
families: [ 'Font1:n7', 'Font2:i4,i7', 'Font3' ], urls: [ 'http://moo',
|
17
17
|
'http://meuh' ]});
|
18
18
|
var families = null;
|
19
|
+
var variations = null;
|
19
20
|
|
20
|
-
defaultModule.load(function(fontFamilies) { families = fontFamilies; });
|
21
|
+
defaultModule.load(function(fontFamilies, fontVariations) { families = fontFamilies; variations = fontVariations;});
|
21
22
|
assertEquals('head', head);
|
22
23
|
assertEquals(2, links.length);
|
23
24
|
assertEquals('http://moo', links[0]);
|
@@ -27,4 +28,8 @@ CustomCssTest.prototype.testFoo = function() {
|
|
27
28
|
assertEquals('Font1', families[0]);
|
28
29
|
assertEquals('Font2', families[1]);
|
29
30
|
assertEquals('Font3', families[2]);
|
31
|
+
assertEquals('n7', variations["Font1"][0]);
|
32
|
+
assertEquals('i4', variations["Font2"][0]);
|
33
|
+
assertEquals('i7', variations["Font2"][1]);
|
34
|
+
assertEquals(undefined, variations["Font3"]);
|
30
35
|
};
|
@@ -81,33 +81,32 @@ LastResortWebKitFontWatchRunnerTest.prototype.testLastResortFontIgnored =
|
|
81
81
|
var fontWatchRunner = new webfont.LastResortWebKitFontWatchRunner(
|
82
82
|
this.activeCallback_,
|
83
83
|
this.inactiveCallback_,
|
84
|
-
this.fakeDomHelper_, {
|
84
|
+
this.fakeDomHelper_, {getSize: function() {
|
85
85
|
if (originalSizeCount > 0) {
|
86
86
|
originalSizeCount--;
|
87
|
-
return 1;
|
87
|
+
return new webfont.Size(1, 1);
|
88
88
|
}
|
89
89
|
if (lastResortFontsCount > 0) {
|
90
90
|
lastResortFontsCount--;
|
91
|
-
return 2;
|
91
|
+
return new webfont.Size(2, 2);
|
92
92
|
}
|
93
93
|
if (firstSize > 0) {
|
94
94
|
firstSize--;
|
95
|
-
return 1;
|
95
|
+
return new webfont.Size(1, 1);
|
96
96
|
}
|
97
97
|
if (secondSize > 0) {
|
98
98
|
secondSize--;
|
99
|
-
return 2;
|
99
|
+
return new webfont.Size(2, 2);
|
100
100
|
}
|
101
101
|
if (thirdSize > 0) {
|
102
102
|
thirdSize--;
|
103
|
-
return 3;
|
103
|
+
return new webfont.Size(3, 3);
|
104
104
|
}
|
105
105
|
}}, this.fakeAsyncCall_, this.fakeGetTime_, this.fontFamily_,
|
106
|
-
this.fontDescription_);
|
106
|
+
this.fontDescription_, false);
|
107
107
|
|
108
108
|
fontWatchRunner.start();
|
109
|
-
|
110
|
-
assertEquals(2, this.asyncCount_);
|
109
|
+
assertEquals(1, this.asyncCount_);
|
111
110
|
|
112
111
|
// When on webkit time out ends up activating the font.
|
113
112
|
assertEquals(1, this.fontActiveCalled_);
|
@@ -127,22 +126,22 @@ LastResortWebKitFontWatchRunnerTest.prototype.testLastResortFontActiveWhenSizeMa
|
|
127
126
|
var fontWatchRunner = new webfont.LastResortWebKitFontWatchRunner(
|
128
127
|
this.activeCallback_,
|
129
128
|
this.inactiveCallback_,
|
130
|
-
this.fakeDomHelper_, {
|
129
|
+
this.fakeDomHelper_, {getSize: function() {
|
131
130
|
if (originalSizeCount > 0) {
|
132
131
|
originalSizeCount--;
|
133
|
-
return 1;
|
132
|
+
return new webfont.Size(1, 1);
|
134
133
|
}
|
135
134
|
if (lastResortFontsCount > 0) {
|
136
135
|
lastResortFontsCount--;
|
137
|
-
return 2;
|
136
|
+
return new webfont.Size(2, 2);
|
138
137
|
}
|
139
138
|
if (firstSize > 0) {
|
140
139
|
firstSize--;
|
141
|
-
return 1;
|
140
|
+
return new webfont.Size(1, 1);
|
142
141
|
}
|
143
|
-
return 2;
|
142
|
+
return new webfont.Size(2, 2);
|
144
143
|
}}, this.fakeAsyncCall_, this.fakeGetTime_, this.fontFamily_,
|
145
|
-
this.fontDescription_);
|
144
|
+
this.fontDescription_, false);
|
146
145
|
|
147
146
|
fontWatchRunner.start();
|
148
147
|
|
@@ -165,33 +164,34 @@ LastResortWebKitFontWatchRunnerTest.prototype.testLastResortFontInactiveWhenSize
|
|
165
164
|
var fontWatchRunner = new webfont.LastResortWebKitFontWatchRunner(
|
166
165
|
this.activeCallback_,
|
167
166
|
this.inactiveCallback_,
|
168
|
-
this.fakeDomHelper_, {
|
167
|
+
this.fakeDomHelper_, {getSize: function(elem) {
|
169
168
|
if (originalSizeCount > 0) {
|
170
169
|
originalSizeCount--;
|
171
|
-
return 1;
|
170
|
+
return new webfont.Size(1, 1);
|
172
171
|
}
|
173
172
|
if (lastResortFontsCount > 0) {
|
174
173
|
lastResortFontsCount--;
|
175
|
-
return 2;
|
174
|
+
return new webfont.Size(2, 2);
|
176
175
|
}
|
177
176
|
if (firstSize > 0) {
|
178
177
|
firstSize--;
|
179
|
-
return 1
|
178
|
+
return new webfont.Size(1, 1)
|
180
179
|
}
|
181
180
|
if (secondSize > 0) {
|
182
181
|
secondSize--;
|
183
|
-
return 2
|
182
|
+
return new webfont.Size(2, 2)
|
184
183
|
}
|
185
184
|
if (thirdSize == 2) {
|
186
185
|
thirdSize--;
|
187
|
-
return 2;
|
186
|
+
return new webfont.Size(2, 2);
|
188
187
|
}
|
189
188
|
if (thirdSize == 1) {
|
190
189
|
thirdSize--;
|
191
|
-
return 4;
|
190
|
+
return new webfont.Size(4, 4);
|
192
191
|
}
|
192
|
+
return new webfont.Size(2, 2);
|
193
193
|
}}, this.fakeAsyncCall_, this.fakeGetTime_, this.fontFamily_,
|
194
|
-
this.fontDescription_);
|
194
|
+
this.fontDescription_, false);
|
195
195
|
|
196
196
|
fontWatchRunner.start();
|
197
197
|
|
@@ -45,7 +45,7 @@ MonotypeScriptTest.prototype.testIfScriptTagIsAdded = function () {
|
|
45
45
|
return null;
|
46
46
|
}
|
47
47
|
var isSupport = null;
|
48
|
-
var userAgent = new webfont.UserAgent("Test", "1.0",
|
48
|
+
var userAgent = new webfont.UserAgent("Test", "1.0", "TestEngine", "2.0", "TestPlatform", "3.0", undefined, new webfont.BrowserInfo(false, false));
|
49
49
|
var monotypeScript = new webfont.MonotypeScript(userAgent, fakeDomHelper, config);
|
50
50
|
monotypeScript.supportUserAgent(userAgent, function (support) { isSupport = support; });
|
51
51
|
monotypeScript.load(function (fontFamilies) {
|
@@ -107,7 +107,7 @@ MonotypeScriptTest.prototype.testIfScriptTagHasCorrectSSL = function () {
|
|
107
107
|
return null;
|
108
108
|
}
|
109
109
|
var isSupport = null;
|
110
|
-
var userAgent = new webfont.UserAgent("Test", "1.0",
|
110
|
+
var userAgent = new webfont.UserAgent("Test", "1.0", "TestEngine", "2.0", "TestPlatform", "3.0", undefined, new webfont.BrowserInfo(false, false));
|
111
111
|
var monotypeScript = new webfont.MonotypeScript(userAgent, fakeDomHelper, config);
|
112
112
|
monotypeScript.supportUserAgent(userAgent, function (support) { isSupport = support; });
|
113
113
|
monotypeScript.load(function (fontFamilies) {
|
@@ -181,7 +181,7 @@ MonotypeScriptTest.prototype.testIfScriptTagIsAddedWithoutApiurl = function () {
|
|
181
181
|
}
|
182
182
|
|
183
183
|
var isSupport = null;
|
184
|
-
var userAgent = new webfont.UserAgent("Test", "1.0",
|
184
|
+
var userAgent = new webfont.UserAgent("Test", "1.0", "TestEngine", "2.0", "TestPlatform", "3.0", undefined, new webfont.BrowserInfo(false, false));
|
185
185
|
var monotypeScript = new webfont.MonotypeScript(userAgent, fakeDomHelper, config);
|
186
186
|
monotypeScript.supportUserAgent(userAgent, function (support) { isSupport = support; });
|
187
187
|
|
@@ -243,7 +243,7 @@ MonotypeScriptTest.prototype.testIfScriptTagIsAddedWithoutApiurlAndTheScriptUrlH
|
|
243
243
|
}
|
244
244
|
|
245
245
|
var isSupport = null;
|
246
|
-
var userAgent = new webfont.UserAgent("Test", "1.0",
|
246
|
+
var userAgent = new webfont.UserAgent("Test", "1.0", "TestEngine", "2.0", "TestPlatform", "3.0", undefined, new webfont.BrowserInfo(false, false));
|
247
247
|
var monotypeScript = new webfont.MonotypeScript(userAgent, fakeDomHelper, config);
|
248
248
|
monotypeScript.supportUserAgent(userAgent, function (support) { isSupport = support; });
|
249
249
|
|
@@ -291,7 +291,7 @@ MonotypeScriptTest.prototype.testWithoutProjectId = function () {
|
|
291
291
|
};
|
292
292
|
|
293
293
|
var isSupport = null;
|
294
|
-
var userAgent = new webfont.UserAgent("Test", "1.0",
|
294
|
+
var userAgent = new webfont.UserAgent("Test", "1.0", "TestEngine", "2.0", "TestPlatform", "3.0", undefined, new webfont.BrowserInfo(false, false));
|
295
295
|
var monotypeScript = new webfont.MonotypeScript(userAgent, fakeDomHelper, config);
|
296
296
|
monotypeScript.supportUserAgent(userAgent, function (support) { isSupport = support; });
|
297
297
|
|
data/webfontloader.gemspec
CHANGED
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
|
|
13
13
|
## If your rubyforge_project name is different, then edit it and comment out
|
14
14
|
## the sub! line in the Rakefile
|
15
15
|
s.name = 'webfontloader'
|
16
|
-
s.version = '1.
|
17
|
-
s.date = '2013-01-
|
16
|
+
s.version = '1.2.0'
|
17
|
+
s.date = '2013-01-30'
|
18
18
|
|
19
19
|
## Make sure your summary is short. The description may be as long
|
20
20
|
## as you like.
|
@@ -129,17 +129,20 @@ DESC
|
|
129
129
|
src/ascender/ascender_script.js
|
130
130
|
src/async_load.js
|
131
131
|
src/closure.js
|
132
|
+
src/core/browserinfo.js
|
132
133
|
src/core/cssclassname.js
|
133
134
|
src/core/cssfontfamilyname.js
|
134
135
|
src/core/domhelper.js
|
135
136
|
src/core/eventdispatcher.js
|
136
137
|
src/core/font.js
|
137
138
|
src/core/fontmoduleloader.js
|
139
|
+
src/core/fontruler.js
|
138
140
|
src/core/fontvariationdescription.js
|
139
141
|
src/core/fontwatcher.js
|
140
142
|
src/core/fontwatchrunner.js
|
141
143
|
src/core/initialize.js
|
142
144
|
src/core/namespace.js
|
145
|
+
src/core/size.js
|
143
146
|
src/core/useragent.js
|
144
147
|
src/core/useragentparser.js
|
145
148
|
src/custom/customcss.js
|