Ticket #4463: 4463.patch
File 4463.patch, 2.1 KB (added by , 13 years ago) |
---|
-
_source/core/skins.js
33 33 } 34 34 }; 35 35 36 function fixCSSTextRelativePath( cssStyleText, baseUrl ) 37 { 38 return cssStyleText.replace( /url\s*\(([\s'"]*)(.*?)([\s"']*)\)/g, 39 function( match, opener, path, closer ) 40 { 41 if ( /^\/|^\w?:/.test( path ) ) 42 return match; 43 else 44 return 'url(' + baseUrl + opener + path + closer + ')'; 45 } ); 46 } 47 36 48 // Check if we need to preload images from it. 37 49 if ( !preloaded[ skinName ] ) 38 50 { … … 96 108 // Load the "css" pieces. 97 109 if ( !cssIsLoaded ) 98 110 { 99 appendSkinPath( part.css );111 var cssPart = part.css; 100 112 101 for ( var c = 0 ; c < part.css.length ; c++ ) 102 CKEDITOR.document.appendStyleSheet( part.css[ c ] ); 113 if ( CKEDITOR.tools.isArray( cssPart ) ) 114 { 115 appendSkinPath( cssPart ); 116 for ( var c = 0 ; c < cssPart.length ; c++ ) 117 CKEDITOR.document.appendStyleSheet( cssPart[ c ] ); 118 } 119 else 120 { 121 // Processing Inline CSS part. 122 CKEDITOR.document.appendStyleText( 123 fixCSSTextRelativePath( cssPart, 124 CKEDITOR.getUrl( paths[ skinName ] ) ) ); 125 } 103 126 104 127 cssIsLoaded = 1; 105 128 } -
_source/core/dom/document.js
52 52 } 53 53 }, 54 54 55 appendStyleText : function( cssStyleText ) 56 { 57 if ( this.$.createStyleSheet ) 58 { 59 var styleSheet = this.$.createStyleSheet( "" ); 60 styleSheet.cssText = cssStyleText ; 61 } 62 else 63 { 64 var style = new CKEDITOR.dom.element( 'style', this ); 65 style.append( new CKEDITOR.dom.text( cssStyleText, this ) ); 66 this.getHead().append( style ); 67 } 68 }, 69 55 70 createElement : function( name, attribsAndStyles ) 56 71 { 57 72 var element = new CKEDITOR.dom.element( name, this );