Revision: 9835
Author: [email protected]
Date: Thu Mar 10 03:46:43 2011
Log: add ie9 user.agent with fallback binding to ie8. (in preparation for ie9 support).

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

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

Modified:
 /trunk/dev/core/src/com/google/gwt/dev/shell/StandardRebindOracle.java
 /trunk/user/src/com/google/gwt/user/UserAgent.gwt.xml
 /trunk/user/src/com/google/gwt/user/rebind/UserAgentPropertyGenerator.java

=======================================
--- /trunk/dev/core/src/com/google/gwt/dev/shell/StandardRebindOracle.java Tue Mar 8 09:11:26 2011 +++ /trunk/dev/core/src/com/google/gwt/dev/shell/StandardRebindOracle.java Thu Mar 10 03:46:43 2011
@@ -161,9 +161,10 @@
       // and we may have a partial match based on fall back values
       assert minCostRuleSoFar != null;
if (minCostRuleSoFar.getFallbackEvaluationCost() < Integer.MAX_VALUE) { - logger.log(TreeLogger.WARN, "Could not find an exact match rule. Using 'closest' rule " + - minCostRuleSoFar + " based on fall back values. You may need to implement a specific " + - "binding in case the fall back behavior does not replace the missing binding");
+        // todo - enable
+ // logger.log(TreeLogger.WARN, "Could not find an exact match rule. Using 'closest' rule " + + // minCostRuleSoFar + " based on fall back values. You may need to implement a specific " + + // "binding in case the fall back behavior does not replace the missing binding");
         if (!usedRules.contains(minCostRuleSoFar)) {
           usedRules.add(minCostRuleSoFar);
logger.log(TreeLogger.DEBUG, "No exact match was found, using closest match rule " + minCostRuleSoFar);
=======================================
--- /trunk/user/src/com/google/gwt/user/UserAgent.gwt.xml Tue Mar 8 09:11:26 2011 +++ /trunk/user/src/com/google/gwt/user/UserAgent.gwt.xml Thu Mar 10 03:46:43 2011
@@ -24,6 +24,7 @@
   <extend-property name="user.agent" values="gecko1_8" />
   <extend-property name="user.agent" values="safari" />
   <extend-property name="user.agent" values="opera" />
+  <extend-property name="user.agent" values="ie9" fallback-value="ie8" />
<property-provider name="user.agent" generator="com.google.gwt.user.rebind.UserAgentPropertyGenerator"/>

<!-- Set to false to avoid runtime warnings for mismatched runtime and -->
=======================================
--- /trunk/user/src/com/google/gwt/user/rebind/UserAgentPropertyGenerator.java Tue Mar 8 09:11:26 2011 +++ /trunk/user/src/com/google/gwt/user/rebind/UserAgentPropertyGenerator.java Thu Mar 10 03:46:43 2011
@@ -37,7 +37,7 @@
    * class.
    */
private static final List<String> VALID_VALUES = Arrays.asList(new String[]{
-      "ie6", "ie8", "gecko1_8", "safari", "opera"});
+      "ie6", "ie8", "gecko1_8", "safari", "opera", "ie9"});

   /**
    * List of predicates to identify user agent.
@@ -61,6 +61,12 @@
         .println("return (ua.indexOf('webkit') != -1);")
       .returns("'safari'"),

+      // IE9
+      new UserAgentPropertyGeneratorPredicate("ie9")
+      .getPredicateBlock()
+ .println("return (ua.indexOf('msie') != -1 && ($doc.documentMode
= 9));")
+      .returns("'ie9'"),
+
       // IE8
       new UserAgentPropertyGeneratorPredicate("ie8")
       .getPredicateBlock()
@@ -122,7 +128,7 @@
       String fallback, SortedSet<ConfigurationProperty> configProperties) {
     for (String value : possibleValues) {
       if (!VALID_VALUES.contains(value)) {
-        logger.log(TreeLogger.ERROR, "Unrecognized "
+        logger.log(TreeLogger.WARN, "Unrecognized "
             + UserAgentGenerator.PROPERTY_USER_AGENT + " property value '"
             + value + "', possibly due to UserAgent.gwt.xml and "
             + UserAgentPropertyGenerator.class.getName()

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to