webfontloader 1.0.13 → 1.0.15

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,4 +1,8 @@
1
- master
1
+ v1.0.15 (October 14, 2010)
2
+ * Fix an error parsing platform version in IE, when it has no items following the platform in the UA string.
3
+
4
+ v1.0.14 (October 14, 2010)
5
+ * Bugfix: fixed IE issue in google module.
2
6
 
3
7
  v1.0.13 (September 30, 2010)
4
8
  * Added support for detecting Adobe Air.
data/lib/webfontloader.rb CHANGED
@@ -3,7 +3,7 @@ require 'yaml'
3
3
  require 'webfontloader/modules'
4
4
 
5
5
  module WebFontLoader
6
- VERSION = '1.0.13'
6
+ VERSION = '1.0.15'
7
7
 
8
8
  ProjectRoot = File.expand_path(File.dirname(__FILE__) + "/..")
9
9
 
@@ -116,6 +116,22 @@ UserAgentTest.prototype.testBrowserIsIE = function() {
116
116
  assertTrue(userAgent.isSupportingWebFont());
117
117
  };
118
118
 
119
+ UserAgentTest.prototype.testBrowserIsIEMinimal = function() {
120
+ var userAgentParser = new webfont.UserAgentParser(
121
+ "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)",
122
+ this.defaultDocument_);
123
+ var userAgent = userAgentParser.parse();
124
+
125
+ assertEquals("MSIE", userAgent.getName());
126
+ assertEquals("7.0", userAgent.getVersion());
127
+ assertEquals("Windows", userAgent.getPlatform());
128
+ assertEquals("5.1", userAgent.getPlatformVersion());
129
+ assertEquals("MSIE", userAgent.getEngine());
130
+ assertEquals("7.0", userAgent.getEngineVersion());
131
+ assertEquals(undefined, userAgent.getDocumentMode());
132
+ assertTrue(userAgent.isSupportingWebFont());
133
+ };
134
+
119
135
  UserAgentTest.prototype.testBrowserIsIPhone = function() {
120
136
  var userAgentParser = new webfont.UserAgentParser(
121
137
  "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7D11 Safari/528.16",
@@ -31,7 +31,9 @@ webfont.FontWatcher.DEFAULT_VARIATION = 'n4';
31
31
  * Watches a set of font families.
32
32
  * @param {Array.<string>} fontFamilies The font family names to watch.
33
33
  * @param {Object.<string, Array.<string>>} fontDescriptions The font variations
34
- * of each family to watch. Described with FVD.
34
+ * of each family to watch. Described with FVD.
35
+ * @param {Object.<string, string>} fontTestStrings The font test strings for
36
+ * each family.
35
37
  * @param {boolean} last True if this is the last set of families to watch.
36
38
  */
37
39
  webfont.FontWatcher.prototype.watch = function(fontFamilies, fontDescriptions,
@@ -72,7 +72,7 @@ webfont.UserAgentParser.prototype.getPlatform_ = function() {
72
72
  */
73
73
  webfont.UserAgentParser.prototype.getPlatformVersion_ = function() {
74
74
  var macVersion = this.getMatchingGroup_(this.userAgent_,
75
- /(OS X|Windows NT|Android) ([^;]+)/, 2);
75
+ /(OS X|Windows NT|Android) ([^;)]+)/, 2);
76
76
  if (macVersion) {
77
77
  return macVersion;
78
78
  }
@@ -17,27 +17,29 @@ webfont.GoogleFontApi.prototype.supportUserAgent = function(userAgent, support)
17
17
  };
18
18
 
19
19
  webfont.GoogleFontApi.prototype.load = function(onReady) {
20
- var fontApiUrlBuilder = new webfont.FontApiUrlBuilder(
21
- this.configuration_['api']);
22
- var fontFamilies = this.configuration_['families'];
23
20
  var domHelper = this.domHelper_;
24
21
  var nonBlockingIe = this.userAgent_.getName() == 'MSIE' &&
25
22
  this.configuration_['blocking'] != true;
26
23
 
27
- fontApiUrlBuilder.setFontFamilies(fontFamilies);
28
-
29
24
  if (nonBlockingIe) {
30
- domHelper.whenBodyExists(function() {
31
- domHelper.insertInto('head', domHelper.createCssLink(
32
- fontApiUrlBuilder.build()));
33
- });
25
+ domHelper.whenBodyExists(webfont.bind(this, this.insertLink_, onReady));
34
26
  } else {
35
- domHelper.insertInto('head', domHelper.createCssLink(
36
- fontApiUrlBuilder.build()));
27
+ this.insertLink_(onReady);
37
28
  }
38
- var fontApiParser = new webfont.FontApiParser(fontFamilies);
29
+ };
39
30
 
31
+ webfont.GoogleFontApi.prototype.insertLink_ = function(onReady) {
32
+ var domHelper = this.domHelper_;
33
+ var fontApiUrlBuilder = new webfont.FontApiUrlBuilder(
34
+ this.configuration_['api']);
35
+ var fontFamilies = this.configuration_['families'];
36
+ fontApiUrlBuilder.setFontFamilies(fontFamilies);
37
+
38
+ var fontApiParser = new webfont.FontApiParser(fontFamilies);
40
39
  fontApiParser.parse();
40
+
41
+ domHelper.insertInto('head', domHelper.createCssLink(
42
+ fontApiUrlBuilder.build()));
41
43
  onReady(fontApiParser.getFontFamilies(), fontApiParser.getVariations(),
42
44
  fontApiParser.getFontTestStrings());
43
45
  };
@@ -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.0.13'
17
- s.date = '2010-09-30'
16
+ s.version = '1.0.15'
17
+ s.date = '2010-10-20'
18
18
 
19
19
  ## Make sure your summary is short. The description may be as long
20
20
  ## as you like.
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 0
8
- - 13
9
- version: 1.0.13
8
+ - 15
9
+ version: 1.0.15
10
10
  platform: ruby
11
11
  authors:
12
12
  - Ryan Carver
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-09-30 00:00:00 -07:00
18
+ date: 2010-10-20 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency