Revision: 10250
Author:   [email protected]
Date:     Tue May 31 07:28:25 2011
Log:      GWT support for Chrome Frame
http://code.google.com/p/google-web-toolkit/issues/detail?id=5166

Review at http://gwt-code-reviews.appspot.com/1449808

http://code.google.com/p/google-web-toolkit/source/detail?r=10250

Modified:
 /trunk/user/src/com/google/gwt/user/rebind/UserAgentPropertyGenerator.java

=======================================
--- /trunk/user/src/com/google/gwt/user/rebind/UserAgentPropertyGenerator.java Thu Mar 10 03:46:43 2011 +++ /trunk/user/src/com/google/gwt/user/rebind/UserAgentPropertyGenerator.java Tue May 31 07:28:25 2011
@@ -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

Reply via email to