Ticket #1694: 1694.patch

File 1694.patch, 10.5 KB (added by Martin Kou, 11 years ago)

Proposed patch for fixing #1694.

  • editor/_source/classes/fckcontextmenu.js

     
    123123                        var overrideButton = FCKContextMenu_OverrideButton ;
    124124                        if( !overrideButton )
    125125                        {
    126                                 var doc = e.target.ownerDocument ;
     126                                var doc = FCKTools.GetElementDocument( e.target ) ;
    127127                                overrideButton = FCKContextMenu_OverrideButton = doc.createElement('input') ;
    128128                                overrideButton.type = 'button' ;
    129129                                var buttonHolder = doc.createElement('p') ;
  • editor/_source/classes/fckenterkey.js

     
    420420                        // We'll need to append a placeholder or the list item wouldn't be editable. (Bug #1420)
    421421                        if ( eNextBlock.nodeName.IEquals( 'li' ) && eNextBlock.firstChild
    422422                                        && eNextBlock.firstChild.nodeName.IEquals( ['ul', 'ol'] ) )
    423                                 eNextBlock.insertBefore( eNextBlock.ownerDocument.createTextNode( '\xa0' ), eNextBlock.firstChild ) ;
     423                                eNextBlock.insertBefore( FCKTools.GetElementDocument( eNextBlock ).createTextNode( '\xa0' ), eNextBlock.firstChild ) ;
    424424                        // Move the selection to the end block.
    425425                        if ( eNextBlock )
    426426                                oRange.MoveToElementEditStart( eNextBlock ) ;
  • editor/_source/commandclasses/fckblockquotecommand.js

     
    126126                                block = tmp.shift() ;
    127127                                if ( block.nodeName.IEquals( 'blockquote' ) )
    128128                                {
    129                                         var docFrag = block.ownerDocument.createDocumentFragment() ;
     129                                        var docFrag = FCKTools.GetElementDocument( block ).createDocumentFragment() ;
    130130                                        while ( block.firstChild )
    131131                                        {
    132132                                                docFrag.appendChild( block.removeChild( block.firstChild ) ) ;
     
    203203                                        var firstTime = true ;
    204204                                        if ( node.nodeName.IEquals( 'div' ) )
    205205                                        {
    206                                                 var docFrag = node.ownerDocument.createDocumentFragment() ;
     206                                                var docFrag = FCKTools.GetElementDocument( node ).createDocumentFragment() ;
    207207                                                var needBeginBr = firstTime && node.previousSibling &&
    208208                                                        !FCKListsLib.BlockBoundaries[node.previousSibling.nodeName.toLowerCase()] ;
    209209                                                if ( firstTime && needBeginBr )
    210                                                         docFrag.appendChild( node.ownerDocument.createElement( 'br' ) ) ;
     210                                                        docFrag.appendChild( FCKTools.GetElementDocument( node ).createElement( 'br' ) ) ;
    211211                                                var needEndBr = node.nextSibling &&
    212212                                                        !FCKListsLib.BlockBoundaries[node.nextSibling.nodeName.toLowerCase()] ;
    213213                                                while ( node.firstChild )
    214214                                                        docFrag.appendChild( node.removeChild( node.firstChild ) ) ;
    215215                                                if ( needEndBr )
    216                                                         docFrag.appendChild( node.ownerDocument.createElement( 'br' ) ) ;
     216                                                        docFrag.appendChild( FCKTools.GetElementDocument( node ).createElement( 'br' ) ) ;
    217217                                                node.parentNode.replaceChild( docFrag, node ) ;
    218218                                                firstTime = false ;
    219219                                        }
  • editor/_source/commandclasses/fcklistcommands.js

     
    252252                        selectedListItems.push( itemNode ) ;
    253253                        FCKDomTools.SetElementMarker( markerObj, itemNode, '_FCK_ListItem_Processed', true ) ;
    254254                }
    255                 var fakeParent = groupObj.root.ownerDocument.createElement( this.TagName ) ;
     255                var fakeParent = FCKTools.GetElementDocument( groupObj.root ).createElement( this.TagName ) ;
    256256                for ( var i = 0 ; i < selectedListItems.length ; i++ )
    257257                {
    258258                        var listIndex = selectedListItems[i]._FCK_ListArray_Index ;
     
    270270        _CreateList : function( groupObj, listsCreated )
    271271        {
    272272                var contents = groupObj.contents ;
    273                 var doc = groupObj.root.ownerDocument ;
     273                var doc = FCKTools.GetElementDocument( groupObj.root ) ;
    274274                var listContents = [] ;
    275275
    276276                // It is possible to have the contents returned by DomRangeIterator to be the same as the root.
  • editor/_source/internals/fck.js

     
    880880                                var clearContents = false ;
    881881                                if ( !paddingNode.childNodes.firstChild )
    882882                                {
    883                                         paddingNode.appendChild( paddingNode.ownerDocument.createTextNode( '\ufeff' ) ) ;
     883                                        paddingNode.appendChild( FCKTools.GetElementDocument( paddingNode ).createTextNode( '\ufeff' ) ) ;
    884884                                        clearContents = true ;
    885885                                }
    886886                                range.moveToElementText( paddingNode ) ;
  • editor/_source/internals/fckdomtools.js

     
    609609        GetNodeAddress : function( node, normalized )
    610610        {
    611611                var retval = [] ;
    612                 while ( node && node != node.ownerDocument.documentElement )
     612                while ( node && node != FCKTools.GetElementDocument( node ).documentElement )
    613613                {
    614614                        var parentNode = node.parentNode ;
    615615                        var currentIndex = -1 ;
     
    767767                        baseIndex = 0 ;
    768768                if ( ! listArray || listArray.length < baseIndex + 1 )
    769769                        return null ;
    770                 var doc = listArray[baseIndex].parent.ownerDocument ;
     770                var doc = FCKTools.GetElementDocument( listArray[baseIndex].parent ) ;
    771771                var retval = doc.createDocumentFragment() ;
    772772                var rootNode = null ;
    773773                var currentIndex = baseIndex ;
     
    935935        GetPositionedAncestor : function( w, element )
    936936        {
    937937                var currentElement = element ;
    938                 while ( currentElement != currentElement.ownerDocument.documentElement )
     938                while ( currentElement != FCKTools.GetElementDocument( currentElement ).documentElement )
    939939                {
    940940                        if ( this.GetCurrentElementStyle( w, currentElement, 'position' ) != 'static' )
    941941                                return currentElement ;
  • editor/_source/internals/fcktablehandler.js

     
    366366
    367367        var baseColIdx = colIdx - selectionGeometry.x ;
    368368        var baseRowIdx = rowIdx - selectionGeometry.y ;
    369         var cellContents = refCell.ownerDocument.createDocumentFragment() ;
     369        var cellContents = FCKTools.GetElementDocument( refCell ).createDocumentFragment() ;
    370370        for ( var i = 0 ; i < selectionGeometry.height ; i++ )
    371371        {
    372372                var rowChildNodesCount = 0 ;
     
    385385                        }
    386386                }
    387387                if ( rowChildNodesCount > 0 )
    388                         cellContents.appendChild( refCell.ownerDocument.createElement( 'br' ) ) ;
     388                        cellContents.appendChild( FCKTools.GetElementDocument( refCell ).createElement( 'br' ) ) ;
    389389        }
    390390
    391391        this._ReplaceCellsByMarker( tableMap, '_SelectedCells', refCell ) ;
     
    430430        var tableMap = target.tableMap ;
    431431        var nextCell = target.nextCell ;
    432432
    433         var cellContents = refCell.ownerDocument.createDocumentFragment() ;
     433        var cellContents = FCKTools.GetElementDocument( refCell ).createDocumentFragment() ;
    434434        while ( nextCell && nextCell.childNodes && nextCell.childNodes.length > 0 )
    435435                cellContents.appendChild( nextCell.removeChild( nextCell.firstChild ) ) ;
    436436        if ( cellContents.firstChild )
    437                 cellContents.insertBefore( nextCell.ownerDocument.createElement( 'br' ), cellContents.firstChild ) ;
     437                cellContents.insertBefore( FCKTools.GetElementDocument( nextCell ).createElement( 'br' ), cellContents.firstChild ) ;
    438438        refCell.appendChild( cellContents ) ;
    439439        this._MarkCells( [nextCell], '_Replace' ) ;
    440440        this._ReplaceCellsByMarker( tableMap, '_Replace', refCell ) ;
     
    460460                // Splittng a multi-column cell - original cell gets ceil(colSpan/2) columns,
    461461                // new cell gets floor(colSpan/2).
    462462                var newCellSpan = Math.ceil( cellSpan / 2 ) ;
    463                 var newCell = refCell.ownerDocument.createElement( 'td' ) ;
     463                var newCell = FCKTools.GetElementDocument( refCell ).createElement( 'td' ) ;
    464464                if ( FCKBrowserInfo.IsGeckoLike )
    465465                        FCKTools.AppendBogusBr( newCell ) ;
    466466                var startIdx = colIdx + newCellSpan ;
     
    488488                        if ( tableMap[i][colIdx] == refCell )
    489489                        {
    490490                                newRow.push( refCell ) ;
    491                                 newRow.push( refCell.ownerDocument.createElement( 'td' ) ) ;
     491                                newRow.push( FCKTools.GetElementDocument( refCell ).createElement( 'td' ) ) ;
    492492                                if ( FCKBrowserInfo.IsGeckoLike )
    493493                                        FCKTools.AppendBogusBr( newRow[newRow.length - 1] ) ;
    494494                        }
     
    755755        // Insert physical rows and columns to the table.
    756756        for ( var i = 0 ; i < tableMap.length ; i++ )
    757757        {
    758                 var rowObj = table.ownerDocument.createElement( 'tr' ) ;
     758                var rowObj = FCKTools.GetElementDocument( table ).createElement( 'tr' ) ;
    759759                for ( var j = 0 ; j < tableMap[i].length ; )
    760760                {
    761761                        var cell = tableMap[i][j] ;
  • editor/_source/internals/fckxhtml.js

     
    2727
    2828FCKXHtml.GetXHTML = function( node, includeNode, format )
    2929{
    30         FCKDomTools.CheckAndRemovePaddingNode( node.ownerDocument, FCKConfig.EnterMode ) ;
     30        FCKDomTools.CheckAndRemovePaddingNode( FCKTools.GetElementDocument( node ), FCKConfig.EnterMode ) ;
    3131        FCKXHtmlEntities.Initialize() ;
    3232
    3333        // Set the correct entity to use for empty blocks.
  • editor/plugins/dragresizetable/fckplugin.js

     
    307307                // We need to resolve the mouse pointer position relative to the editing area iframe.
    308308                var mouseX = evt.clientX ;
    309309                var mouseY = evt.clientY ;
    310                 if ( node.ownerDocument == document )
     310                if ( FCKTools.GetElementDocument( node ) == document )
    311311                {
    312312                        var offset = FCKTools.GetDocumentPosition( window, FCK.EditingArea.IFrame ) ;
    313313                        mouseX -= offset.x ;
     
    371371
    372372                // Convert mouse coordinates in reference to the outer iframe.
    373373                var node = evt.srcElement || evt.target ;
    374                 if ( node.ownerDocument == FCK.EditorDocument )
     374                if ( FCKTools.GetElementDocument( node ) == FCK.EditorDocument )
    375375                {
    376376                        var offset = FCKTools.GetDocumentPosition( window, FCK.EditingArea.IFrame ) ;
    377377                        mouse.x += offset.x ;
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy