Skip to content

Commit

Permalink
Fix Android webfont support detection to use platform version.
Browse files Browse the repository at this point in the history
  • Loading branch information
bramstein committed Dec 11, 2012
1 parent f2bd03a commit 5cb6d1f
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
19 changes: 17 additions & 2 deletions src-test/core/useragenttest.js
Expand Up @@ -196,8 +196,23 @@ UserAgentTest.prototype.testBrowserIsIPhone = function() {
assertTrue(userAgent.isSupportingWebFont());
};


UserAgentTest.prototype.testBrowserIsAndroid = function() {
var userAgentParser = new webfont.UserAgentParser(
"Mozilla/5.0 (Linux; U; Android 2.2.1; en-ca; LG-P505R Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",
this.defaultDocument_);
var userAgent = userAgentParser.parse();

assertEquals("BuiltinBrowser", userAgent.getName());
assertEquals("Unknown", userAgent.getVersion());
assertEquals("Android", userAgent.getPlatform());
assertEquals("2.2.1", userAgent.getPlatformVersion());
assertEquals("AppleWebKit", userAgent.getEngine());
assertEquals("533.1", userAgent.getEngineVersion());
assertEquals(undefined, userAgent.getDocumentMode());
assertTrue(userAgent.isSupportingWebFont());
};

UserAgentTest.prototype.testBrowserIsOldUnsupportedAndroid = function() {
var userAgentParser = new webfont.UserAgentParser(
"Mozilla/5.0 (Linux; U; Android 2.1-update1; en-us; Nexus One Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17",
this.defaultDocument_);
Expand All @@ -210,7 +225,7 @@ UserAgentTest.prototype.testBrowserIsAndroid = function() {
assertEquals("AppleWebKit", userAgent.getEngine());
assertEquals("530.17", userAgent.getEngineVersion());
assertEquals(undefined, userAgent.getDocumentMode());
assertTrue(userAgent.isSupportingWebFont());
assertFalse(userAgent.isSupportingWebFont());
};

UserAgentTest.prototype.testBrowserIsAndroidChromeMobile = function() {
Expand Down
2 changes: 2 additions & 0 deletions src/core/useragentparser.js
Expand Up @@ -270,6 +270,8 @@ webfont.UserAgentParser.prototype.parseWebKitUserAgentString_ = function() {
this.getMajorVersion_(version) == 2 && parseInt(minor, 10) >= 5;
} else if (platform == "BlackBerry") {
supportWebFont = parseInt(platformVersion, 10) >= 10;
} else if (platform == "Android") {
supportWebFont = parseFloat(platformVersion) > 2.1;
} else {
var minor = this.getMatchingGroup_(webKitVersion, /\d+\.(\d+)/, 1);
supportWebFont = this.getMajorVersion_(webKitVersion) >= 526 ||
Expand Down

0 comments on commit 5cb6d1f

Please sign in to comment.