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