Author: jcompagner
Date: Tue Jul 13 11:26:33 2010
New Revision: 963681
URL: http://svn.apache.org/viewvc?rev=963681&view=rev
Log:
chrome browser detection (previously it was just safari)
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java?rev=963681&r1=963680&r2=963681&view=diff
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java
(original)
+++
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java
Tue Jul 13 11:26:33 2010
@@ -59,6 +59,7 @@ public class ClientProperties implements
private boolean browserMozillaFirefox;
private boolean browserOpera;
private boolean browserSafari;
+ private boolean browserChrome;
private int browserVersionMajor = -1;
private int browserVersionMinor = -1;
private int browserWidth = -1;
@@ -415,6 +416,16 @@ public class ClientProperties implements
}
/**
+ * Flag indicating that the browser is a derivative of the Chrome
browser platform.
+ *
+ * @return True if a derivative of the Chrome browser platform.
+ */
+ public boolean isBrowserChrome()
+ {
+ return browserChrome;
+ }
+
+ /**
*
*
* @return The client's navigator.cookieEnabled property.
@@ -751,6 +762,17 @@ public class ClientProperties implements
}
/**
+ * Flag indicating that the browser is a derivative of the Chrome
browser platform.
+ *
+ * @param browserChrome
+ * True if a derivative of the Chrome browser platform.
+ */
+ public void setBrowserChrome(boolean browserChrome)
+ {
+ this.browserChrome = browserChrome;
+ }
+
+ /**
* @param browserVersionMajor
* The major version number of the browser.
*/
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java?rev=963681&r1=963680&r2=963681&view=diff
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
(original)
+++
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
Tue Jul 13 11:26:33 2010
@@ -146,14 +146,20 @@ public class WebClientInfo extends Clien
{
String userAgent = (getUserAgent() != null) ?
getUserAgent().toLowerCase() : "";
+ boolean browserChrome = userAgent.indexOf("chrome") != -1;
boolean browserOpera = userAgent.indexOf("opera") != -1;
- boolean browserSafari = userAgent.indexOf("safari") != -1;
boolean browserKonqueror = userAgent.indexOf("konqueror") != -1;
// Note deceptive user agent fields:
- // - Konqueror and Safari UA fields contain "like Gecko"
+ // - Konqueror and Chrome UA fields contain "like Gecko"
// - Opera UA field typically contains "MSIE"
- boolean deceptiveUserAgent = browserOpera || browserSafari ||
browserKonqueror;
+ // - Chrome UA field contains "Safari"
+ boolean deceptiveUserAgent = browserOpera || browserKonqueror
|| browserChrome;
+
+ boolean browserSafari = !deceptiveUserAgent &&
userAgent.indexOf("safari") != -1;
+
+ // -Safari UA fields contain "like Gecko"
+ deceptiveUserAgent = deceptiveUserAgent || browserSafari;
boolean browserMozilla = !deceptiveUserAgent &&
userAgent.indexOf("gecko") != -1;
boolean browserFireFox = userAgent.indexOf("firefox") != -1;
@@ -174,6 +180,10 @@ public class WebClientInfo extends Clien
{
properties.setBrowserSafari(true);
}
+ else if (browserChrome)
+ {
+ properties.setBrowserChrome(true);
+ }
else if (browserMozilla)
{
properties.setBrowserMozilla(true);