You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by so...@apache.org on 2013/10/04 18:37:42 UTC

svn commit: r1529209 - /myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java

Author: sobryan
Date: Fri Oct  4 16:37:42 2013
New Revision: 1529209

URL: http://svn.apache.org/r1529209
Log:
TRINIDAD-2418 - Add IE11 trinidad agent support

* Thanks for the patch Gary

Modified:
    myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java?rev=1529209&r1=1529208&r2=1529209&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java Fri Oct  4 16:37:42 2013
@@ -963,6 +963,7 @@ public class AgentFactoryImpl implements
    */
   private void _populateMozillaAgentImpl(String agent, AgentImpl agentObj)
   {
+    int ieTridentIndex = -1;
     int paren = agent.indexOf('(');
     agentObj.setType(Agent.TYPE_DESKTOP); //Is this default realli okay??? These days Mobile agents also use Mozilla/xx.xx
 
@@ -982,6 +983,22 @@ public class AgentFactoryImpl implements
         agentObj.setAgent(Agent.AGENT_KONQUEROR);
         agentObj.setAgentVersion(_getVersion(agent, agent.lastIndexOf('/')));
       }
+      else if ((ieTridentIndex = agent.indexOf("Trident", paren)) > -1) 
+      {
+        agentObj.setAgent(Agent.AGENT_IE);
+
+        // As of IE8, the Trident version is the most reliable method to find the 
+        // maximum capabilities of IE.  The IE WebBrowser Control by default is in IE7 
+        // compatability - MSIE 7.0;
+        // As of IE11, the "MSIE" token no loger exists.  
+        
+        //Trident/4.0 -> IE8
+        //Trident/5.0 -> IE9
+        //Trident/6.0 -> IE10
+        //Trident/7.0 -> IE11
+        Double ieTridentVersion = Double.valueOf(_getVersion(agent, ieTridentIndex + "Trident/".length() - 1));
+        agentObj.setAgentVersion(String.valueOf(ieTridentVersion + 4.0));    
+      }
       else if (agent.startsWith("compatible", paren))
       {
         int ieIndex = agent.indexOf("MSIE", paren);
@@ -1002,24 +1019,8 @@ public class AgentFactoryImpl implements
         else
         {
           agentObj.setAgent(Agent.AGENT_IE);
-
-          // As of IE8, the Trident version is the most reliable method to find the 
-          // maximum capabilities of IE.  The IE WebBrowser Control by default is in IE7 
-          // compatability - MSIE 7.0;
-          int ieTridentIndex = agent.indexOf("Trident", ieIndex);
-          if (ieTridentIndex < 0 )
-          { 
-            String ieVersion = _getVersion(agent, ieIndex + "MSIE ".length() - 1);
-            agentObj.setAgentVersion(ieVersion);
-          }
-          else 
-          {
-            //Trident/4.0 -> IE8
-            //Trident/5.0 -> IE9
-            //Trident/6.0 -> IE10
-            Double ieTridentVersion = Double.valueOf(_getVersion(agent, ieTridentIndex + "Trident/".length() - 1));
-            agentObj.setAgentVersion(String.valueOf(ieTridentVersion + 4.0));  
-          }
+          String ieVersion = _getVersion(agent, ieIndex + "MSIE ".length() - 1);
+          agentObj.setAgentVersion(ieVersion);
         }
       }
       else