Ticket #2218: 2218_2.patch

File 2218_2.patch, 2.7 KB (added by martinkou, 22 months ago)
  • _whatsnew.html

     
    101101                        failed if there was no selection.</li> 
    102102                <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2188">#2188</a>] PreserveSessionOnFileBrowser  
    103103                        is now removed as it was made obsolete with 2.6.</li> 
     104                <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2218">#2218</a>] Improved Gecko based browser 
     105                        detection to accept Epiphany/Gecko as well.</li> 
    104106        </ul> 
    105107        <h3> 
    106108                Version 2.6</h3> 
  • editor/_source/internals/fckbrowserinfo.js

     
    2828        IsIE            : /*@cc_on!@*/false, 
    2929        IsIE7           : /*@cc_on!@*/false && ( parseInt( s.match( /msie (\d+)/ )[1], 10 ) >= 7 ), 
    3030        IsIE6           : /*@cc_on!@*/false && ( parseInt( s.match( /msie (\d+)/ )[1], 10 ) >= 6 ), 
    31         IsGecko         : s.Contains('gecko/'), 
     31        IsGecko         : navigator.product == 'Gecko', 
    3232        IsSafari        : s.Contains(' applewebkit/'),          // Read "IsWebKit" 
    3333        IsOpera         : !!window.opera, 
    3434        IsAIR           : s.Contains(' adobeair/'), 
     
    3838// Completes the browser info with further Gecko information. 
    3939(function( browserInfo ) 
    4040{ 
     41        browserInfo.IsGecko = browserInfo.IsGecko && !browserInfo.IsSafari && !browserInfo.IsOpera ; 
    4142        browserInfo.IsGeckoLike = ( browserInfo.IsGecko || browserInfo.IsSafari || browserInfo.IsOpera ) ; 
    4243 
    4344        if ( browserInfo.IsGecko ) 
    4445        { 
    45                 var geckoVersion = s.match( /gecko\/(\d+)/ )[1] ; 
     46                var geckoMatch = s.match( /\((?:[0-9a-z_:.\- ]+;){4} (rv:[0-9a-z.]+)\) gecko/ ) || s.match( /gecko\/(\d+)/ ) ; 
     47                var geckoVersion = geckoMatch[1] ; 
     48                var geckoRevision = geckoVersion.Contains( ':' ) && geckoVersion ; 
    4649 
    4750                // Actually "10" refers to Gecko versions before Firefox 1.5, when 
    4851                // Gecko 1.8 (build 20051111) has been released. 
     
    5154                // than 20051111, so we must also check for the revision number not to 
    5255                // be 1.7 (we are assuming that rv < 1.7 will not have build > 20051111). 
    5356 
    54                 // TODO: Future versions may consider the rv number only, but it is 
    55                 // still to check that all Gecko based browser present the rv number. 
    56                 browserInfo.IsGecko10 = ( ( geckoVersion < 20051111 ) || ( /rv:1\.7/.test(s) ) ) ; 
    57                 browserInfo.IsGecko19 = /rv:1\.9/.test(s) ; 
     57                if ( geckoRevision ) 
     58                { 
     59                        browserInfo.IsGecko10 = /1\.7/.test( geckoRevision ) ; 
     60                        browserInfo.IsGecko19 = /1\.9/.test( geckoRevision ) ; 
     61                } 
     62                else 
     63                        browserInfo.IsGecko10 = geckoVersion < 20051111 ; 
    5864        } 
    5965        else 
    6066                browserInfo.IsGecko10 = false ;