Index: /FCKeditor/trunk/_whatsnew.html
===================================================================
--- /FCKeditor/trunk/_whatsnew.html (revision 1949)
+++ /FCKeditor/trunk/_whatsnew.html (revision 1950)
@@ -63,4 +63,6 @@
[#2136] Fixed JavaScript error in IE
when opening the bullet list properties dialog.
+ [#1633] External styles should no
+ longer interfere with the appearance of the editor and floating panels now.
Index: /FCKeditor/trunk/editor/_source/classes/fckeditingarea.js
===================================================================
--- /FCKeditor/trunk/editor/_source/classes/fckeditingarea.js (revision 1949)
+++ /FCKeditor/trunk/editor/_source/classes/fckeditingarea.js (revision 1950)
@@ -98,5 +98,5 @@
oIFrame.frameBorder = 0 ;
- oIFrame.width = oIFrame.height = '100%' ;
+ oIFrame.style.width = oIFrame.style.height = '100%' ;
if ( FCK_IS_CUSTOM_DOMAIN && FCKBrowserInfo.IsIE )
Index: /FCKeditor/trunk/editor/_source/classes/fckpanel.js
===================================================================
--- /FCKeditor/trunk/editor/_source/classes/fckpanel.js (revision 1949)
+++ /FCKeditor/trunk/editor/_source/classes/fckpanel.js (revision 1950)
@@ -67,9 +67,10 @@
{
var oIFrame = this._IFrame = this._Window.document.createElement('iframe') ;
+ FCKTools.ResetStyles( oIFrame );
oIFrame.src = 'javascript:void(0)' ;
oIFrame.allowTransparency = true ;
oIFrame.frameBorder = '0' ;
oIFrame.scrolling = 'no' ;
- oIFrame.width = oIFrame.height = 0 ;
+ oIFrame.style.width = oIFrame.style.height = '0px' ;
FCKDomTools.SetElementStyles( oIFrame,
{
@@ -280,6 +281,6 @@
var iWidth = eMainNode.offsetWidth || eMainNode.firstChild.offsetWidth ;
var iHeight = eMainNode.offsetHeight ;
- me._IFrame.width = iWidth ;
- me._IFrame.height = iHeight ;
+ me._IFrame.style.width = iWidth + 'px' ;
+ me._IFrame.style.height = iHeight + 'px' ;
}, 0 ) ;
@@ -306,5 +307,5 @@
// It is better to set the sizes to 0, otherwise Firefox would have
// rendering problems.
- this._IFrame.width = this._IFrame.height = 0 ;
+ this._IFrame.style.width = this._IFrame.style.height = '0px' ;
this._IsOpened = false ;
Index: /FCKeditor/trunk/editor/_source/internals/fck.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fck.js (revision 1949)
+++ /FCKeditor/trunk/editor/_source/internals/fck.js (revision 1950)
@@ -1176,2 +1176,22 @@
}
}
+
+/*
+ * #1633 : Protect the editor iframe from external styles.
+ * Notice that we can't use FCKTools.ResetStyles here since FCKTools isn't
+ * loaded yet.
+ */
+(function()
+{
+ var el = window.frameElement ;
+ var width = el.width ;
+ var height = el.height ;
+ if ( /^\d+$/.test( width ) ) width += 'px' ;
+ if ( /^\d+$/.test( height ) ) height += 'px' ;
+ var style = el.style ;
+ style.border = style.padding = style.margin = 0 ;
+ style.backgroundColor = 'transparent';
+ style.backgroundImage = 'none';
+ style.width = width ;
+ style.height = height ;
+})() ;
Index: /FCKeditor/trunk/editor/_source/internals/fckdialog.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fckdialog.js (revision 1949)
+++ /FCKeditor/trunk/editor/_source/internals/fckdialog.js (revision 1950)
@@ -76,13 +76,4 @@
}
- var resetStyles = function( element )
- {
- element.style.cssText = 'margin:0;' +
- 'padding:0;' +
- 'border:0;' +
- 'background-color:transparent;' +
- 'background-image:none;' ;
- }
-
return {
/**
@@ -114,5 +105,5 @@
// Setup the IFRAME that will hold the dialog.
var dialog = topDocument.createElement( 'iframe' ) ;
- resetStyles( dialog ) ;
+ FCKTools.ResetStyles( dialog ) ;
dialog.src = FCKConfig.BasePath + 'fckdialog.html' ;
@@ -180,5 +171,5 @@
// Setup the DIV that will be used to cover.
cover = topDocument.createElement( 'div' ) ;
- resetStyles( cover ) ;
+ FCKTools.ResetStyles( cover ) ;
FCKDomTools.SetElementStyles( cover,
{
@@ -196,5 +187,5 @@
{
var iframe = topDocument.createElement( 'iframe' ) ;
- resetStyles( iframe ) ;
+ FCKTools.ResetStyles( iframe ) ;
iframe.hideFocus = true ;
iframe.frameBorder = 0 ;
Index: /FCKeditor/trunk/editor/_source/internals/fcktools.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fcktools.js (revision 1949)
+++ /FCKeditor/trunk/editor/_source/internals/fcktools.js (revision 1950)
@@ -739,2 +739,11 @@
return "javascript: void(0);" ; // All other browsers.
}
+
+FCKTools.ResetStyles = function( element )
+{
+ element.style.cssText = 'margin:0;' +
+ 'padding:0;' +
+ 'border:0;' +
+ 'background-color:transparent;' +
+ 'background-image:none;' ;
+}