case 'style':\r
// IE does not return inline styles via getAttribute(). See #2947.\r
return this.$.style.cssText;\r
+\r
+ case 'contenteditable':\r
+ case 'contentEditable':\r
+ return this.$.attributes.getNamedItem( 'contentEditable' ).specified ?\r
+ this.$.getAttribute( 'contentEditable' ) : null;\r
}\r
\r
return standard.call( this, name );\r
|| this.getComputedStyle( 'display' ) == 'none'\r
|| this.getComputedStyle( 'visibility' ) == 'hidden'\r
|| this.is( 'a' ) && this.data( 'cke-saved-name' ) && !this.getChildCount()\r
- || CKEDITOR.dtd.$nonEditable[ name ] )\r
+ || CKEDITOR.dtd.$nonEditable[ name ]\r
+ || CKEDITOR.dtd.$empty[ name ] )\r
{\r
return false;\r
}\r
this.$.tabIndex = value;\r
else if ( name == 'checked' )\r
this.$.checked = value;\r
+ else if ( name == 'contenteditable' )\r
+ standard.call( this, 'contentEditable', value );\r
else\r
standard.apply( this, arguments );\r
return this;\r
name = 'className';\r
else if ( name == 'tabindex' )\r
name = 'tabIndex';\r
+ else if ( name == 'contenteditable' )\r
+ name = 'contentEditable';\r
standard.call( this, name );\r
};\r
}\r
*/\r
removeStyle : function( name )\r
{\r
- this.setStyle( name, '' );\r
- if ( this.$.style.removeAttribute )\r
- this.$.style.removeAttribute( CKEDITOR.tools.cssStyleToDomStyle( name ) );\r
+ // Removes the specified property from the current style object.\r
+ var $ = this.$.style;\r
+ $.removeProperty ? $.removeProperty( name ) : $.removeAttribute( CKEDITOR.tools.cssStyleToDomStyle( name ) );\r
\r
if ( !this.$.style.cssText )\r
this.removeAttribute( 'style' );\r
*/\r
setOpacity : function( opacity )\r
{\r
- if ( CKEDITOR.env.ie )\r
+ if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 )\r
{\r
opacity = Math.round( opacity * 100 );\r
this.setStyle( 'filter', opacity >= 100 ? '' : 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + opacity + ')' );\r