{\r
switch ( domNode.nodeType )\r
{\r
+ // Safari don't consider document as element node type. (#3389)\r
+ case CKEDITOR.NODE_DOCUMENT :\r
+ return new CKEDITOR.dom.document( domNode );\r
+\r
case CKEDITOR.NODE_ELEMENT :\r
return new CKEDITOR.dom.element( domNode );\r
\r
CKEDITOR.NODE_ELEMENT = 1;\r
\r
/**\r
+ * Document node type.\r
+ * @constant\r
+ * @example\r
+ */\r
+CKEDITOR.NODE_DOCUMENT = 9;\r
+\r
+/**\r
* Text node type.\r
* @constant\r
* @example\r
child.parentNode.removeChild( child ) ;\r
}\r
}\r
+ },\r
+\r
+ isReadOnly : function()\r
+ {\r
+ var current = this;\r
+ while( current )\r
+ {\r
+ if ( current.type == CKEDITOR.NODE_ELEMENT )\r
+ {\r
+ if ( current.is( 'body' ) || current.getCustomData( '_cke_notReadOnly' ) )\r
+ break;\r
+\r
+ if ( current.getAttribute( 'contentEditable' ) == 'false' )\r
+ return current;\r
+ else if ( current.getAttribute( 'contentEditable' ) == 'true' )\r
+ break;\r
+ }\r
+ current = current.getParent();\r
+ }\r
+\r
+ return false;\r
}\r
}\r
);\r