Ticket #3672: 3672.patch

File 3672.patch, 5.7 KB (added by Tobiasz Cudnik, 10 years ago)
  • _source/plugins/dialog/plugin.js

     
    329329
    330330                                if ( CKEDITOR.env.ie6Compat )
    331331                                {
    332                                         var coverDoc = CKEDITOR.document.getById( 'cke_dialog_background_iframe' ).getFrameDocument();
     332                                        var coverDoc = coverElement.getFrameDocument();
    333333                                        coverDoc.on( 'keydown', focusKeydownHandler, this, null, 0 );
    334334                                }
    335335                        } );
     
    14001400
    14011401                        if ( CKEDITOR.env.ie6Compat )
    14021402                        {
    1403                                 var coverDoc = CKEDITOR.document.getById( 'cke_dialog_background_iframe' ).getFrameDocument();
     1403                                var coverDoc = coverElement.getFrameDocument();
    14041404                                coverDoc.removeListener( 'mousemove', mouseMoveHandler );
    14051405                                coverDoc.removeListener( 'mouseup', mouseUpHandler );
    14061406                        }
     
    14161416
    14171417                                if ( CKEDITOR.env.ie6Compat )
    14181418                                {
    1419                                         var coverDoc = CKEDITOR.document.getById( 'cke_dialog_background_iframe' ).getFrameDocument();
     1419                                        var coverDoc = coverElement.getFrameDocument();
    14201420                                        coverDoc.on( 'mousemove', mouseMoveHandler );
    14211421                                        coverDoc.on( 'mouseup', mouseUpHandler );
    14221422                                }
     
    14741474
    14751475                        if ( CKEDITOR.env.ie6Compat )
    14761476                        {
    1477                                 var coverDoc = CKEDITOR.document.getById( 'cke_dialog_background_iframe' ).getFrameDocument();
     1477                                var coverDoc = coverElement.getFrameDocument();
    14781478                                coverDoc.on( 'mousemove', mouseMoveHandler, dialog, { part : partName } );
    14791479                                coverDoc.on( 'mouseup', mouseUpHandler, dialog, { part : partName } );
    14801480                        }
     
    15451545
    15461546                        if ( CKEDITOR.env.ie6Compat )
    15471547                        {
    1548                                 var coverDoc = CKEDITOR.document.getById( 'cke_dialog_background_iframe' ).getFrameDocument();
     1548                                var coverDoc = coverElement.getFrameDocument();
    15491549                                coverDoc.removeListener( 'mouseup', mouseUpHandler );
    15501550                                coverDoc.removeListener( 'mousemove', mouseMoveHandler );
    15511551                        }
     
    15691569        }
    15701570
    15711571        var resizeCover;
     1572        var coverElement;
    15721573
    15731574        var addCover = function( editor )
    15741575        {
    15751576                var win = CKEDITOR.document.getWindow();
    15761577
    1577                 var html = [
    1578                                 '<div style="position: ', ( CKEDITOR.env.ie6Compat ? 'absolute' : 'fixed' ),
    1579                                 '; z-index: ', editor.config.baseFloatZIndex,
    1580                                 '; top: 0px; left: 0px; ',
    1581                                 'background-color: ', editor.config.dialog_backgroundCoverColor,
    1582                                 '" id="cke_dialog_background_cover">'
    1583                         ];
     1578                if ( !coverElement )
     1579                {
     1580                        var html = [
     1581                                        '<div style="position: ', ( CKEDITOR.env.ie6Compat ? 'absolute' : 'fixed' ),
     1582                                        '; z-index: ', editor.config.baseFloatZIndex,
     1583                                        '; top: 0px; left: 0px; ',
     1584                                        'background-color: ', editor.config.dialog_backgroundCoverColor,
     1585                                        '" id="cke_dialog_background_cover">'
     1586                                ];
    15841587
    1585                 if ( CKEDITOR.env.ie6Compat )
    1586                 {
    1587                         // Support for custom document.domain in IE.
    1588                         var isCustomDomain = CKEDITOR.env.isCustomDomain();
     1588
     1589                        if ( CKEDITOR.env.ie6Compat )
     1590                        {
     1591                                // Support for custom document.domain in IE.
     1592                                var isCustomDomain = CKEDITOR.env.isCustomDomain();
    15891593
    1590                         html.push(
    1591                                 '<iframe' +
    1592                                         ' hidefocus="true"' +
    1593                                         ' frameborder="0"' +
    1594                                         ' id="cke_dialog_background_iframe"' +
    1595                                         ' src="javascript:' );
     1594                                html.push(
     1595                                        '<iframe' +
     1596                                                ' hidefocus="true"' +
     1597                                                ' frameborder="0"' +
     1598                                                ' id="cke_dialog_background_iframe"' +
     1599                                                ' src="javascript:' );
    15961600
    1597                         html.push(
    1598                                         isCustomDomain ?
    1599                                                 'void((function(){' +
    1600                                                         'document.open();' +
    1601                                                         'document.domain=\'' + document.domain + '\';' +
    1602                                                         'document.close();' +
    1603                                                 '})())'
    1604                                         :
    1605                                                 '\'\'' );
     1601                                html.push(
     1602                                                isCustomDomain ?
     1603                                                        'void((function(){' +
     1604                                                                'document.open();' +
     1605                                                                'document.domain=\'' + document.domain + '\';' +
     1606                                                                'document.close();' +
     1607                                                        '})())'
     1608                                                :
     1609                                                        '\'\'' );
    16061610
    1607                         html.push(
    1608                                         '"' +
    1609                                         ' style="' +
    1610                                                 'position:absolute;' +
    1611                                                 'left:0;' +
    1612                                                 'top:0;' +
    1613                                                 'width:100%;' +
    1614                                                 'height: 100%;' +
    1615                                                 'progid:DXImageTransform.Microsoft.Alpha(opacity=0)">' +
    1616                                 '</iframe>' );
    1617                 }
     1611                                html.push(
     1612                                                '"' +
     1613                                                ' style="' +
     1614                                                        'position:absolute;' +
     1615                                                        'left:0;' +
     1616                                                        'top:0;' +
     1617                                                        'width:100%;' +
     1618                                                        'height: 100%;' +
     1619                                                        'progid:DXImageTransform.Microsoft.Alpha(opacity=0)">' +
     1620                                        '</iframe>' );
     1621                        }
    16181622
    1619                 html.push( '</div>' );
     1623                        html.push( '</div>' );
    16201624
    1621                 var element = CKEDITOR.dom.element.createFromHtml( html.join( '' ) );
     1625                        coverElement = CKEDITOR.dom.element.createFromHtml( html.join( '' ) );
     1626                }
    16221627
     1628                var element = coverElement;
     1629
    16231630                var resizeFunc = function()
    16241631                {
    16251632                        var size = win.getViewPaneSize();
     
    16721679
    16731680        var removeCover = function()
    16741681        {
    1675                 var element = CKEDITOR.document.getById( 'cke_dialog_background_cover' ),
    1676                         win = CKEDITOR.document.getWindow();
    1677                 if ( element )
    1678                 {
    1679                         element.remove();
    1680                         win.removeListener( 'resize', resizeCover );
     1682                if ( !coverElement )
     1683                        return;
     1684               
     1685                var win = CKEDITOR.document.getWindow();
     1686                coverElement.remove();
     1687                win.removeListener( 'resize', resizeCover );
    16811688
    1682                         if ( CKEDITOR.env.ie6Compat )
    1683                         {
    1684                                 win.$.setTimeout( function()
    1685                                         {
    1686                                                 var prevScrollHandler = window.onscroll && window.onscroll.prevScrollHandler;
    1687                                                 window.onscroll = prevScrollHandler || null;
    1688                                         }, 0 );
    1689                         }
    1690                         resizeCover = null;
    1691                 }
     1689                if ( CKEDITOR.env.ie6Compat )
     1690                {
     1691                        win.$.setTimeout( function()
     1692                                {
     1693                                        var prevScrollHandler = window.onscroll && window.onscroll.prevScrollHandler;
     1694                                        window.onscroll = prevScrollHandler || null;
     1695                                }, 0 );
     1696                }
     1697                resizeCover = null;
    16921698        };
    16931699
    16941700        var accessKeyProcessors = {};
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy