Changeset 6062


Ignore:
Timestamp:
11/09/10 15:51:29 (3 years ago)
Author:
garry.yao
Message:

Merge trunk [6005:6061].

Location:
CKEditor/branches/features/adobeair
Files:
57 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/branches/features/adobeair

  • CKEditor/branches/features/adobeair/CHANGES.html

    r6006 r6062  
    3636        </h1> 
    3737        <h3> 
    38                         CKEditor 3.4.2 (SVN)</h3> 
     38                        CKEditor 3.4.3 (SVN)</h3> 
     39        <p> 
     40                        New features:</p> 
     41        <ul> 
     42                <li></li> 
     43        </ul> 
     44        <p> 
     45                        Fixed issues:</p> 
     46        <ul> 
     47                <li><a href="http://dev.ckeditor.com/ticket/6569">#6569</a> : Indentation now honors text direction of the only item.</li> 
     48                <li><a href="http://dev.ckeditor.com/ticket/6579">#6579</a> : The jQuery adapter wasn't working properly tunning on incompatible environments.</li> 
     49                <li><a href="http://dev.ckeditor.com/ticket/6471">#6471</a> : BIDI: Pressing decrease indent in an RTL bulleted list causes incorrect behaviour.</li> 
     50                <li><a href="http://dev.ckeditor.com/ticket/6644">#6644</a> : Restrict onmousedown handler to the toolbar area.</li> 
     51                <li><a href="http://dev.ckeditor.com/ticket/6656">#6656</a> : Panelbutton's buttons became active when clicking on source.</li> 
     52        </ul> 
     53        <h3> 
     54                        CKEditor 3.4.2</h3> 
    3955        <p> 
    4056                        New features:</p> 
     
    4763                <li><a href="http://dev.ckeditor.com/ticket/5237">#5237</a> : English text in dialogs' title was flipped when using RTL language (office2003 and v2 skins).</li> 
    4864                <li><a href="http://dev.ckeditor.com/ticket/6289">#6289</a> : Deleting nested table removed the parent cell.</li> 
    49                 <li><a href="http://dev.ckeditor.com/ticket/6341">#6341</a> : The editor contents now has the text cursor.</li> 
     65                <li><a href="http://dev.ckeditor.com/ticket/6341">#6341</a> : The editor contents now have the text cursor.</li> 
    5066                <li><a href="http://dev.ckeditor.com/ticket/6153">#6153</a> : Chrome: tab focus is wrong.</li> 
    5167                <li><a href="http://dev.ckeditor.com/ticket/6261">#6261</a> : Focus and infinite loop between multiple editors.</li> 
     
    6278                <li><a href="http://dev.ckeditor.com/ticket/6377">#6377</a> : FF width and height are not shown for smiley in Image properties dialog.</li> 
    6379                <li><a href="http://dev.ckeditor.com/ticket/5399">#5399</a> : Lists pasted from Word do not maintain their nesting.</li> 
    64                 <li><a href="http://dev.ckeditor.com/ticket/6225">#6225</a> : [FF] Can not transform sevaral lines to list with enterMode BR.</li> 
     80                <li><a href="http://dev.ckeditor.com/ticket/6225">#6225</a> : [FF] Cannot transform several lines to list with enterMode BR.</li> 
    6581                <li><a href="http://dev.ckeditor.com/ticket/6467">#6467</a> : [FF] It is now possible to disable the plugin command on "mode" event.</li> 
    6682                <li><a href="http://dev.ckeditor.com/ticket/6461">#6461</a> : Attributes are now being kept when changing block formatting.</li> 
     
    6985                <li><a href="http://dev.ckeditor.com/ticket/6444">#6444</a> : [Opera] Close panels and dialogs don't return focus to wysiwyg frame.</li> 
    7086                <li><a href="http://dev.ckeditor.com/ticket/6332">#6332</a> : IE: V2 skin bottom dialog's border broken.</li> 
    71                 <li><a href="http://dev.ckeditor.com/ticket/5646">#5646</a> : Parser incorreclty removes inline element when there's only one comment node enclosed.</li> 
     87                <li><a href="http://dev.ckeditor.com/ticket/5646">#5646</a> : Parser incorrectly removes inline element when there's only one comment node enclosed.</li> 
    7288                <li><a href="http://dev.ckeditor.com/ticket/6189">#6189</a> : Minor code size reduction.</li> 
    7389                <li><a href="http://dev.ckeditor.com/ticket/5045">#5045</a> : uiColor behaved wrong if multiple editors were used with period in their names.</li> 
     
    7793                <li><a href="http://dev.ckeditor.com/ticket/6253">#6253</a> : BIDI: creating a Numbered/Bulleted list causing improper behavior on bidi.</li> 
    7894                <li><a href="http://dev.ckeditor.com/ticket/4023">#4023</a> : [Opera] Maximize plugin.</li> 
    79                 <li><a href="http://dev.ckeditor.com/ticket/6403">#6403</a> : [Opera] Font name options is not correctly marked in dropdown list.</li> 
     95                <li><a href="http://dev.ckeditor.com/ticket/6403">#6403</a> : [Opera] Font name options are not correctly marked in dropdown list.</li> 
    8096                <li><a href="http://dev.ckeditor.com/ticket/4534">#4534</a> : [Opera] Arrow key to navigate through combo list has side effects of window scrolling.</li> 
     97                <li><a href="http://dev.ckeditor.com/ticket/6534">#6534</a> : [Opera] Menu key brings up both CKEditor and browser context menu.</li> 
     98                <li><a href="http://dev.ckeditor.com/ticket/6534">#6534</a> : [Opera] Menu key brings up both CKEditor and browser context menu.</li> 
    8199                <li><a href="http://dev.ckeditor.com/ticket/6416">#6416</a> : [IE9] Unable to make text selection with mouse in source area.</li> 
    82100                <li><a href="http://dev.ckeditor.com/ticket/6417">#6417</a> : [IE9] Context menu opens at the upper-left corner always.</li> 
     
    90108                <li><a href="http://dev.ckeditor.com/ticket/5626">#5626</a> : CKeditor 3.2.1 : html content attached makes ckeditor crash the browser FF/IE.</li> 
    91109                <li><a href="http://dev.ckeditor.com/ticket/6508">#6508</a> : BiDi: Margin mirroring logic doesn't honor CSS direction.</li> 
    92                 <li><a href="http://dev.ckeditor.com/ticket/6043">#6043</a> : BIDI: When we apply RTL direction to a right aligned Paragraph, Paragraph is not moved to left & Alignment of Paragraph is not changed.</li> 
    93                 <li><a href="http://dev.ckeditor.com/ticket/6485">#6485</a> : BIDI: When direction is applied on partial selected list, the style is been incorrectly applied on the entired list.</li> 
    94                 <li><a href="http://dev.ckeditor.com/ticket/6087">#6087</a> : Cursor of input fields in dialog isn't visible in RLT .</li> 
     110                <li><a href="http://dev.ckeditor.com/ticket/6043">#6043</a> : BIDI: When we apply RTL direction to a right aligned Paragraph, Paragraph is not moved to the left & Alignment of Paragraph is not changed.</li> 
     111                <li><a href="http://dev.ckeditor.com/ticket/6485">#6485</a> : BIDI: When direction is applied on partial selected list, the style is been incorrectly applied to the entire list.</li> 
     112                <li><a href="http://dev.ckeditor.com/ticket/6087">#6087</a> : Cursor of input fields in dialog isn't visible in RTL.</li> 
    95113                <li><a href="http://dev.ckeditor.com/ticket/5595">#5595</a> : Extra leading spaces added in preformatted block.</li> 
    96114                <li><a href="http://dev.ckeditor.com/ticket/6094">#6094</a> : Match full word option doesn't stop on block boundaries.</li> 
  • CKEditor/branches/features/adobeair/_dev/docs_build/docs_build.conf

    r6006 r6062  
    1717                '../../_source/core/', 
    1818                '../../_source/plugins/', 
    19                 '../../_source/skins/kama/skin.js' 
     19                '../../_source/skins/kama/skin.js', 
     20                '../../_source/themes/default/theme.js' 
    2021        ], 
    2122 
  • CKEditor/branches/features/adobeair/_dev/docs_build/template/class.tmpl

    r6006 r6062  
    5454                                        {+ data.version +}.<br /> 
    5555                                </if> 
     56 
     57                                {+resolveLinks(data.classDesc)+} 
     58                                 
    5659                                <if test="data.augments.length"><br />Extends 
    5760                                        {+ 
     
    6265                                                ) 
    6366                                                .join(", ") 
    64                                         +}.<br /> 
     67                                        +}. 
    6568                                </if> 
    6669                         
    67                                 {+resolveLinks(data.classDesc)+} 
    68                                  
    6970                                <if test="!data.isBuiltin()">{# isn't defined in any file #} 
    7071                                        <br /><i>Defined in: </i> {+ ckeditor_FileLink( data.srcFile ) +}. 
     
    7374 
    7475<!-- ============================== constructor summary ==================== -->                         
    75                         <if test="!data.isBuiltin() && (data.isNamespace || data.is('CONSTRUCTOR'))"> 
     76                        <if test="!data.isBuiltin() && data.is('CONSTRUCTOR')"> 
    7677                        <table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class {+data.alias+}."> 
    7778                                <caption>{+classType+}Summary</caption> 
     
    313314 
    314315<!-- ============================== constructor details ==================== -->                 
    315                         <if test="!data.isBuiltin() && (data.isNamespace || data.is('CONSTRUCTOR'))"> 
     316                        <if test="!data.isBuiltin() && data.is('CONSTRUCTOR')"> 
    316317                        <div class="details"><a name="constructor"> </a> 
    317318                                <div class="sectionTitle"> 
  • CKEditor/branches/features/adobeair/_dev/docs_build/template/static/default.css

    r2935 r6062  
    3636#index 
    3737{ 
    38         margin-top: 24px; 
     38        margin-top: 14px; 
    3939        float: left; 
    40         width: 160px; 
     40        width: 220px; 
    4141        position: absolute; 
    4242        left: 8px; 
     
    4747#content 
    4848{ 
    49         margin-left: 190px; 
     49        margin-left: 250px; 
    5050} 
    5151 
  • CKEditor/branches/features/adobeair/_dev/releaser/ckreleaser.release

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • CKEditor/branches/features/adobeair/_dev/releaser/release.bat

    r6006 r6062  
    1111:: rmdir /S /Q release 
    1212 
    13 java -jar ckreleaser/ckreleaser.jar ckreleaser.release ../.. release "3.4.2 (SVN)" ckeditor_3.4.2_svn --run-before-release=langtool.bat 
     13java -jar ckreleaser/ckreleaser.jar ckreleaser.release ../.. release "3.4.3 (SVN)" ckeditor_3.4.3_svn --run-before-release=langtool.bat 
  • CKEditor/branches/features/adobeair/_dev/releaser/release.sh

    r6006 r6062  
    1313 
    1414pushd $DIR 
    15 java -jar ckreleaser/ckreleaser.jar ckreleaser.release ../.. release "3.4.2 (SVN)" ckeditor_3.4.2_svn --run-before-release=$LANGTOOL 
     15java -jar ckreleaser/ckreleaser.jar ckreleaser.release ../.. release "3.4.3 (SVN)" ckeditor_3.4.3_svn --run-before-release=$LANGTOOL 
    1616popd 
  • CKEditor/branches/features/adobeair/_samples/assets/swfobject.js

    r6006 r6062  
    1 /** 
     1/** 
    22 * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/ 
    33 * 
  • CKEditor/branches/features/adobeair/_samples/output_for_flash.html

    r6006 r6062  
    9696                                                 */ 
    9797                                                // Define the way font elements will be applied to the document. The "font" 
    98                                                 // element will be used.  
     98                                                // element will be used. 
    9999                                                font_style : 
    100100                                                { 
     
    138138 
    139139/* 
    140  * Adjust the behavior of the dataProcessor to match the  
     140 * Adjust the behavior of the dataProcessor to match the 
    141141 * requirements of Flash 
    142142 */ 
     
    173173 
    174174        // Output properties as attributes, not styles. 
    175         htmlFilter.addRules(  
     175        htmlFilter.addRules( 
    176176                { 
    177177                        elements : 
     
    218218                                                { 
    219219                                                        // Get the align from the style. 
    220                                                         match = /(?:^|\s)text-align\s*:\s*(\w*);/i.exec( style ); 
     220                                                        match = /(?:^|\s)text-align\s*:\s*(\w*);?/i.exec( style ); 
    221221                                                        align = match && match[1]; 
    222222 
  • CKEditor/branches/features/adobeair/_source/adapters/jquery.js

    r5613 r6062  
    9898                ckeditor: function( callback, config ) 
    9999                { 
     100                        if ( !CKEDITOR.env.isCompatible ) 
     101                                return this; 
     102 
    100103                        if ( !jQuery.isFunction( callback )) 
    101104                        { 
  • CKEditor/branches/features/adobeair/_source/core/ajax.js

    r5613 r6062  
    1010 
    1111/** 
    12  * Ajax methods for data loading. 
    13  * @namespace 
     12 * @namespace Ajax methods for data loading. 
    1413 * @example 
    1514 */ 
  • CKEditor/branches/features/adobeair/_source/core/ckeditor_base.js

    r6006 r6062  
    2121{ 
    2222        /** 
    23          * This is the API entry point. The entire CKEditor code runs under this object. 
    2423         * @name CKEDITOR 
    25          * @namespace 
     24         * @namespace This is the API entry point. The entire CKEditor code runs under this object. 
    2625         * @example 
    2726         */ 
  • CKEditor/branches/features/adobeair/_source/core/ckeditor_basic.js

    r6006 r6062  
    139139                }; 
    140140 
    141                 /** 
    142                  * @ignore 
    143                  * Documented at ckeditor.js. 
    144                  */ 
     141                // Documented at ckeditor.js. 
    145142                CKEDITOR.add = function( editor ) 
    146143                { 
  • CKEditor/branches/features/adobeair/_source/core/command.js

    r6006 r6062  
    199199/** 
    200200 * Fired when the command state changes. 
    201  * @name CKEDITOR.command.prototype#state 
     201 * @name CKEDITOR.command#state 
    202202 * @event 
     203 * @example 
    203204 * command.on( <b>'state'</b> , function( e ) 
    204205 *     { 
  • CKEditor/branches/features/adobeair/_source/core/commanddefinition.js

    r5613 r6062  
    1212/** 
    1313 * (Virtual Class) Do not call this constructor. This class is not really part 
    14  *              of the API. It just illustrates the features of command objects to be 
     14 * of the API. 
     15 * @name CKEDITOR.commandDefinition 
     16 * @class Virtual class that illustrates the features of command objects to be 
    1517 *              passed to the {@link CKEDITOR.editor.prototype.addCommand} function. 
    16  * @name CKEDITOR.commandDefinition 
    17  * @constructor 
    1818 * @example 
    1919 */ 
    2020 
    2121 /** 
    22  * Executes the command. 
     22 * The function to be fired when the commend is executed. 
    2323 * @name CKEDITOR.commandDefinition.prototype.exec 
    2424 * @function 
     
    3939/** 
    4040 * Whether the command need to be hooked into the redo/undo system. 
    41  * @name  CKEDITOR.commandDefinition.canUndo 
    42  * @type {Boolean} If not defined or 'true' both hook into undo system, set it 
    43  *              to 'false' explicitly  keep it out. 
     41 * @name  CKEDITOR.commandDefinition.prototype.canUndo 
     42 * @type {Boolean} 
     43 * @default true 
    4444 * @field 
    4545 * @example 
     
    5555 
    5656/** 
    57  * Whether the command is asynchronous, which means the 'afterCommandExec' event 
    58  * will be fired by the command itself manually, and the 'exec' function return value 
    59  * of this command is not to be returned. 
    60  * @name  CKEDITOR.commandDefinition.async 
    61  * @type {Boolean} If defined as 'true', the command is asynchronous. 
     57 * Whether the command is asynchronous, which means that the 
     58 * {@link CKEDITOR.editor#event:afterCommandExec} event will be fired by the 
     59 * command itself manually, and that the return value of this command is not to 
     60 * be returned by the {@link CKEDITOR.command#exec} function. 
     61 * @name  CKEDITOR.commandDefinition.prototype.async 
     62 * @default false 
     63 * @type {Boolean} 
    6264 * @example 
    63  * editorInstance.addCommand( 'alertName', 
     65 * editorInstance.addCommand( 'loadOptions', 
    6466 * { 
    6567 *     exec : function( editor ) 
    6668 *     { 
    6769 *         // Asynchronous operation below. 
    68  *         CKEDITOR.ajax.loadXml( 'data.xml' ); 
     70 *         CKEDITOR.ajax.loadXml( 'data.xml', function() 
     71 *             { 
     72 *                 editor.fire( 'afterCommandExec' ); 
     73 *             )); 
    6974 *     }, 
    7075 *     async : true    // The command need some time to complete after exec function returns. 
     
    7479/** 
    7580 * Whether the command should give focus to the editor before execution. 
    76  * @name  CKEDITOR.commandDefinition.editorFocus 
     81 * @name  CKEDITOR.commandDefinition.prototype.editorFocus 
    7782 * @type {Boolean} 
     83 * @default true 
     84 * @see CKEDITOR.command#editorFocus 
    7885 * @example 
    7986 * editorInstance.addCommand( 'maximize', 
     
    8188 *     exec : function( editor ) 
    8289 *     { 
     90 *         // ... 
    8391 *     }, 
    8492 *     editorFocus : false    // The command doesn't require focusing the editing document. 
     
    8997/** 
    9098 * Whether the command state should be set to {@link CKEDITOR.TRISTATE_DISABLED} on startup. 
    91  * @name  CKEDITOR.commandDefinition.startDisabled 
     99 * @name  CKEDITOR.commandDefinition.prototype.startDisabled 
    92100 * @type {Boolean} 
    93101 * @default false 
     
    97105 *     exec : function( editor ) 
    98106 *     { 
     107 *         // ... 
    99108 *     }, 
    100109 *     startDisabled : true    // Command is unavailable until selection is inside a link. 
    101110 * }); 
    102111 */ 
     112 
     113/** 
     114 * The editor modes within which the command can be executed. The execution 
     115 * will have no action if the current mode is not listed in this property. 
     116 * @name  CKEDITOR.commandDefinition.prototype.modes 
     117 * @type Object 
     118 * @default { wysiwyg : 1 } 
     119 * @see CKEDITOR.command#modes 
     120 * @example 
     121 * editorInstance.addCommand( 'link', 
     122 * { 
     123 *     exec : function( editor ) 
     124 *     { 
     125 *         // ... 
     126 *     }, 
     127 *     modes : { wysiwyg : 1 }    // Command is available in wysiwyg mode only. 
     128 * }); 
     129 */ 
  • CKEditor/branches/features/adobeair/_source/core/config.js

    r6006 r6062  
    99 */ 
    1010 
     11/** 
     12 * Used in conjuction with {@link CKEDITOR.config.enterMode} and 
     13 * {@link CKEDITOR.config.shiftEnterMode} to make the editor produce &lt;p&gt; 
     14 * tags when using the ENTER key. 
     15 * @constant 
     16 */ 
    1117CKEDITOR.ENTER_P        = 1; 
     18 
     19/** 
     20 * Used in conjuction with {@link CKEDITOR.config.enterMode} and 
     21 * {@link CKEDITOR.config.shiftEnterMode} to make the editor produce &lt;br&gt; 
     22 * tags when using the ENTER key. 
     23 * @constant 
     24 */ 
    1225CKEDITOR.ENTER_BR       = 2; 
     26 
     27/** 
     28 * Used in conjuction with {@link CKEDITOR.config.enterMode} and 
     29 * {@link CKEDITOR.config.shiftEnterMode} to make the editor produce &lt;div&gt; 
     30 * tags when using the ENTER key. 
     31 * @constant 
     32 */ 
    1333CKEDITOR.ENTER_DIV      = 3; 
    1434 
    1535/** 
    16  * Holds the default configuration settings. Changes to this object are 
     36 * @namespace Holds the default configuration settings. Changes to this object are 
    1737 * reflected in all editor instances, if not specificaly specified for those 
    1838 * instances. 
    19  * @namespace 
    20  * @example 
    21  * // All editor created after the following setting will not load custom 
    22  * // configuration files. 
    23  * CKEDITOR.config.customConfig = ''; 
    2439 */ 
    2540CKEDITOR.config = 
     
    5772         * editor content. 
    5873         * @type String 
    59          * @default '' (empty string) 
     74         * @default '' (empty) 
    6075         * @example 
    6176         * config.baseHref = 'http://www.example.com/path/'; 
     
    195210        /** 
    196211         * Sets the "id" attribute to be used on the body element of the editing 
    197          * area. 
     212         * area. This can be useful when reusing the original CSS file you're using 
     213         * on your live website and you want to assing to the editor the same id 
     214         * you're using for the region that'll hold the contents. In this way, 
     215         * id specific CSS rules will be enabled. 
    198216         * @since 3.1 
    199217         * @type String 
    200          * @default '' 
     218         * @default '' (empty) 
     219         * @example 
     220         * config.bodyId = 'contents_id'; 
    201221         */ 
    202222        bodyId : '', 
     
    204224        /** 
    205225         * Sets the "class" attribute to be used on the body element of the editing 
    206          * area. 
     226         * area. This can be useful when reusing the original CSS file you're using 
     227         * on your live website and you want to assing to the editor the same class 
     228         * name you're using for the region that'll hold the contents. In this way, 
     229         * class specific CSS rules will be enabled. 
    207230         * @since 3.1 
    208231         * @type String 
    209          * @default '' 
     232         * @default '' (empty) 
     233         * @example 
     234         * config.bodyClass = 'contents'; 
    210235         */ 
    211236        bodyClass : '', 
     
    389414 
    390415/** 
    391  * Indicates that some of the editor features, like alignement and text 
     416 * Indicates that some of the editor features, like alignment and text 
    392417 * direction, should used the "computed value" of the feature to indicate it's 
    393  * on/off state, instead of using the "real value". 
    394  * 
     418 * on/off state, instead of using the "real value".<br /> 
     419 * <br /> 
    395420 * If enabled, in a left to right written document, the "Left Justify" 
    396421 * alignment button will show as active, even if the aligment style is not 
  • CKEditor/branches/features/adobeair/_source/core/dom.js

    r5613 r6062  
    1010 
    1111/** 
    12  * DOM manipulation objects and function.<br /><br /> 
     12 * @namespace DOM manipulation objects, classes and functions. 
    1313 * @see CKEDITOR.dom.element 
    1414 * @see CKEDITOR.dom.node 
    15  * @namespace 
    1615 * @example 
    1716 */ 
  • CKEditor/branches/features/adobeair/_source/core/dom/documentfragment.js

    r5613 r6062  
    33For licensing, see LICENSE.html or http://ckeditor.com/license 
    44*/ 
     5 
    56/** 
    6  * DocumentFragment is a "lightweight" or "minimal" Document object. It is 
     7 * @class DocumentFragment is a "lightweight" or "minimal" Document object. It is 
    78 * commonly used to extract a portion of a document's tree or to create a new 
    89 * fragment of a document. Various operations may take DocumentFragment objects 
    910 * as arguments and results in all the child nodes of the DocumentFragment being 
    1011 * moved to the child list of this node. 
    11  * 
    1212 * @param {Object} ownerDocument 
    1313 */ 
  • CKEditor/branches/features/adobeair/_source/core/dom/domobject.js

    r6006 r6062  
    239239 
    240240        /** 
    241          * @name CKEDITOR.dom.domObject.prototype.getCustomData 
     241         * Gets an ID that can be used to identiquely identify this DOM object in 
     242         * the running session. 
     243         * @name CKEDITOR.dom.domObject.prototype.getUniqueId 
     244         * @function 
     245         * @returns {Number} A unique ID. 
    242246         */ 
    243247        domObjectProto.getUniqueId = function() 
  • CKEditor/branches/features/adobeair/_source/core/dom/elementpath.js

    r5613 r6062  
    2828        }; 
    2929 
     30        /** 
     31         * @class 
     32         */ 
    3033        CKEDITOR.dom.elementPath = function( lastNode ) 
    3134        { 
  • CKEditor/branches/features/adobeair/_source/core/dom/nodelist.js

    r5613 r6062  
    44*/ 
    55 
     6/** 
     7 * @class 
     8 */ 
    69CKEDITOR.dom.nodeList = function( nativeList ) 
    710{ 
  • CKEditor/branches/features/adobeair/_source/core/dom/range.js

    r6006 r6062  
    44*/ 
    55 
     6/** 
     7 * @class 
     8 */ 
    69CKEDITOR.dom.range = function( document ) 
    710{ 
     
    13011304                                } 
    13021305 
    1303                                 var walker = new CKEDITOR.dom.walker( walkerRange ); 
     1306                                var walker = new CKEDITOR.dom.walker( walkerRange ), 
     1307                                        isBookmark = CKEDITOR.dom.walker.bookmark(); 
    13041308 
    13051309                                walker.evaluator = function( node ) 
     
    13121316                                walker.guard = function( node, movingOut ) 
    13131317                                { 
     1318                                        if ( isBookmark( node ) ) 
     1319                                                return true; 
     1320 
    13141321                                        // Stop when we're shrink in element mode while encountering a text node. 
    13151322                                        if ( mode == CKEDITOR.SHRINK_ELEMENT && node.type == CKEDITOR.NODE_TEXT ) 
  • CKEditor/branches/features/adobeair/_source/core/dom/rangelist.js

    r6006 r6062  
    1 /* 
     1/* 
    22Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 
    33For licensing, see LICENSE.html or http://ckeditor.com/license 
     
    4141                                var rangeList = this, 
    4242                                        bookmark = CKEDITOR.dom.walker.bookmark(), 
    43                                         emptySpaces = CKEDITOR.dom.walker.whitespaces(), 
    4443                                        guard = function( node ) { return ! ( node.is && node.is( 'tr' ) ); }, 
    4544                                                bookmarks = [], 
     
    114113 
    115114                                                        range.moveToBookmark( bookmarks.shift() ); 
    116                                                          
     115 
     116                                                        var next; 
    117117                                                        // Merge ranges finally after moving to bookmarks. 
    118118                                                        while( mergeCount-- ) 
    119119                                                        { 
    120                                                                 var next = rangeList[ ++current ]; 
     120                                                                next = rangeList[ ++current ]; 
    121121                                                                next.moveToBookmark( bookmarks.shift() ); 
    122122                                                                range.setEnd( next.endContainer, next.endOffset ); 
  • CKEditor/branches/features/adobeair/_source/core/dom/walker.js

    r6006 r6062  
    1 /* 
     1/* 
    22Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 
    33For licensing, see LICENSE.html or http://ckeditor.com/license 
  • CKEditor/branches/features/adobeair/_source/core/dtd.js

    r5613 r6062  
    1111 
    1212/** 
    13  * Holds and object representation of the HTML DTD to be used by the editor in 
    14  * its internal operations. 
    15  * 
    16  * Each element in the DTD is represented by a 
    17  * property in this object. Each property contains the list of elements that 
    18  * can be contained by the element. Text is represented by the "#" property. 
    19  * 
     13 * @namespace Holds and object representation of the HTML DTD to be used by the 
     14 * editor in its internal operations.<br /> 
     15 * <br /> 
     16 * Each element in the DTD is represented by a property in this object. Each 
     17 * property contains the list of elements that can be contained by the element. 
     18 * Text is represented by the "#" property.<br /> 
     19 * <br /> 
    2020 * Several special grouping properties are also available. Their names start 
    2121 * with the "$" character. 
    22  * @namespace 
    2322 * @example 
    2423 * // Check if "div" can be contained in a "p" element. 
     
    8281                $blockLimit : { body:1,div:1,td:1,th:1,caption:1,form:1 }, 
    8382 
     83                /** 
     84                 * List of inline (&lt;span&gt; like) elements. 
     85                 */ 
    8486                $inline : L,    // Just like span. 
    8587 
     88                /** 
     89                 * list of elements that can be children at &lt;body&gt;. 
     90                 */ 
    8691                $body : X({script:1,style:1}, block), 
    8792 
  • CKEditor/branches/features/adobeair/_source/core/editor.js

    r6006 r6062  
    119119                                'skins/' + skinName + '/' ) ); 
    120120 
     121                /** 
     122                 * The name of the skin used by this editor instance. The skin name can 
     123                 * be set though the {@link CKEDITOR.config.skin} setting. 
     124                 * @name CKEDITOR.editor.prototype.skinName 
     125                 * @type String 
     126                 * @example 
     127                 * alert( editor.skinName );  // "kama" (e.g.) 
     128                 */ 
    121129                editor.skinName = skinName; 
     130 
     131                /** 
     132                 * The full URL of the skin directory. 
     133                 * @name CKEDITOR.editor.prototype.skinPath 
     134                 * @type String 
     135                 * @example 
     136                 * alert( editor.skinPath );  // "http://example.com/ckeditor/skins/kama/" (e.g.) 
     137                 */ 
    122138                editor.skinPath = skinPath; 
     139 
     140                /** 
     141                 * The CSS class name used for skin identification purposes. 
     142                 * @name CKEDITOR.editor.prototype.skinClass 
     143                 * @type String 
     144                 * @example 
     145                 * alert( editor.skinClass );  // "cke_skin_kama" (e.g.) 
     146                 */ 
    123147                editor.skinClass = 'cke_skin_' + skinName; 
    124148 
     149                /** 
     150                 * The <a href="http://en.wikipedia.org/wiki/Tabbing_navigation">tabbing 
     151                 * navigation</a> order that has been calculated for this editor 
     152                 * instance. This can be set by the {@link CKEDITOR.config.tabIndex} 
     153                 * setting or taken from the "tabindex" attribute of the 
     154                 * {@link #element} associated to the editor. 
     155                 * @name CKEDITOR.editor.prototype.tabIndex 
     156                 * @type Number 
     157                 * @default 0 (zero) 
     158                 * @example 
     159                 * alert( editor.tabIndex );  // "0" (e.g.) 
     160                 */ 
    125161                editor.tabIndex = editor.config.tabIndex || editor.element.getAttribute( 'tabindex' ) || 0; 
    126162 
     
    136172                CKEDITOR.lang.load( editor.config.language, editor.config.defaultLanguage, function( languageCode, lang ) 
    137173                        { 
     174                                /** 
     175                                 * The code for the language resources that have been loaded 
     176                                 * for the user internface elements of this editor instance. 
     177                                 * @name CKEDITOR.editor.prototype.langCode 
     178                                 * @type String 
     179                                 * @example 
     180                                 * alert( editor.langCode );  // "en" (e.g.) 
     181                                 */ 
    138182                                editor.langCode = languageCode; 
    139183 
     184                                /** 
     185                                 * An object holding all language strings used by the editor 
     186                                 * interface. 
     187                                 * @name CKEDITOR.editor.prototype.lang 
     188                                 * @type CKEDITOR.lang 
     189                                 * @example 
     190                                 * alert( editor.lang.bold );  // "Negrito" (e.g. if language is Portuguese) 
     191                                 */ 
    140192                                // As we'll be adding plugin specific entries that could come 
    141193                                // from different language code files, we need a copy of lang, 
     
    189241                                var languageFiles = []; 
    190242 
    191                                 // Cache the loaded plugin names. 
     243                                /** 
     244                                 * And object holding references to all plugins used by this 
     245                                 * editor istance. 
     246                                 * @name CKEDITOR.editor.prototype.plugins 
     247                                 * @type Object 
     248                                 * @example 
     249                                 * alert( editor.plugins.dialog.path );  // "http://example.com/ckeditor/plugins/dialog/" (e.g.) 
     250                                 */ 
    192251                                editor.plugins = plugins; 
    193252 
     
    272331                CKEDITOR.themes.load( theme, function() 
    273332                        { 
     333                                /** 
     334                                 * The theme used by this editor instance. 
     335                                 * @name CKEDITOR.editor.prototype.theme 
     336                                 * @type CKEDITOR.theme 
     337                                 * @example 
     338                                 * alert( editor.theme );  "http://example.com/ckeditor/themes/default/" (e.g.) 
     339                                 */ 
    274340                                var editorTheme = editor.theme = CKEDITOR.themes.get( theme ); 
    275341                                editorTheme.path = CKEDITOR.themes.getPath( theme ); 
     
    604670                }, 
    605671 
     672                /** 
     673                 * Gets the "raw data" currently available in the editor. This is a 
     674                 * fast method which return the data as is, without processing, so it's 
     675                 * not recommended to use it on resulting pages. It can be used instead 
     676                 * combined with the {@link #loadSnapshot} so one can automatic save 
     677                 * the editor data from time to time while the user is using the 
     678                 * editor, to avoid data loss, without risking performance issues. 
     679                 * @example 
     680                 * alert( editor.getSnapshot() ); 
     681                 */ 
    606682                getSnapshot : function() 
    607683                { 
     
    618694                }, 
    619695 
     696                /** 
     697                 * Loads "raw data" in the editor. This data is loaded with processing 
     698                 * straight to the editing area. It should not be used as a way to load 
     699                 * any kind of data, but instead in combination with 
     700                 * {@link #getSnapshot} produced data. 
     701                 * @example 
     702                 * var data = editor.getSnapshot(); 
     703                 * editor.<b>loadSnapshot( data )</b>; 
     704                 */ 
    620705                loadSnapshot : function( snapshot ) 
    621706                { 
     
    685770                }, 
    686771 
     772                /** 
     773                 * Checks whether the current editor contents present changes when 
     774                 * compared to the contents loaded into the editor at startup, or to 
     775                 * the contents available in the editor when {@link #resetDirty} has 
     776                 * been called. 
     777                 * @returns {Boolean} "true" is the contents present changes. 
     778                 * @example 
     779                 * function beforeUnload( e ) 
     780                 * { 
     781                 *     if ( CKEDITOR.instances.editor1.<b>checkDirty()</b> ) 
     782                 *              return e.returnValue = "You'll loose the changes made in the editor."; 
     783                 * } 
     784                 * 
     785                 * if ( window.addEventListener ) 
     786                 *     window.addEventListener( 'beforeunload', beforeUnload, false ); 
     787                 * else 
     788                 *     window.attachEvent( 'onbeforeunload', beforeUnload ); 
     789                 */ 
    687790                checkDirty : function() 
    688791                { 
     
    690793                }, 
    691794 
     795                /** 
     796                 * Resets the "dirty state" of the editor so subsequent calls to 
     797                 * {@link #checkDirty} will return "false" if the user will not make 
     798                 * further changes to the contents. 
     799                 * @example 
     800                 * alert( editor.checkDirty() );  // "true" (e.g.) 
     801                 * editor.<b>resetDirty()</b>; 
     802                 * alert( editor.checkDirty() );  // "false" 
     803                 */ 
    692804                resetDirty : function() 
    693805                { 
     
    764876 * @name CKEDITOR#pluginsLoaded 
    765877 * @event 
     878 * @param {CKEDITOR.editor} editor The editor instance that has been destroyed. 
    766879 */ 
     880 
     881/** 
     882 * Fired before the command execution when {@link #execCommand} is called. 
     883 * @name CKEDITOR.editor#beforeCommandExec 
     884 * @event 
     885 * @param {CKEDITOR.editor} editor This editor instance. 
     886 * @param {String} data.name The command name. 
     887 * @param {Object} data.commandData The data to be sent to the command. This 
     888 *              can be manipulated by the event listener. 
     889 * @param {CKEDITOR.command} data.command The command itself. 
     890 */ 
     891 
     892/** 
     893 * Fired after the command execution when {@link #execCommand} is called. 
     894 * @name CKEDITOR.editor#afterCommandExec 
     895 * @event 
     896 * @param {CKEDITOR.editor} editor This editor instance. 
     897 * @param {String} data.name The command name. 
     898 * @param {Object} data.commandData The data sent to the command. 
     899 * @param {CKEDITOR.command} data.command The command itself. 
     900 * @param {Object} data.returnValue The value returned by the command execution. 
     901 */ 
     902 
     903/** 
     904 * Fired every custom configuration file is loaded, before the final 
     905 * configurations initialization.<br /> 
     906 * <br /> 
     907 * Custom configuration files can be loaded thorugh the 
     908 * {@link CKEDITOR.config.customConfig} setting. Several files can be loading 
     909 * by chaning this setting. 
     910 * @name CKEDITOR.editor#customConfigLoaded 
     911 * @event 
     912 * @param {CKEDITOR.editor} editor This editor instance. 
     913 * @example 
     914 */ 
     915 
     916/** 
     917 * Fired once the editor configuration is ready (loaded and processed). 
     918 * @name CKEDITOR.editor#configLoaded 
     919 * @event 
     920 * @param {CKEDITOR.editor} editor This editor instance. 
     921 * @example 
     922 * if( editor.config.fullPage ) 
     923 *     alert( 'This is a full page editor' ); 
     924 */ 
  • CKEditor/branches/features/adobeair/_source/core/editor_basic.js

    r5613 r6062  
    2828 
    2929        /** 
    30          * Represents an editor instance. This constructor should be rarely used, 
    31          * being the {@link CKEDITOR} methods preferible. 
    32          * @constructor 
     30         * Creates an editor class instance. This constructor should be rarely 
     31         * used, in favor of the {@link CKEDITOR} editor creation functions. 
     32         * @ class Represents an editor instance. 
    3333         * @param {Object} instanceConfig Configuration values for this specific 
    3434         *              instance. 
     
    3636         *              instance. 
    3737         * @param {Number} [mode] The mode in which the element is linked to this 
    38          *              instance. 
     38         *              instance. See {@link #elementMode}. 
    3939         * @param {String} [data] Since 3.3. Initial value for the instance. 
    4040         * @augments CKEDITOR.event 
     
    5555                 * instance. It can be any of the following values: 
    5656                 * <ul> 
    57                  * <li><b>CKEDITOR.ELEMENT_MODE_NONE</b>: No element is linked to the 
     57                 * <li>{@link CKEDITOR.ELEMENT_MODE_NONE}: No element is linked to the 
    5858                 *              editor instance.</li> 
    59                  * <li><b>CKEDITOR.ELEMENT_MODE_REPLACE</b>: The element is to be 
     59                 * <li>{@link CKEDITOR.ELEMENT_MODE_REPLACE}: The element is to be 
    6060                 *              replaced by the editor instance.</li> 
    61                  * <li><b>CKEDITOR.ELEMENT_MODE_APPENDTO</b>: The editor is to be 
     61                 * <li>{@link CKEDITOR.ELEMENT_MODE_APPENDTO}: The editor is to be 
    6262                 *              created inside the element.</li> 
    6363                 * </ul> 
  • CKEditor/branches/features/adobeair/_source/core/env.js

    r6006 r6062  
    1212{ 
    1313        /** 
    14          * Environment and browser information. 
    15          * @namespace 
    16          * @example 
     14         * @namespace Environment and browser information. 
    1715         */ 
    1816        CKEDITOR.env = (function() 
     
    7068                        mac     : ( agent.indexOf( 'macintosh' ) > -1 ), 
    7169 
     70                        /** 
     71                         * Indicates that CKEditor is running on a quirks mode environemnt. 
     72                         * @type Boolean 
     73                         * @example 
     74                         * if ( CKEDITOR.env.quirks ) 
     75                         *     alert( "Nooooo!" ); 
     76                         */ 
    7277                        quirks : ( document.compatMode == 'BackCompat' ), 
    7378 
     79                        /** 
     80                         * Indicates that CKEditor is running on a mobile like environemnt. 
     81                         * @type Boolean 
     82                         * @example 
     83                         * if ( CKEDITOR.env.mobile ) 
     84                         *     alert( "I'm running with CKEditor today!" ); 
     85                         */ 
    7486                        mobile : ( agent.indexOf( 'mobile' ) > -1 ), 
    7587 
     88                        /** 
     89                         * Indicates that the browser has a custom domain enabled. This has 
     90                         * been set with "document.domain". 
     91                         * @returns {Boolean} "true" if a custom domain is enabled. 
     92                         * @example 
     93                         * if ( CKEDITOR.env.isCustomDomain() ) 
     94                         *     alert( "I'm in a custom domain!" ); 
     95                         */ 
    7696                        isCustomDomain : function() 
    7797                        { 
     
    106126 
    107127                        /** 
    108                          *  Indicate IE8 browser. 
     128                         * Indicates that CKEditor is running on Internet Explorer 8. 
     129                         * @name CKEDITOR.env.ie8 
     130                         * @type Boolean 
     131                         * @example 
     132                         * if ( CKEDITOR.env.ie8 ) 
     133                         *     alert( "I'm on IE8!" ); 
    109134                         */ 
    110135                        env.ie8 = !!document.documentMode; 
    111136 
    112137                        /** 
    113                          * Indicte IE8 document mode. 
     138                         * Indicates that CKEditor is running on Internet Explorer 8 on 
     139                         * standards mode. 
     140                         * @name CKEDITOR.env.ie8Compat 
     141                         * @type Boolean 
     142                         * @example 
     143                         * if ( CKEDITOR.env.ie8Compat ) 
     144                         *     alert( "Now I'm on IE8, for real!" ); 
    114145                         */ 
    115146                        env.ie8Compat = document.documentMode == 8; 
     
    118149                         * Indicates that CKEditor is running on an IE7-like environment, which 
    119150                         * includes IE7 itself and IE8's IE7 document mode. 
    120                          * @type Boolean 
     151                         * @name CKEDITOR.env.ie7Compat 
     152                         * @type Boolean 
     153                         * @example 
     154                         * if ( CKEDITOR.env.ie8Compat ) 
     155                         *     alert( "I'm on IE7 or on an IE7 like IE8!" ); 
    121156                         */ 
    122157                        env.ie7Compat = ( ( version == 7 && !document.documentMode ) 
     
    126161                         * Indicates that CKEditor is running on an IE6-like environment, which 
    127162                         * includes IE6 itself and IE7 and IE8 quirks mode. 
     163                         * @name CKEDITOR.env.ie6Compat 
    128164                         * @type Boolean 
    129165                         * @example 
     
    132168                         */ 
    133169                        env.ie6Compat = ( version < 7 || env.quirks ); 
    134  
    135170                } 
    136171 
     
    161196 
    162197                /** 
    163                  * Contains the browser version. 
    164                  * 
     198                 * Contains the browser version.<br /> 
     199                 * <br /> 
    165200                 * For gecko based browsers (like Firefox) it contains the revision 
    166201                 * number with first three parts concatenated with a padding zero 
    167                  * (e.g. for revision 1.9.0.2 we have 10900). 
    168                  * 
     202                 * (e.g. for revision 1.9.0.2 we have 10900).<br /> 
     203                 * <br /> 
    169204                 * For webkit based browser (like Safari and Chrome) it contains the 
    170205                 * WebKit build version (e.g. 522). 
     
    194229                        false ); 
    195230 
    196                 // The CSS class to be appended on the main UI containers, making it 
    197                 // easy to apply browser specific styles to it. 
     231                /** 
     232                 * The CSS class to be appended on the main UI containers, making it 
     233                 * easy to apply browser specific styles to it. 
     234                 * @name CKEDITOR.env.cssClass 
     235                 * @type String 
     236                 * @example 
     237                 * myDiv.className = CKEDITOR.env.cssClass; 
     238                 */ 
    198239                env.cssClass = 
    199240                        'cke_browser_' + ( 
  • CKEditor/branches/features/adobeair/_source/core/event.js

    r5613 r6062  
    1212{ 
    1313        /** 
    14          * This is a base class for classes and objects that require event handling 
    15          * features. 
    16          * @constructor 
     14         * Creates an event class instance. This constructor is rearely used, being 
     15         * the {@link #.implementOn} function used in class prototypes directly 
     16         * instead. 
     17         * @class This is a base class for classes and objects that require event 
     18         * handling features.<br /> 
     19         * <br /> 
     20         * Do not confuse this class with {@link CKEDITOR.dom.event} which is 
     21         * instead used for DOM events. The CKEDITOR.event class implements the 
     22         * internal event system used by the CKEditor to fire API related events. 
    1723         * @example 
    1824         */ 
     
    2228        /** 
    2329         * Implements the {@link CKEDITOR.event} features in an object. 
    24          * @param {Object} targetObject The object in which implement the features. 
     30         * @param {Object} targetObject The object into which implement the features. 
    2531         * @example 
    2632         * var myObject = { message : 'Example' }; 
     
    3238         * myObject.fire( 'testEvent' ); 
    3339         */ 
    34         CKEDITOR.event.implementOn = function( targetObject, isTargetPrototype ) 
     40        CKEDITOR.event.implementOn = function( targetObject ) 
    3541        { 
    3642                var eventProto = CKEDITOR.event.prototype; 
  • CKEditor/branches/features/adobeair/_source/core/eventInfo.js

    r5613 r6062  
    1111 
    1212/** 
    13  * This class is not really part of the API. It just illustrates the features 
    14  * of the event object passed to event listeners by a {@link CKEDITOR.event} 
    15  * based object. 
     13 * (Virtual Class) Do not call this constructor. This class is not really part 
     14 * of the API. 
     15 * @class Virtual class that illustrates the features of the event object to be 
     16 * passed to event listeners by a {@link CKEDITOR.event} based object. 
    1617 * @name CKEDITOR.eventInfo 
    17  * @constructor 
    1818 * @example 
    1919 * // Do not do this. 
  • CKEditor/branches/features/adobeair/_source/core/focusmanager.js

    r5613 r6062  
    1010 
    1111/** 
    12  * Manages the focus activity in an editor instance. This class is to be used 
    13  * mainly by UI elements coders when adding interface elements to CKEditor. 
    14  * @constructor 
     12 * Creates a focusManager class instance. 
     13 * @class Manages the focus activity in an editor instance. This class is to be 
     14 * used mainly by UI elements coders when adding interface elements that need 
     15 * to set the focus state of the editor. 
    1516 * @param {CKEDITOR.editor} editor The editor instance. 
    1617 * @example 
     18 * var focusManager = <b>new CKEDITOR.focusManager( editor )</b>; 
     19 * focusManager.focus(); 
    1720 */ 
    1821CKEDITOR.focusManager = function( editor ) 
     
    4447{ 
    4548        /** 
    46          * Indicates that the editor instance has the focus. 
    47          * 
    48          * This function is not used to set the focus in the editor. Use 
     49         * Used to indicate that the editor instance has the focus.<br /> 
     50         * <br /> 
     51         * Note that this function will not explicitelly set the focus in the 
     52         * editor (for example, making the caret blinking on it). Use 
    4953         * {@link CKEDITOR.editor#focus} for it instead. 
    5054         * @example 
     
    7781 
    7882        /** 
    79          * Indicates that the editor instance has lost the focus. Note that this 
    80          * functions acts asynchronously with a delay of 100ms to avoid subsequent 
    81          * blur/focus effects. If you want the "blur" to happen immediately, use 
    82          * the {@link #forceBlur} function instead. 
     83         * Used to indicate that the editor instance has lost the focus.<br /> 
     84         * <br /> 
     85         * Note that this functions acts asynchronously with a delay of 100ms to 
     86         * avoid subsequent blur/focus effects. If you want the "blur" to happen 
     87         * immediately, use the {@link #forceBlur} function instead. 
    8388         * @example 
    8489         * var editor = CKEDITOR.instances.editor1; 
     
    102107 
    103108        /** 
    104          * Indicates that the editor instance has lost the focus. Unlike 
     109         * Used to indicate that the editor instance has lost the focus. Unlike 
    105110         * {@link #blur}, this function is synchronous, marking the instance as 
    106111         * "blured" immediately. 
     
    128133 * @event 
    129134 * @param {CKEDITOR.editor} editor The editor instance. 
     135 * @example 
     136 * editor.on( 'focus', function( e ) 
     137 *     { 
     138 *         alert( 'The editor named ' + e.editor.name + ' is now focused' ); 
     139 *     }); 
    130140 */ 
    131141 
     
    135145 * @event 
    136146 * @param {CKEDITOR.editor} editor The editor instance. 
     147 * @example 
     148 * editor.on( 'blur', function( e ) 
     149 *     { 
     150 *         alert( 'The editor named ' + e.editor.name + ' lost the focus' ); 
     151 *     }); 
    137152 */ 
  • CKEditor/branches/features/adobeair/_source/core/htmlparser.js

    r6006 r6062  
    55 
    66/** 
    7  * HTML text parser. 
    8  * @constructor 
     7 * Creates a {@link CKEDITOR.htmlParser} class instance. 
     8 * @class Provides an "event like" system to parse strings of HTML data. 
    99 * @example 
     10 * var parser = new CKEDITOR.htmlParser(); 
     11 * parser.onTagOpen = function( tagName, attributes, selfClosing ) 
     12 *     { 
     13 *         alert( tagName ); 
     14 *     }; 
     15 * parser.parse( '&lt;p&gt;Some &lt;b&gt;text&lt;/b&gt;.&lt;/p&gt;' ); 
    1016 */ 
    1117CKEDITOR.htmlParser = function() 
     
    9399                 * @example 
    94100                 * var parser = new CKEDITOR.htmlParser(); 
    95                  * parser.onText = function( comment ) 
     101                 * parser.onComment = function( comment ) 
    96102                 *     { 
    97103                 *         alert( comment );  // e.g. " Example " 
  • CKEditor/branches/features/adobeair/_source/core/imagecacher.js

    r6006 r6062  
    2424 
    2525        /** 
    26          * Load images into the browser cache. 
    27          * @namespace 
    28          * @example 
     26         * @namespace Load images into the browser cache. 
    2927         */ 
    3028        CKEDITOR.imageCacher = 
     
    3230                /** 
    3331                 * Loads one or more images. 
    34                  * @param {Array} images The URLs for the images to be loaded. 
    35                  * @param {Function} callback The optional function to be called once all images 
    36                  *              are loaded. You can bind any function to the returned event object. 
    37                  * @return {CKEDITOR.event} Event object which fires 'preloaded' event when all images finished. 
    38                  *    Additionally it set "finished" property flag after 'preloaded' event. 
     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                 * } 
    3947                 */ 
    4048                load : function( images, callback ) 
     
    4351 
    4452                        var event = new CKEDITOR.event; 
    45                         event.on( 'preloaded', function() 
    46                         { 
    47                                 event.finished = true; 
    48                         }); 
    49                          
     53                        event.on( 'loaded', function() 
     54                                { 
     55                                        event.finished = 1; 
     56                                }); 
     57 
    5058                        if ( callback ) 
    51                                 event.on( 'preloaded', callback ); 
     59                                event.on( 'loaded', callback ); 
    5260 
    5361                        var checkPending = function() 
    54                         { 
    55                                 if ( --pendingCount === 0 ) 
    56                                         event.fire( 'preloaded' ); 
    57                         }; 
     62                                { 
     63                                        if ( --pendingCount === 0 ) 
     64                                                event.fire( 'loaded' ); 
     65                                }; 
    5866 
    5967                        for ( var i = 0 ; i < images.length ; i++ ) 
  • CKEditor/branches/features/adobeair/_source/core/lang.js

    r5613 r6062  
    88        var loadedLangs = {}; 
    99 
     10        /** 
     11         * @namespace Holds language related functions. 
     12         */ 
    1013        CKEDITOR.lang = 
    1114        { 
     
    8285                 * then called when the file gets loaded. 
    8386                 * @param {String} languageCode The code of the language file to be 
    84                  *              loaded. If "autoDetect" is set to true, this language will be 
    85                  *              used as the default one, if the detect language is not 
    86                  *              available in the core. 
    87                  * @param {Boolean} autoDetect Indicates that the function must try to 
    88                  *              detect the user language and load it instead. 
    89                  * @param {Function} callback The function to be called once the 
     87                 *              loaded. If null or empty, autodetection will be performed. The 
     88                 *              same happens if the language is not supported. 
     89                 * @param {String} defaultLanguage The language to be used if 
     90                 *              languageCode is not supported or if the autodetection fails. 
     91                 * @param {Function} callback A function to be called once the 
    9092                 *              language file is loaded. Two parameters are passed to this 
    9193                 *              function: the language code and the loaded language entries. 
     
    122124                 * @param {String} defaultLanguage The default language to be returned 
    123125                 *              if the user language is not supported. 
     126                 * @param {String} [probeLanguage] A language code to try to use, 
     127                 *              instead of the browser based autodetection. 
    124128                 * @returns {String} The detected language code. 
    125129                 * @example 
  • CKEditor/branches/features/adobeair/_source/core/skins.js

    r6006 r6062  
    7171                        { 
    7272                                // Bind listener for this editor instance. 
    73                                 preloaded[ skinName ].on( 'preloaded', function() 
     73                                preloaded[ skinName ].on( 'loaded', function() 
    7474                                        { 
    7575                                                loadPart( editor, skinName, part, callback ); 
  • CKEditor/branches/features/adobeair/_source/plugins/basicstyles/plugin.js

    r6006 r6062  
    3030                }; 
    3131 
    32                 var config = editor.config,  
     32                var config = editor.config, 
    3333                        lang = editor.lang; 
    3434 
  • CKEditor/branches/features/adobeair/_source/plugins/bidi/plugin.js

    r6006 r6062  
    1 /* 
     1/* 
    22Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 
    33For licensing, see LICENSE.html or http://ckeditor.com/license 
     
    66(function() 
    77{ 
    8         var guardElements = { table:1, tbody: 1, tr:1, ul:1, ol:1, blockquote:1, div:1 }, 
     8        var guardElements = { table:1, tbody: 1, ul:1, ol:1, blockquote:1, div:1, tr: 1 }, 
    99                directSelectionGuardElements = {}, 
    1010                // All guard elements which can have a direction applied on them. 
    1111                allGuardElements = {}; 
    12         CKEDITOR.tools.extend( directSelectionGuardElements, guardElements, { p:1, div:1, li:1 } ); 
     12        CKEDITOR.tools.extend( directSelectionGuardElements, guardElements, { tr:1, p:1, div:1, li:1 } ); 
    1313        CKEDITOR.tools.extend( allGuardElements, directSelectionGuardElements, { td:1 } ); 
    1414 
     
    5050                        chromeRoot = editor.container.getChild( 1 ), 
    5151                        directionNode = getElementForDirection( evt.data.path.lastElement ); 
    52                  
     52 
    5353                if ( directionNode && editor.lang.dir != directionNode.getComputedStyle( 'direction' ) ) 
    5454                        chromeRoot.addClass( 'cke_mixed_dir_content' ); 
     
    9494 
    9595                var useComputedState = ( 'useComputedState' in editor.config ) ? editor.config.useComputedState : 1; 
    96                  
     96 
    9797                var elementDir = useComputedState ? element.getComputedStyle( 'direction' ) 
    9898                        : element.getStyle( 'direction' ) || element.hasAttribute( 'dir' ); 
     
    108108                element.removeStyle( 'direction' ); 
    109109 
    110                 // Do the second check when computed state is ON, to check  
     110                // Do the second check when computed state is ON, to check 
    111111                // if we need to apply explicit direction on this element. 
    112112                if ( useComputedState ) 
  • CKEditor/branches/features/adobeair/_source/plugins/contextmenu/plugin.js

    r6006 r6062  
    225225                                }, 
    226226                                this ); 
     227 
     228                        if ( CKEDITOR.env.opera ) 
     229                        { 
     230                                // 'contextmenu' event triggered by Windows menu key is unpreventable, 
     231                                // cancel the key event itself. (#6534) 
     232                                element.on( 'keypress' , function ( evt ) 
     233                                { 
     234                                        var domEvent = evt.data; 
     235 
     236                                        if ( domEvent.$.keyCode === 0 ) 
     237                                                domEvent.preventDefault(); 
     238                                }); 
     239                        } 
    227240 
    228241                        if ( CKEDITOR.env.webkit ) 
  • CKEditor/branches/features/adobeair/_source/plugins/dialog/plugin.js

    r6006 r6062  
    996996                        var selected = this._.tabs[ id ]; 
    997997                        selected[ 0 ].addClass( 'cke_dialog_tab_selected' ); 
    998                          
    999                         // [IE] an invisible input[type='text'] will enlarge it's width  
     998 
     999                        // [IE] an invisible input[type='text'] will enlarge it's width 
    10001000                        // if it's value is long when it shows, so we clear it's value 
    10011001                        // before it shows and then recover it (#5649) 
  • CKEditor/branches/features/adobeair/_source/plugins/domiterator/plugin.js

    r6006 r6062  
    1 /* 
     1/* 
    22Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 
    33For licensing, see LICENSE.html or http://ckeditor.com/license 
     
    6666 
    6767                                var walker = new CKEDITOR.dom.walker( range ), 
    68                                         ignoreBookmarkTextEvaluator = CKEDITOR.dom.walker.bookmark( false, true ); 
     68                                        ignoreBookmarkTextEvaluator = CKEDITOR.dom.walker.bookmark( true, true ); 
    6969                                // Avoid anchor inside bookmark inner text. 
    7070                                walker.evaluator = ignoreBookmarkTextEvaluator; 
  • CKEditor/branches/features/adobeair/_source/plugins/floatpanel/plugin.js

    r6006 r6062  
    124124                                element.setStyles( 
    125125                                        { 
    126                                                 top : '-30000px', 
     126                                                top : 0, 
     127                                                left: 0, 
    127128                                                display : '' 
    128129                                        }); 
     
    278279 
    279280                                                        // Trigger the onHide event of the previously active panel to prevent 
    280                                                         // incorrect styles from being applied (#6170)  
     281                                                        // incorrect styles from being applied (#6170) 
    281282                                                        var innerElement = element.getFirst(), 
    282283                                                                activePanel; 
     
    318319                                        this.element.setStyle( 'display', 'none' ); 
    319320                                        this.visible = 0; 
    320                                         this.element.getFirst().removeCustomData( 'activePanel' );  
     321                                        this.element.getFirst().removeCustomData( 'activePanel' ); 
    321322                                } 
    322323                        }, 
  • CKEditor/branches/features/adobeair/_source/plugins/indent/plugin.js

    r6006 r6062  
    1 /* 
     1/* 
    22Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 
    33For licensing, see LICENSE.html or http://ckeditor.com/license 
     
    7979 
    8080        // Returns the CSS property to be used for identing a given element. 
    81         function getIndentCssProperty( element ) 
    82         { 
    83                 return element.getComputedStyle( 'direction' ) == 'ltr' ? 'margin-left' : 'margin-right'; 
     81        function getIndentCssProperty( element, dir ) 
     82        { 
     83                return ( dir || element.getComputedStyle( 'direction' ) ) == 'ltr' ? 'margin-left' : 'margin-right'; 
    8484        } 
    8585 
     
    158158                                // Convert the array back to a DOM forest (yes we might have a few subtrees now). 
    159159                                // And replace the old list with the new forest. 
    160                                 var newListDir = listNode.getAttribute( 'dir' ) || listNode.getStyle( 'direction' ); 
    161                                 var newList = CKEDITOR.plugins.list.arrayToList( listArray, database, null, editor.config.enterMode, newListDir ); 
     160                                var newList = CKEDITOR.plugins.list.arrayToList( listArray, database, null, editor.config.enterMode, listNode.getDirection() ); 
    162161 
    163162                                // Avoid nested <li> after outdent even they're visually same, 
     
    221220                        } 
    222221 
    223                         function indentElement( element ) 
     222                        function indentElement( element, dir ) 
    224223                        { 
    225224                                if ( element.getCustomData( 'indent_processed' ) ) 
     
    257256                                else 
    258257                                { 
    259                                         var indentCssProperty = getIndentCssProperty( element ), 
     258                                        var indentCssProperty = getIndentCssProperty( element, dir ), 
    260259                                                currentOffset = parseInt( element.getStyle( indentCssProperty ), 10 ); 
    261260                                        if ( isNaN( currentOffset ) ) 
     
    283282                                range; 
    284283 
    285                         var skipBookmarks = CKEDITOR.dom.walker.bookmark( 0, 1 ); 
    286284 
    287285                        var iterator = ranges.createIterator(); 
    288286                        while ( ( range = iterator.getNextRange() ) ) 
    289287                        { 
    290                                 // Do not indent body. (#6138) 
    291                                 range.shrink( CKEDITOR.SHRINK_ELEMENT ); 
    292                                 if ( range.endContainer.getName() == 'body' ) 
    293                                         range.setEndAt( range.endContainer.getLast( skipBookmarks ), CKEDITOR.POSITION_BEFORE_END ); 
    294  
    295                                 var startContainer = range.startContainer, 
    296                                         endContainer = range.endContainer, 
    297                                         rangeRoot = range.getCommonAncestor(), 
     288                                var rangeRoot = range.getCommonAncestor(), 
    298289                                        nearestListBlock = rangeRoot; 
    299290 
     
    302293                                        nearestListBlock = nearestListBlock.getParent(); 
    303294 
     295                                // Avoid having selection enclose the entire list. (#6138) 
     296                                // [<ul><li>...</li></ul>] =><ul><li>[...]</li></ul> 
     297                                if ( !nearestListBlock ) 
     298                                { 
     299                                        var selectedNode = range.getEnclosedNode(); 
     300                                        if ( selectedNode 
     301                                                && selectedNode.type == CKEDITOR.NODE_ELEMENT 
     302                                                && selectedNode.getName() in listNodeNames) 
     303                                        { 
     304                                                range.setStartAt( selectedNode, CKEDITOR.POSITION_AFTER_START ); 
     305                                                range.setEndAt( selectedNode, CKEDITOR.POSITION_BEFORE_END ); 
     306                                                nearestListBlock = selectedNode; 
     307                                        } 
     308                                } 
     309 
    304310                                // Avoid selection anchors under list root. 
    305311                                // <ul>[<li>...</li>]</ul> =>   <ul><li>[...]</li></ul> 
    306                                 if ( nearestListBlock && startContainer.type == CKEDITOR.NODE_ELEMENT 
    307                                         && startContainer.getName() in listNodeNames ) 
     312                                if ( nearestListBlock && range.startContainer.type == CKEDITOR.NODE_ELEMENT 
     313                                        && range.startContainer.getName() in listNodeNames ) 
    308314                                { 
    309315                                        var walker = new CKEDITOR.dom.walker( range ); 
     
    312318                                } 
    313319 
    314                                 if ( nearestListBlock && endContainer.type == CKEDITOR.NODE_ELEMENT 
    315                                         && endContainer.getName() in listNodeNames ) 
     320                                if ( nearestListBlock && range.endContainer.type == CKEDITOR.NODE_ELEMENT 
     321                                        && range.endContainer.getName() in listNodeNames ) 
    316322                                { 
    317323                                        walker = new CKEDITOR.dom.walker( range ); 
     
    322328                                if ( nearestListBlock ) 
    323329                                { 
    324                                         var firstListItem = nearestListBlock.getFirst( function( node ) 
    325                                                 { 
    326                                                         return node.type == CKEDITOR.NODE_ELEMENT && node.is( 'li' ); 
    327                                                 }), 
     330                                        var firstListItem = nearestListBlock.getFirst( isListItem ), 
     331                                                hasMultipleItems = !!firstListItem.getNext( isListItem ), 
    328332                                                rangeStart = range.startContainer, 
    329333                                                indentWholeList = firstListItem.equals( rangeStart ) || firstListItem.contains( rangeStart ); 
     
    333337                                        if ( !( indentWholeList && 
    334338                                                ( self.name == 'indent' || self.useIndentClasses || parseInt( nearestListBlock.getStyle( getIndentCssProperty( nearestListBlock ) ), 10 ) ) && 
    335                                                         indentElement( nearestListBlock ) ) ) 
     339                                                        indentElement( nearestListBlock, !hasMultipleItems && firstListItem.getDirection() ) ) ) 
    336340                                                                indentList( nearestListBlock ); 
    337341                                } 
     
    391395                                range.setStartBefore( e.data ); 
    392396                                range.setEndAfter( e.data ); 
    393                                  
     397 
    394398                                var walker = new CKEDITOR.dom.walker( range ), 
    395399                                        node; 
  • CKEditor/branches/features/adobeair/_source/plugins/justify/plugin.js

    r6006 r6062  
    9494                        node; 
    9595 
    96                 while ( node = walker.next() ) 
     96                while ( ( node = walker.next() ) ) 
    9797                { 
    9898                        if ( node.type == CKEDITOR.NODE_ELEMENT ) 
  • CKEditor/branches/features/adobeair/_source/plugins/list/plugin.js

    r6006 r6062  
    8989                                        { 
    9090                                                rootNode = listArray[ currentIndex ].parent.clone( false, 1 ); 
     91                                                dir && rootNode.setAttribute( 'dir', dir ); 
    9192                                                retval.append( rootNode ); 
    9293                                        } 
     
    293294                                        listContents.push( contentNode ); 
    294295 
    295                                         // Determine the lists's direction.  
     296                                        // Determine the lists's direction. 
    296297                                        if ( !explicitDirection && contentNode.getDirection() ) 
    297298                                                explicitDirection = 1; 
     
    341342                                        contentBlock.removeAttribute( 'dir' ); 
    342343                                } 
    343                                  
     344 
    344345                                contentBlock.copyAttributes( listItem ); 
    345346                                contentBlock.moveChildren( listItem ); 
  • CKEditor/branches/features/adobeair/_source/plugins/maximize/plugin.js

    r6006 r6062  
    196196                                                        // Hide scroll bars. 
    197197                                                        var viewPaneSize = mainWindow.getViewPaneSize(); 
    198                                                         var styles =  
     198                                                        var styles = 
    199199                                                                { 
    200200                                                                        overflow : 'hidden', 
     
    202202                                                                        height : ( CKEDITOR.env.opera ? viewPaneSize.height - 16 : 0 ) + 'px' 
    203203                                                                }; 
    204                                                          
     204 
    205205                                                        if ( CKEDITOR.env.ie ) 
    206206                                                        { 
     
    212212                                                                mainDocument.getBody().setStyles( styles ); 
    213213                                                        } 
    214                                                          
     214 
    215215                                                        // #4023: [Opera] Maximize plugin 
    216216                                                        if ( CKEDITOR.env.opera ) 
  • CKEditor/branches/features/adobeair/_source/plugins/panel/plugin.js

    r6006 r6062  
    166166                                win.$.CKEDITOR = CKEDITOR; 
    167167 
    168                                 // Arrow keys for scrolling is only preventable with 'keypress' event in Opera (#4534).   
     168                                // Arrow keys for scrolling is only preventable with 'keypress' event in Opera (#4534). 
    169169                                doc.on( 'key' + ( CKEDITOR.env.opera? 'press':'down' ), function( evt ) 
    170170                                        { 
     
    315315                        // Safari need focus on the iframe window first(#3389), but we need 
    316316                        // lock the blur to avoid hiding the panel. 
    317                         if ( CKEDITOR.env.webkit ) 
     317                        if ( CKEDITOR.env.webkit || CKEDITOR.env.opera ) 
    318318                                item.getDocument().getWindow().focus(); 
    319319                        item.focus(); 
  • CKEditor/branches/features/adobeair/_source/plugins/panelbutton/plugin.js

    r6006 r6062  
    9494 
    9595                                var panelDefinition = this._.panelDefinition || {}, 
    96                                          panelBlockDefinition = this._.panelDefinition.block, 
     96                                        panelBlockDefinition = this._.panelDefinition.block, 
    9797                                        panelParentElement = panelDefinition.parent || CKEDITOR.document.getBody(), 
    9898                                        panel = this._.panel = new CKEDITOR.ui.floatPanel( editor, panelParentElement, panelDefinition ), 
     
    105105                                                        this.element.getFirst().addClass( me.className + '_panel' ); 
    106106 
    107                                                 _.oldState = me._.state; 
    108107                                                me.setState( CKEDITOR.TRISTATE_ON ); 
    109108 
     
    119118                                                        this.element.getFirst().removeClass( me.className + '_panel' ); 
    120119 
    121                                                 me.setState( _.oldState ); 
     120                                                me.setState( me.modes && me.modes[ editor.mode ] ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED ); 
    122121 
    123122                                                _.on = 0; 
     
    137136 
    138137                                block.onHide = function() 
    139                                                 { 
    140                                                                 _.on = 0; 
    141                                                                 me.setState( CKEDITOR.TRISTATE_OFF ); 
    142                                                 }; 
     138                                        { 
     139                                                _.on = 0; 
     140                                                me.setState( CKEDITOR.TRISTATE_OFF ); 
     141                                        }; 
    143142                        } 
    144143                } 
  • CKEditor/branches/features/adobeair/_source/plugins/scayt/plugin.js

    r6006 r6062  
    1 /* 
     1/* 
    22Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 
    33For licensing, see LICENSE.html or http://ckeditor.com/license 
  • CKEditor/branches/features/adobeair/_source/plugins/selection/plugin.js

    r6006 r6062  
    887887                                                        if ( !node || node.type != CKEDITOR.NODE_ELEMENT ) 
    888888                                                                node = range.startContainer; 
    889  
    890                                                         var child = node.getFirst(); 
    891                                                         while (  child && child.type == CKEDITOR.NODE_ELEMENT ) 
    892                                                         { 
    893                                                                 node = child; 
    894                                                                 child = child.getFirst(); 
     889                                                        else 
     890                                                        { 
     891                                                                var child = node.getFirst(); 
     892                                                                while (  child && child.type == CKEDITOR.NODE_ELEMENT ) 
     893                                                                { 
     894                                                                        node = child; 
     895                                                                        child = child.getFirst(); 
     896                                                                } 
    895897                                                        } 
    896898                                                } 
  • CKEditor/branches/features/adobeair/_source/plugins/smiley/dialogs/smiley.js

    r6006 r6062  
    1 /* 
     1/* 
    22Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 
    33For licensing, see LICENSE.html or http://ckeditor.com/license 
  • CKEditor/branches/features/adobeair/_source/plugins/sourcearea/plugin.js

    r6006 r6062  
    1 /* 
     1/* 
    22Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 
    33For licensing, see LICENSE.html or http://ckeditor.com/license 
     
    7272                                                                win.on( 'resize', onResize ); 
    7373                                                                setTimeout( onResize, 0 ); 
    74                                                         } 
    75                                                         // As we prevent click to put focus on editor container, 
    76                                                         // while 'mousedown' inside <textarea> is also captured, 
    77                                                         // but we must stop the even propagation, otherwise 
    78                                                         // it's not possible to place the caret inside of it (non IE and IE9). 
    79                                                         if ( document.addEventListener ) 
    80                                                         { 
    81                                                                 textarea.on( 'mousedown', function( evt ) 
    82                                                                         { 
    83                                                                                 evt.data.stopPropagation(); 
    84                                                                         } ); 
    8574                                                        } 
    8675 
  • CKEditor/branches/features/adobeair/_source/plugins/styles/plugin.js

    r6006 r6062  
    1 /* 
     1/* 
    22Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 
    33For licensing, see LICENSE.html or http://ckeditor.com/license 
     
    13541354        { 
    13551355                var selection = document.getSelection(), 
    1356                         ranges = selection.getRanges( true ), 
     1356                        // Bookmark the range so we can re-select it after processing. 
     1357                        bookmarks = selection.createBookmarks( 1 ), 
     1358                        ranges = selection.getRanges( 1 ), 
    13571359                        func = remove ? this.removeFromRange : this.applyToRange, 
    13581360                        range; 
     
    13621364                        func.call( this, range ); 
    13631365 
    1364                 selection.selectRanges( ranges ); 
     1366                if ( bookmarks.length == 1 && bookmarks[0].collapsed ) 
     1367                { 
     1368                        selection.selectRanges( ranges ); 
     1369                        document.getById( bookmarks[ 0 ].startNode ).remove(); 
     1370                } 
     1371                else 
     1372                        selection.selectBookmarks( bookmarks ); 
    13651373        } 
    13661374})(); 
  • CKEditor/branches/features/adobeair/_source/plugins/toolbar/plugin.js

    r6006 r6062  
    160160                                                var labelId = CKEDITOR.tools.getNextId(); 
    161161 
    162                                                 var output = [ '<div class="cke_toolbox" role="toolbar" aria-labelledby="', labelId, '"' ], 
     162                                                var output = [ '<div class="cke_toolbox" role="toolbar" aria-labelledby="', labelId, '" onmousedown="return false;"' ], 
    163163                                                        expanded =  editor.config.toolbarStartupExpanded !== false, 
    164164                                                        groupStarted; 
  • CKEditor/branches/features/adobeair/_source/plugins/wysiwygarea/plugin.js

    r6006 r6062  
    659659                                                                else if ( CKEDITOR.env.opera ) 
    660660                                                                        doc.getBody().focus(); 
    661                                                                 // Webkit needs focus for the first time on the HTML element. 
     661                                                                // Webkit needs focus for the first time on the HTML element. (#6153) 
    662662                                                                else if ( CKEDITOR.env.webkit ) 
    663663                                                                { 
     
    666666                                                                                editor.document.getDocumentElement().focus(); 
    667667                                                                                wasFocused = 1; 
    668  
    669                                                                                 // Webkit does not scroll to the cursor position after first focus. 
    670                                                                                 setTimeout(function() 
    671                                                                                 { 
    672                                                                                         doc.$.execCommand( 'inserthtml', false, '<span id="cke_focus_marker" cke_temp="1"></span>' ); 
    673                                                                                         var marker = doc.getById( 'cke_focus_marker' ); 
    674                                                                                         marker.scrollIntoView(); 
    675                                                                                         marker.remove(); 
    676                                                                                 }, 0 ); 
    677668                                                                        } 
    678669                                                                } 
  • CKEditor/branches/features/adobeair/_source/themes/default/theme.js

    r6006 r6062  
    33For licensing, see LICENSE.html or http://ckeditor.com/license 
    44*/ 
     5 
     6/** 
     7 * @name CKEDITOR.theme 
     8 * @class 
     9 */ 
    510 
    611CKEDITOR.themes.add( 'default', (function() 
     
    6671        } 
    6772 
    68         return { 
     73        return /** @lends CKEDITOR.theme */ { 
    6974                build : function( editor, themePath ) 
    7075                { 
     
    114119                                '<span' + 
    115120                                        ' id="cke_', name, '"' + 
    116                                         ' onmousedown="return false;"' + 
    117121                                        ' class="', editor.skinClass, ' ', editor.id, ' cke_editor_', name, '"' + 
    118122                                        ' dir="', editor.lang.dir, '"' + 
  • CKEditor/branches/features/adobeair/contents.css

    r6006 r6062  
    2424        /* #6341: The text cursor must be set on the editor area. */ 
    2525        cursor: text; 
     26        /* #6632: Avoid having "text" shape of cursor in IE7 scrollbars.*/ 
     27        *cursor:auto; 
    2628} 
    2729 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy