Ticket #2218: 2218_3.patch

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

     
    116116                        changed from "&lt;?=" to "&lt;? echo".</li>  
    117117                <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2254">#2254</a>] Minor fix in fckselection for 
    118118                        nodeName attribute detection.</li>  
     119                <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2218">#2218</a>] Improved Gecko based browser 
     120                        detection to accept Epiphany/Gecko as well.</li> 
    119121        </ul> 
    120122        <h3> 
    121123                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( /rv:(\d+\.\d+)/ ) ; 
     47                var geckoVersion = geckoMatch && parseFloat( geckoMatch[1] ) ; 
    4648 
    4749                // Actually "10" refers to Gecko versions before Firefox 1.5, when 
    4850                // Gecko 1.8 (build 20051111) has been released. 
     
    5153                // than 20051111, so we must also check for the revision number not to 
    5254                // be 1.7 (we are assuming that rv < 1.7 will not have build > 20051111). 
    5355 
    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) ; 
     56                if ( geckoVersion ) 
     57                { 
     58                        browserInfo.IsGecko10 = ( geckoVersion < 1.8 ) ; 
     59                        browserInfo.IsGecko19 = ( geckoVersion > 1.8 ) ; 
     60                } 
    5861        } 
    59         else 
    60                 browserInfo.IsGecko10 = false ; 
    6162})(FCKBrowserInfo) ;