JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.6.4
[ckeditor.git] / _source / core / dom / element.js
index c83674a..84498ba 100644 (file)
@@ -466,6 +466,11 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
                                                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
@@ -731,7 +736,8 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
                                        || 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
@@ -1069,6 +1075,8 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
                                                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
@@ -1143,6 +1151,8 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
                                                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
@@ -1174,9 +1184,9 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
                 */\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
@@ -1227,7 +1237,7 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
                 */\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