You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mc...@apache.org on 2008/10/17 23:21:35 UTC

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

Author: mcooper
Date: Fri Oct 17 14:21:34 2008
New Revision: 705759

URL: http://svn.apache.org/viewvc?rev=705759&view=rev
Log:
TRINIDAD-1271 - WebKit Agent Uses Incorrect Platform on non-Mac and non-iPhone platforms

Took away the fall-back for WebKit browsers identifying their platform incorrectly as Mac; only ones listed as Mac will be Mac now.
Added the Windows platform for WebKit browsers (e.g. Safari and Google Chrome).
Added the Linux platform for WebKit browsers (e.g. Android and future Google Chrome).

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=705759&r1=705758&r2=705759&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 17 14:21:34 2008
@@ -700,7 +700,7 @@
   /**
    * returns the AgentEntry for Safari
    */
-  private void  _populateSafariAgentImpl(String agent, AgentImpl agentObj)
+  private void _populateSafariAgentImpl(String agent, AgentImpl agentObj)
   {
     int start = agent.indexOf("AppleWebKit");
 
@@ -714,16 +714,31 @@
       start = agent.indexOf('/', start);
     }
 
-    // At the moment all known iPhone agent strings contain "iPhone".
-    String platform = (agent.indexOf("iPhone") < 0) ? 
-                        Agent.PLATFORM_MACOS :
-                        Agent.PLATFORM_IPHONE;
+    if (agent.indexOf("iPhone") > 0)
+    {
+      // At the moment, all known iPhone and iPod touch agent strings contain "iPhone"
+      agentObj.setPlatform(Agent.PLATFORM_IPHONE);
+    }
+    else if (agent.indexOf("Win") > 0)
+    {
+      // At the moment, this includes Safari and Google Chrome
+      agentObj.setPlatform(Agent.PLATFORM_WINDOWS);
+    }
+    else if (agent.indexOf("Linux") > 0)
+    {
+      // At the moment, this includes Android
+      agentObj.setPlatform(Agent.PLATFORM_LINUX);
+    }
+    else if (agent.indexOf("Mac") > 0)
+    {
+      // At the moment, this includes Safari
+      agentObj.setPlatform(Agent.PLATFORM_MACOS);
+    }
 
     String version = _getVersion(agent, start);
     agentObj.setType(Agent.TYPE_DESKTOP);
     agentObj.setAgent(Agent.AGENT_WEBKIT);
     agentObj.setAgentVersion(version);
-    agentObj.setPlatform(platform);
   }
 
   /**