\r
CKEDITOR.skins.add( 'kama', (function()\r
{\r
- var preload = [];\r
+ var preload = [],\r
+ uiColorStylesheetId = 'cke_ui_color';\r
\r
if ( CKEDITOR.env.ie && CKEDITOR.env.version < 7 )\r
{\r
uiColorMenuCss[ i ] = uiColorMenuCss[ i ].split( '{' );\r
}\r
\r
- function addStylesheet( document )\r
+ function getStylesheet( document )\r
{\r
- var node = document.getHead().append( 'style' );\r
- node.setAttribute( "id", "cke_ui_color" );\r
- node.setAttribute( "type", "text/css" );\r
-\r
+ var node = document.getById( uiColorStylesheetId );\r
+ if( !node )\r
+ {\r
+ node = document.getHead().append( 'style' );\r
+ node.setAttribute( "id", uiColorStylesheetId );\r
+ node.setAttribute( "type", "text/css" );\r
+ }\r
return node;\r
}\r
\r
{\r
if ( CKEDITOR.env.webkit )\r
{\r
- // Truncate manually.\r
- for ( i = 0 ; i < styleNodes[ id ].$.sheet.rules.length ; i++ )\r
- styleNodes[ id ].$.sheet.removeRule( i );\r
-\r
for ( i = 0 ; i < styleContent.length ; i++ )\r
{\r
content = styleContent[ i ][ 1 ];\r
content = content.replace( replace[ r ][ 0 ], replace[ r ][ 1 ] );\r
\r
if ( CKEDITOR.env.ie )\r
- styleNodes[ id ].$.styleSheet.cssText = content;\r
+ styleNodes[ id ].$.styleSheet.cssText += content;\r
else\r
- styleNodes[ id ].setHtml( content );\r
+ styleNodes[ id ].$.innerHTML += content;\r
}\r
}\r
}\r
setUiColor : function( color )\r
{\r
var cssContent,\r
- uiStyle = addStylesheet( CKEDITOR.document ),\r
- cssId = '#cke_' + editor.name.replace('.', '\\.');\r
+ uiStyle = getStylesheet( CKEDITOR.document ),\r
+ cssId = '#cke_' + CKEDITOR.tools.escapeCssSelector( editor.name );\r
\r
var cssSelectors =\r
[\r
// Add stylesheet if missing.\r
if ( !iframe.getById( 'cke_ui_color' ) )\r
{\r
- var node = addStylesheet( iframe );\r
+ var node = getStylesheet( iframe );\r
uiColorMenus.push( node );\r
\r
var color = editor.getUiColor();\r
width = data.width,\r
height = data.height,\r
dialog = data.dialog,\r
- contents = dialog.parts.contents,\r
- standardsMode = !CKEDITOR.env.quirks;\r
+ contents = dialog.parts.contents;\r
\r
if ( data.skin != 'kama' )\r
return;\r
\r
contents.setStyles(\r
- ( CKEDITOR.env.ie || ( CKEDITOR.env.gecko && CKEDITOR.env.version < 10900 ) ) ? // IE && FF2\r
- {\r
- width : width + 'px',\r
- height : height + 'px'\r
- }\r
- :\r
- {\r
- // To avoid having scrollbars in the dialogs, we're\r
- // (for now) using the "min-xxx" properties, for\r
- // browsers which well support it (#3878).\r
- 'min-width' : width + 'px',\r
- 'min-height' : height + 'px'\r
- });\r
-\r
- if ( !CKEDITOR.env.ie )\r
- return;\r
+ {\r
+ width : width + 'px',\r
+ height : height + 'px'\r
+ });\r
\r
// Fix the size of the elements which have flexible lengths.\r
setTimeout( function()\r
{\r
- var body = contents.getParent(),\r
- innerDialog = body.getParent();\r
+ var innerDialog = dialog.parts.dialog.getChild( [ 0, 0, 0 ] ),\r
+ body = innerDialog.getChild( 0 );\r
\r
// tc\r
var el = innerDialog.getChild( 2 );\r