Ticket #6502: 6502_3.patch

File 6502_3.patch, 6.6 KB (added by Tobiasz Cudnik, 10 years ago)
  • _source/core/imagecacher.js

     
    1 /*
    2 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
    3 For licensing, see LICENSE.html or http://ckeditor.com/license
    4 */
    5 
    6 (function()
    7 {
    8         var loaded = {};
    9 
    10         var loadImage = function( image, callback )
    11         {
    12                 var doCallback = function()
    13                         {
    14                                 img.removeAllListeners();
    15                                 loaded[ image ] = 1;
    16                                 callback();
    17                         };
    18 
    19                 var img = new CKEDITOR.dom.element( 'img' );
    20                 img.on( 'load', doCallback );
    21                 img.on( 'error', doCallback );
    22                 img.setAttribute( 'src', image );
    23         };
    24 
    25         /**
    26          * @namespace Load images into the browser cache.
    27          */
    28         CKEDITOR.imageCacher =
    29         {
    30                 /**
    31                  * Loads one or more images.
    32                  * @param {Array} images The URLs of the images to be loaded.
    33                  * @param {Function} [callback] A function to be called once all images
    34                  *              are loaded.
    35                  * @return {CKEDITOR.event} An event object which fires the 'loaded'
    36                  *              event when all images are completely loaded. Additionally, the
    37                  *              "finished" property is set after the "loaded" event call.
    38                  * @example
    39                  * var loader = CKEDITOR.imageCacher.load( [ '/image1.png', 'image2.png' ] );
    40                  * if ( !loader.finished )
    41                  * {
    42                  *     loader.on( 'load', function()
    43                  *         {
    44                  *             alert( 'All images are loaded' );
    45                  *         });
    46                  * }
    47                  */
    48                 load : function( images, callback )
    49                 {
    50                         var pendingCount = images.length;
    51 
    52                         var event = new CKEDITOR.event;
    53                         event.on( 'loaded', function()
    54                                 {
    55                                         event.finished = 1;
    56                                 });
    57 
    58                         if ( callback )
    59                                 event.on( 'loaded', callback );
    60 
    61                         var checkPending = function()
    62                                 {
    63                                         if ( --pendingCount === 0 )
    64                                                 event.fire( 'loaded' );
    65                                 };
    66 
    67                         for ( var i = 0 ; i < images.length ; i++ )
    68                         {
    69                                 var image = images[ i ];
    70 
    71                                 if ( loaded[ image ] )
    72                                         checkPending();
    73                                 else
    74                                         loadImage( image, checkPending );
    75                         }
    76 
    77                         return event;
    78                 }
    79         };
    80 })();
  • _source/core/skins.js

     
    1717{
    1818        // Holds the list of loaded skins.
    1919        var loaded = {},
    20                 preloaded = {},
    2120                paths = {};
    2221
    2322        var loadPart = function( editor, skinName, part, callback )
     
    5453                                        } );
    5554                }
    5655
    57                 // Check if we need to preload images from it.
    58                 var preload = skinDefinition.preload;
    59                 if ( preload && preload.length > 0 )
    60                 {
    61                         if ( !preloaded[ skinName ] )
    62                         {
    63                                 // Prepare image URLs
    64                                 appendSkinPath( preload );
    65 
    66                                 // Get preloader event dispatcher object.
    67                                 preloaded[ skinName ] = CKEDITOR.imageCacher.load( preload );
    68                         }
    69 
    70                         if ( !preloaded[ skinName ].finished )
    71                         {
    72                                 // Bind listener for this editor instance.
    73                                 preloaded[ skinName ].on( 'loaded', function()
    74                                         {
    75                                                 loadPart( editor, skinName, part, callback );
    76                                         }
    77                                 );
    78 
    79                                 // Execution will be continued from event listener.
    80                                 return;
    81                         }
    82                 }
    83 
    8456                // Get the part definition.
    8557                part = skinDefinition[ part ];
    8658                var partIsLoaded = !part || !!part._isLoaded;
  • _source/skins/office2003/skin.js

     
    55
    66CKEDITOR.skins.add( 'office2003', (function()
    77{
    8         var preload = [];
    9 
    10         if ( CKEDITOR.env.ie && CKEDITOR.env.version < 7 )
    11         {
    12                 // For IE6, we need to preload some images, otherwhise they will be
    13                 // downloaded several times (CSS background bug).
    14                 preload.push( 'icons.png', 'images/sprites_ie6.png', 'images/dialog_sides.gif' );
    15         }
    16 
    178        return {
    18                 preload         : preload,
    199                editor          : { css : [ 'editor.css' ] },
    2010                dialog          : { css : [ 'dialog.css' ] },
    2111                templates       : { css : [ 'templates.css' ] },
  • _source/skins/kama/skin.js

     
    55
    66CKEDITOR.skins.add( 'kama', (function()
    77{
    8         var preload = [],
    9                 uiColorStylesheetId = 'cke_ui_color';
     8        var uiColorStylesheetId = 'cke_ui_color';
    109
    11         if ( CKEDITOR.env.ie && CKEDITOR.env.version < 7 )
    12         {
    13                 // For IE6, we need to preload some images, otherwhise they will be
    14                 // downloaded several times (CSS background bug).
    15                 preload.push( 'icons.png', 'images/sprites_ie6.png', 'images/dialog_sides.gif' );
    16         }
    17 
    1810        return {
    19                 preload         : preload,
    2011                editor          : { css : [ 'editor.css' ] },
    2112                dialog          : { css : [ 'dialog.css' ] },
    2213                templates       : { css : [ 'templates.css' ] },
  • _source/skins/v2/skin.js

     
    55
    66CKEDITOR.skins.add( 'v2', (function()
    77{
    8         var preload = [];
    9 
    10         if ( CKEDITOR.env.ie && CKEDITOR.env.version < 7 )
    11         {
    12                 // For IE6, we need to preload some images, otherwhise they will be
    13                 // downloaded several times (CSS background bug).
    14                 preload.push( 'icons.png', 'images/sprites_ie6.png', 'images/dialog_sides.gif' );
    15         }
    16 
    178        return {
    18                 preload         : preload,
    199                editor          : { css : [ 'editor.css' ] },
    2010                dialog          : { css : [ 'dialog.css' ] },
    2111                templates       : { css : [ 'templates.css' ] },
  • _source/core/loader.js

     
    5959                        'core/htmlparser/cdata'         : [ 'core/htmlparser' ],
    6060                        'core/htmlparser/filter'        : [ 'core/htmlparser' ],
    6161                        'core/htmlparser/basicwriter': [ 'core/htmlparser' ],
    62                         'core/imagecacher'              : [ 'core/dom/element', 'core/event' ],
    6362                        'core/lang'                             : [],
    6463                        'core/plugins'                  : [ 'core/resourcemanager' ],
    6564                        'core/resourcemanager'  : [ 'core/scriptloader', 'core/tools' ],
    6665                        'core/scriptloader'             : [ 'core/dom/element', 'core/env' ],
    67                         'core/skins'                    : [ 'core/imagecacher', 'core/scriptloader' ],
     66                        'core/skins'                    : [ 'core/scriptloader' ],
    6867                        'core/themes'                   : [ 'core/resourcemanager' ],
    6968                        'core/tools'                    : [ 'core/env' ],
    7069                        'core/ui'                               : [],
  • ckeditor.pack

     
    109109                                        '_source/core/scriptloader.js',
    110110                                        '_source/core/resourcemanager.js',
    111111                                        '_source/core/plugins.js',
    112                                         '_source/core/imagecacher.js',
    113112                                        '_source/core/skins.js',
    114113                                        '_source/core/themes.js',
    115114                                        '_source/core/ui.js',
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy