[ 
https://issues.apache.org/jira/browse/WICKET-6544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436780#comment-16436780
 ] 

ASF GitHub Bot commented on WICKET-6544:
----------------------------------------

Github user solomax commented on a diff in the pull request:

    https://github.com/apache/wicket/pull/275#discussion_r181282823
  
    --- Diff: 
wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
 ---
    @@ -193,165 +198,117 @@ protected String getRemoteAddr(RequestCycle 
requestCycle)
         */
        private void init()
        {
    -           setInternetExplorerProperties();
    -           setOperaProperties();
    -           setMozillaProperties();
    -           setKonquerorProperties();
    -           setChromeProperties();
    -           setEdgeProperties();
    -           setSafariProperties();
    +           nl.basjes.parse.useragent.UserAgent parsedUserAgent = 
UAA.parse(getUserAgent());
    +           setInternetExplorerProperties(parsedUserAgent);
    +           setKonquerorProperties(parsedUserAgent);
    +           setMozillaProperties(parsedUserAgent);
    +           setOperaProperties(parsedUserAgent);
    +           setChromeProperties(parsedUserAgent);
    +           setEdgeProperties(parsedUserAgent);
    +           setSafariProperties(parsedUserAgent);
    --- End diff --
    
    can be replaced with
    String agent = parsedUserAgent.getValue("AgentName");
    
properties.setBrowserKonqueror(UserAgent.KONQUEROR.getUaStrings().contains(agent));
    
properties.setBrowserChrome(UserAgent.CHROME.getUaStrings().contains(agent));
    .................
    setBrowserVersion(parsedUserAgent);


> Chrome and Firefox on iOS detected as Safari version -1
> -------------------------------------------------------
>
>                 Key: WICKET-6544
>                 URL: https://issues.apache.org/jira/browse/WICKET-6544
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 7.9.0
>            Reporter: Sven Ackermann
>            Assignee: Maxim Solodovnik
>            Priority: Major
>
> The UserAgent detection on iOS for browsers other than Safari does not work 
> correctly.
> E.g. Chrome 64 has UserAgent
> ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 
> Safari/604.1??
> which is recognized by classes {{UserAgent}} and {{WebClientInfo}} as Safari 
> with no version (-1). The problem is that the UserAgent does not contain 
> "Chrome" as required by {{UserAgent.CHROME}}, but instead "CriOS". So it is 
> recognized as Safari, but since it does not contain "version/", no version is 
> set.
> A similar problem exists for Firefox on iOS where the UserAgent contains 
> "FxiOS" instead of "Firefox":
>  ??Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) 
> AppleWebKit/604.5.6 (KHTML, like Gecko) FxiOS/10.6b8836 Mobile/15D100 
> Safari/604.5.6??
> In our application this causes some unwanted redirects to legacy pages 
> because we think it is an old Safari browser with no support for some 
> features our pages need. But of course the Chrome und Firefox versions above 
> support all that.
> see also 
> [https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent|https://developer.chrome.com/multidevice/user-agent#chrome_for_ios_user_agent,]
>  and 
> [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox#Firefox_for_iOS]
>  
> Thanks for looking into it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to