Reviewers: jgw, jlabanca,
Description:
GWT support for Chrome Frame
http://code.google.com/p/google-web-toolkit/issues/detail?id=5166
Please review this at http://gwt-code-reviews.appspot.com/1449808/
Affected files:
M user/src/com/google/gwt/user/rebind/UserAgentPropertyGenerator.java
Index: user/src/com/google/gwt/user/rebind/UserAgentPropertyGenerator.java
===================================================================
--- user/src/com/google/gwt/user/rebind/UserAgentPropertyGenerator.java
(revision 10241)
+++ user/src/com/google/gwt/user/rebind/UserAgentPropertyGenerator.java
(working copy)
@@ -55,10 +55,28 @@
.println("return (ua.indexOf('opera') != -1);")
.returns("'opera'"),
- // webkit family
+ // webkit family (chrome, safari and chromeframe).
new UserAgentPropertyGeneratorPredicate("safari")
.getPredicateBlock()
- .println("return (ua.indexOf('webkit') != -1);")
+ .println("return (")
+ .println("(ua.indexOf('webkit') != -1)")
+ .println("||")
+ .println("(function() {")
+ .println("if (ua.indexOf('chromeframe') != -1) {")
+ .println("return true;")
+ .println("}")
+ .println("if (typeof window['ActiveXObject'] != 'undefined')
{")
+ .println("try {")
+ .println("var obj = new
ActiveXObject('ChromeTab.ChromeFrame');")
+ .println("if (obj) {")
+ .println("obj.registerBhoIfNeeded();")
+ .println("return true;")
+ .println("}")
+ .println("} catch(e) { }")
+ .println("}")
+ .println("return false;")
+ .println("})()")
+ .println(")")
.returns("'safari'"),
// IE9
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors