/*\r
-Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.\r
+Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.\r
For licensing, see LICENSE.html or http://ckeditor.com/license\r
*/\r
\r
if ( !customConfig )\r
return false;\r
\r
+ customConfig = CKEDITOR.getUrl( customConfig );\r
+\r
var loadedConfig = loadConfigLoaded[ customConfig ] || ( loadConfigLoaded[ customConfig ] = {} );\r
\r
// If the custom config has already been downloaded, reuse it.\r
\r
// If there is no other customConfig in the chain, fire the\r
// "configLoaded" event.\r
- if ( editor.config.customConfig == customConfig || !loadConfig( editor ) )\r
+ if ( CKEDITOR.getUrl( editor.config.customConfig ) == customConfig || !loadConfig( editor ) )\r
editor.fireOnce( 'customConfigLoaded' );\r
}\r
else\r
editor.fireOnce( 'configLoaded' );\r
\r
// Load language file.\r
- loadLang( editor );\r
+ loadSkin( editor );\r
};\r
\r
var loadLang = function( editor )\r
\r
// Load the editor skin.\r
editor.fire( 'pluginsLoaded' );\r
- loadSkin( editor );\r
+ loadTheme( editor );\r
});\r
});\r
};\r
{\r
CKEDITOR.skins.load( editor, 'editor', function()\r
{\r
- loadTheme( editor );\r
+ loadLang( editor );\r
});\r
};\r
\r
},\r
\r
/**\r
- * Sets the editor data. The data must be provided in raw format.\r
+ * Sets the editor data. The data must be provided in raw format (HTML).\r
+ * <b>Note:</b> This's an asynchronous method, the {@param callback}\r
+ * function should be relied on if you want to interact with the editor\r
+ * after data is fully loaded.\r
+ *\r
* @param {String} data HTML code to replace the curent content in the editor.\r
* @param {Function} callback Function to be called after the setData is completed.\r
* @example\r
var element = this.element;\r
if ( element && this.elementMode == CKEDITOR.ELEMENT_MODE_REPLACE )\r
{\r
+ var data = this.getData();\r
+\r
+ if( this.config.htmlEncodeOutput )\r
+ data = CKEDITOR.tools.htmlEncode( data );\r
+\r
if ( element.is( 'textarea' ) )\r
- element.setValue( this.getData() );\r
+ element.setValue( data );\r
else\r
- element.setHtml( this.getData() );\r
+ element.setHtml( data );\r
}\r
}\r
});\r
pending[ i ]._init();\r
}\r
});\r
+\r
+/**\r
+ * Whether escape HTML when editor update original input element.\r
+ * @name CKEDITOR.config.htmlEncodeOutput\r
+ * @type {Boolean}\r
+ * @default false\r
+ * @example\r
+ * config.htmlEncodeOutput = true;\r
+ */\r