Changeset 2059

Show
Ignore:
Timestamp:
2008-06-12 11:52:09 (22 months ago)
Author:
fredck
Message:

Fixed #2115 : Fixed JavaScript (permission denied) error in Firefox when file has been uploaded.

Location:
FCKeditor/trunk
Files:
12 modified

Legend:

Unmodified
Added
Removed
  • FCKeditor/trunk/_dev/domain_fix_template.js

    r1799 r2059  
    2626// ### Minified Script (must be updated on changes in the original below). 
    2727 
    28 (function(){var d=document.domain;while (true){try{var A=window.top.opener.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})(); 
     28(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})(); 
    2929 
    3030// ### Original Script. 
     
    3939                try 
    4040                { 
    41                         var test = window.top.opener.document.domain ; 
     41                        var test = window.parent.document.domain ; 
    4242                        break ; 
    4343                } 
  • FCKeditor/trunk/editor/filemanager/browser/default/browser.html

    r1985 r2059  
    4343                        break ; 
    4444                } 
    45                 catch( e ) {} 
     45                catch( e )  
     46                { 
     47                        break ; 
     48                } 
    4649 
    4750                // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ... 
  • FCKeditor/trunk/editor/filemanager/browser/default/frmactualfolder.html

    r1985 r2059  
    4141                        break ; 
    4242                } 
    43                 catch( e ) {} 
     43                catch( e )  
     44                { 
     45                        break ; 
     46                } 
    4447 
    4548                // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ... 
  • FCKeditor/trunk/editor/filemanager/browser/default/js/common.js

    r1791 r2059  
    3636                        break ; 
    3737                } 
    38                 catch( e ) {} 
     38                catch( e )  
     39                { 
     40                        break ; 
     41                } 
    3942 
    4043                // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ... 
  • FCKeditor/trunk/editor/filemanager/connectors/asp/io.asp

    r2037 r2059  
    225225        Response.Clear 
    226226        Response.Write "<script type=""text/javascript"">" 
    227         Response.Write "(function()" 
    228         Response.Write "{" 
    229         Response.Write "var d = document.domain ;" 
    230  
    231         Response.Write " while ( true )" 
    232         Response.Write "        {" 
    233         ' Test if we can access a parent property. 
    234         Response.Write "                try" 
    235         Response.Write "                {" 
    236         Response.Write "                        var test = window.top.opener.document.domain ;" 
    237         Response.Write "                        break ;" 
    238         Response.Write "                }" 
    239         Response.Write "                catch( e ) {}" 
    240  
    241         ' Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ... 
    242         Response.Write "                d = d.replace( /.*?(?:\.|$)/, '' ) ;" 
    243  
    244         Response.Write "                if ( d.length == 0 )" 
    245         ' It was not able to detect the domain. 
    246         Response.Write "                        break ;" 
    247         Response.Write "" 
    248         Response.Write "                try" 
    249         Response.Write "                {" 
    250         Response.Write "                        document.domain = d ;" 
    251         Response.Write "                }" 
    252         Response.Write "                catch (e)" 
    253         Response.Write "                {" 
    254         Response.Write "                        break ;" 
    255         Response.Write "                }" 
    256         Response.Write "        }" 
    257         Response.Write "})() ;" 
     227        ' Minified version of the document.domain automatic fix script (#1919).  
     228        ' The original script can be found at _dev/domain_fix_template.js 
     229        Response.Write "(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();" 
    258230 
    259231        Response.Write "window.parent.OnUploadCompleted(" & errorNumber & ",""" & Replace( fileUrl, """", "\""" ) & """,""" & Replace( fileName, """", "\""" ) & """,""" & Replace( customMsg , """", "\""" ) & """) ;" 
  • FCKeditor/trunk/editor/filemanager/connectors/cfm/cf5_upload.cfm

    r1797 r2059  
    4848        { 
    4949                WriteOutput('<script type="text/javascript">'); 
    50                 WriteOutput("(function()"& 
    51 "{"& 
    52 "       var d = document.domain ;"& 
    53 ""& 
    54 "       while ( true )"& 
    55 "       {"& 
    56                 // Test if we can access a parent property. 
    57 "               try"& 
    58 "               {"& 
    59 "                       var test = window.top.opener.document.domain ;"& 
    60 "                       break ;"& 
    61 "               }"& 
    62 "               catch( e ) {}"& 
    63 ""& 
    64                 // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ... 
    65 "               d = d.replace( /.*?(?:\.|$)/, '' ) ;"& 
    66 ""& 
    67 "               if ( d.length == 0 )"& 
    68                         // It was not able to detect the domain. 
    69 "                       break ;"& 
    70 ""& 
    71 "               try"& 
    72 "               {"& 
    73 "                       document.domain = d ;"& 
    74 "               }"& 
    75 "               catch (e)"& 
    76 "               {"& 
    77 "                       break ;"& 
    78 "               }"& 
    79 "       }"& 
    80 "})() ;"); 
    81  
     50                // Minified version of the document.domain automatic fix script (#1919).  
     51                // The original script can be found at _dev/domain_fix_template.js 
     52                WriteOutput("(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();"); 
    8253                WriteOutput('window.parent.OnUploadCompleted(' & errorNumber & ', "' & JSStringFormat(fileUrl) & '", "' & JSStringFormat(fileName) & '", "' & JSStringFormat(customMsg) & '");' ); 
    8354                WriteOutput('</script>'); 
  • FCKeditor/trunk/editor/filemanager/connectors/cfm/cf_io.cfm

    r1797 r2059  
    266266        <cfargument name="customMsg" required="false" type="String" default=""> 
    267267 
     268        <!--- Minified version of the document.domain automatic fix script (#1919).  
     269        The original script can be found at _dev/domain_fix_template.js ---> 
    268270        <cfoutput> 
    269271<script type="text/javascript"> 
    270 (function() 
    271 { 
    272         var d = document.domain ; 
    273  
    274         while ( true ) 
    275         { 
    276                 // Test if we can access a parent property. 
    277                 try 
    278                 { 
    279                         var test = window.top.opener.document.domain ; 
    280                         break ; 
    281                 } 
    282                 catch( e ) {} 
    283  
    284                 // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ... 
    285                 d = d.replace( /.*?(?:\.|$)/, '' ) ; 
    286  
    287                 if ( d.length == 0 ) 
    288                         break ;         // It was not able to detect the domain. 
    289  
    290                 try 
    291                 { 
    292                         document.domain = d ; 
    293                 } 
    294                 catch (e) 
    295                 { 
    296                         break ; 
    297                 } 
    298         } 
    299 })() ; 
    300  
    301                         window.parent.OnUploadCompleted( #errorNumber#, "#JSStringFormat(fileUrl)#", "#JSStringFormat(fileName)#", "#JSStringFormat(customMsg)#" ); 
    302                 </script> 
     272(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})(); 
     273window.parent.OnUploadCompleted( #errorNumber#, "#JSStringFormat(fileUrl)#", "#JSStringFormat(fileName)#", "#JSStringFormat(customMsg)#" ); 
     274</script> 
    303275        </cfoutput> 
    304276        <cfabort> 
  • FCKeditor/trunk/editor/filemanager/connectors/lasso/upload.lasso

    r1797 r2059  
    7575                -description='Sets the HTML response for the FCKEditor Quick Upload feature.' 
    7676        ); 
    77                 $__html_reply__ = '\ 
    78 <script type="text/javascript"> 
    79 (function() 
    80 { 
    81         var d = document.domain ; 
    82  
    83         while ( true ) 
    84         { 
    85                 // Test if we can access a parent property. 
    86                 try 
    87                 { 
    88                         var test = window.top.opener.document.domain ; 
    89                         break ; 
    90                 } 
    91                 catch( e ) {} 
    92  
    93                 // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ... 
    94                 d = d.replace( /.*?(?:\\.|$)/, "" ) ; 
    95  
    96                 if ( d.length == 0 ) 
    97                         break ;         // It was not able to detect the domain. 
    98  
    99                 try 
    100                 { 
    101                         document.domain = d ; 
    102                 } 
    103                 catch (e) 
    104                 { 
    105                         break ; 
    106                 } 
    107         } 
    108 })() ; 
     77                 
     78                $__html_reply__ = '<script type="text/javascript">'; 
     79                 
     80                // Minified version of the document.domain automatic fix script (#1919).  
     81                // The original script can be found at _dev/domain_fix_template.js 
     82                // Note: in Lasso replace \ with \\ 
     83                $__html_reply__ = $__html_reply__ + "(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();"; 
     84                 
     85                $__html_reply__ = $__html_reply__ + '\ 
    10986        window.parent.OnUploadCompleted(' + #errorNumber + ',"' 
    11087                + string_replace(#fileUrl, -find='"', -replace='\\"') + '","' 
  • FCKeditor/trunk/editor/filemanager/connectors/perl/commands.pl

    r1791 r2059  
    170170        local($sErrorNumber, $sFileUrl, $sFileName, $customMsg) = @_; 
    171171 
     172        # Minified version of the document.domain automatic fix script (#1919).  
     173        # The original script can be found at _dev/domain_fix_template.js 
     174        # Note: in Perl replace \ with \\ and $ with \$ 
    172175        print <<EOF; 
    173176Content-type: text/html 
    174177 
    175178<script type="text/javascript"> 
    176 // Automatically detect the correct document.domain (#1919). 
    177 (function() 
    178 { 
    179         var d = document.domain ; 
    180  
    181         while ( true ) 
    182         { 
    183                 // Test if we can access a parent property. 
    184                 try 
    185                 { 
    186                         var test = window.top.opener.document.domain ; 
    187                         break ; 
    188                 } 
    189                 catch( e ) {} 
    190  
    191                 // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ... 
    192                 d = d.replace( /.*?(?:\\.|\$)/, '' ) ; 
    193  
    194                 if ( d.length == 0 ) 
    195                         break ;         // It was not able to detect the domain. 
    196  
    197                 try 
    198                 { 
    199                         document.domain = d ; 
    200                 } 
    201                 catch (e) 
    202                 { 
    203                         break ; 
    204                 } 
    205         } 
    206 })() ; 
     179(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|\$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})(); 
    207180 
    208181EOF 
  • FCKeditor/trunk/editor/filemanager/connectors/php/io.php

    r1998 r2059  
    280280function SendUploadResults( $errorNumber, $fileUrl = '', $fileName = '', $customMsg = '' ) 
    281281{ 
     282        // Minified version of the document.domain automatic fix script (#1919). 
     283        // The original script can be found at _dev/domain_fix_template.js 
    282284        echo <<<EOF 
    283285<script type="text/javascript"> 
    284 (function() 
    285 { 
    286         var d = document.domain ; 
    287  
    288         while ( true ) 
    289         { 
    290                 // Test if we can access a parent property. 
    291                 try 
    292                 { 
    293                         var test = window.top.opener.document.domain ; 
    294                         break ; 
    295                 } 
    296                 catch( e ) {} 
    297  
    298                 // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ... 
    299                 d = d.replace( /.*?(?:\.|$)/, '' ) ; 
    300  
    301                 if ( d.length == 0 ) 
    302                         break ;         // It was not able to detect the domain. 
    303  
    304                 try 
    305                 { 
    306                         document.domain = d ; 
    307                 } 
    308                 catch (e) 
    309                 { 
    310                         break ; 
    311                 } 
    312         } 
    313 })() ; 
    314  
     286(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})(); 
    315287EOF; 
     288 
    316289        $rpl = array( '\\' => '\\\\', '"' => '\\"' ) ; 
    317290        echo 'window.parent.OnUploadCompleted(' . $errorNumber . ',"' . strtr( $fileUrl, $rpl ) . '","' . strtr( $fileName, $rpl ) . '", "' . strtr( $customMsg, $rpl ) . '") ;' ; 
  • FCKeditor/trunk/editor/filemanager/connectors/py/fckoutput.py

    r1791 r2059  
    102102                self.setHttpHeaders("text/html") 
    103103                "This is the function that sends the results of the uploading process" 
    104                 return """<script type="text/javascript"> 
    105                         (function() 
    106                         { 
    107                                 var d = document.domain ; 
    108  
    109                                 while ( true ) 
    110                                 { 
    111                                         // Test if we can access a parent property. 
    112                                         try 
    113                                         { 
    114                                                 var test = window.top.opener.document.domain ; 
    115                                                 break ; 
    116                                         } 
    117                                         catch( e ) {} 
    118  
    119                                         // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ... 
    120                                         d = d.replace( /.*?(?:\.|$)/, '' ) ; 
    121  
    122                                         if ( d.length == 0 ) 
    123                                                 break ;         // It was not able to detect the domain. 
    124  
    125                                         try 
    126                                         { 
    127                                                 document.domain = d ; 
    128                                         } 
    129                                         catch (e) 
    130                                         { 
    131                                                 break ; 
    132                                         } 
    133                                 } 
    134                         })() ; 
     104                 
     105                "Minified version of the document.domain automatic fix script (#1919)." 
     106                "The original script can be found at _dev/domain_fix_template.js" 
     107                return """<script type="text/javascript">                        
     108                        (function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})(); 
    135109 
    136110                        window.parent.OnUploadCompleted(%(errorNumber)s,"%(fileUrl)s","%(fileName)s","%(customMsg)s"); 
  • FCKeditor/trunk/_whatsnew.html

    r2058 r2059  
    130130                        placeholder was not being properly displayed in the compressed distribution version 
    131131                        and nightly builds.</li> 
     132                <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2115">#2115</a>] Fixed  
     133                        JavaScript (permission denied) error in Firefox when file has been uploaded.</li> 
    132134        </ul> 
    133135        <h3>