JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.6
[ckeditor.git] / _source / core / dom / element.js
index 2f3eb0a..6e6a42c 100644 (file)
@@ -429,6 +429,13 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
                                                        name = 'className';\r
                                                        break;\r
 \r
+                                               case 'http-equiv':\r
+                                                       name = 'httpEquiv';\r
+                                                       break;\r
+\r
+                                               case 'name':\r
+                                                       return this.$.name;\r
+\r
                                                case 'tabindex':\r
                                                        var tabIndex = standard.call( this, name );\r
 \r
@@ -714,6 +721,9 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
 \r
                isEditable : function()\r
                {\r
+                       if ( this.isReadOnly() )\r
+                               return false;\r
+\r
                        // Get the element name.\r
                        var name = this.getName();\r
 \r
@@ -884,11 +894,28 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
                 * @param {String} name The attribute name.\r
                 * @example\r
                 */\r
-               hasAttribute : function( name )\r
+               hasAttribute : (function()\r
                {\r
-                       var $attr = this.$.attributes.getNamedItem( name );\r
-                       return !!( $attr && $attr.specified );\r
-               },\r
+                       function standard( name )\r
+                       {\r
+                               var $attr = this.$.attributes.getNamedItem( name );\r
+                               return !!( $attr && $attr.specified );\r
+                       }\r
+\r
+                       return ( CKEDITOR.env.ie && CKEDITOR.env.version < 8 ) ?\r
+                                       function( name )\r
+                                       {\r
+                                               // On IE < 8 the name attribute cannot be retrieved\r
+                                               // right after the element creation and setting the\r
+                                               // name with setAttribute.\r
+                                               if ( name == 'name' )\r
+                                                       return !!this.$.name;\r
+\r
+                                               return standard.call( this, name );\r
+                                       }\r
+                               :\r
+                                       standard;\r
+               })(),\r
 \r
                /**\r
                 * Hides this element (display:none).\r