Ticket #2363: 2363.patch

File 2363.patch, 2.3 KB (added by fredck, 6 months ago)
  • _whatsnew.html

     
    8282                        in the Paste dialog.</li> 
    8383                <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1907">#1907</a>] Fixed sporadic 
    8484                        "FCKeditorAPI is not defined" errors in Firefox 3.</li> 
     85                <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2363">#2363</a>] There 
     86                        were some sporadic "Permission Denied" errors with IE on some situations.</li> 
    8587        </ul> 
    8688        <p> 
    8789                <a href="_whatsnew_history.html">See previous versions history</a></p> 
  • editor/_source/internals/fckdocumentprocessor.js

     
    142142                el.parentNode.replaceChild( replaceElement, el ) ; 
    143143        } 
    144144 
     145        var processElementsByName = function( elementName, doc ) 
     146        { 
     147                var aObjects = doc.getElementsByTagName( elementName ); 
     148                for ( var i = aObjects.length - 1 ; i >= 0 ; i-- ) 
     149                        processElement( aObjects[i] ) ; 
     150        } 
     151 
     152        var processObjectAndEmbed = function( doc ) 
     153        { 
     154                processElementsByName( 'object', doc ); 
     155                processElementsByName( 'embed', doc ); 
     156        } 
     157 
    145158        return FCKTools.Merge( FCKDocumentProcessor.AppendNew(), 
    146159                       { 
    147160                                ProcessDocument : function( doc ) 
    148161                                { 
    149162                                        // Firefox 3 would sometimes throw an unknown exception while accessing EMBEDs and OBJECTs 
    150163                                        // without the setTimeout(). 
    151                                         FCKTools.RunFunction( function() 
    152                                                 { 
    153                                                         // Process OBJECTs first, since EMBEDs can sometimes go inside OBJECTS (e.g. Flash). 
    154                                                         var aObjects = doc.getElementsByTagName( 'object' ); 
    155                                                         for ( var i = aObjects.length - 1 ; i >= 0 ; i-- ) 
    156                                                                 processElement( aObjects[i] ) ; 
    157  
    158                                                         // Now process any EMBEDs left. 
    159                                                         var aEmbeds = doc.getElementsByTagName( 'embed' ) ; 
    160                                                         for ( var i = aEmbeds.length - 1 ; i >= 0 ; i-- ) 
    161                                                                 processElement( aEmbeds[i] ) ; 
    162                                                 } ) ; 
     164                                        if ( FCKBrowserInfo.IsGecko ) 
     165                                                FCKTools.RunFunction( processObjectAndEmbed, this, [ doc ] ) ; 
     166                                        else 
     167                                                processObjectAndEmbed( doc ) ; 
    163168                                }, 
    164169 
    165170                                RefreshView : function( placeHolder, original )