Got questions, comments, patches, etc.?
Contact Jason Woofenden
gitweb
/
ckeditor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vanilla ckeditor-3.2
[ckeditor.git]
/
_source
/
core
/
dom
/
node.js
diff --git
a/_source/core/dom/node.js
b/_source/core/dom/node.js
index
30df0a1
..
2ae3a13
100644
(file)
--- a/
_source/core/dom/node.js
+++ b/
_source/core/dom/node.js
@@
-1,5
+1,5
@@
/*
\r
/*
\r
-Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
\r
+Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
\r
For licensing, see LICENSE.html or http://ckeditor.com/license
\r
*/
\r
\r
For licensing, see LICENSE.html or http://ckeditor.com/license
\r
*/
\r
\r
@@
-25,6
+25,10
@@
CKEDITOR.dom.node = function( domNode )
{
\r
switch ( domNode.nodeType )
\r
{
\r
{
\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
case CKEDITOR.NODE_ELEMENT :
\r
return new CKEDITOR.dom.element( domNode );
\r
\r
@@
-49,6
+53,13
@@
CKEDITOR.dom.node.prototype = new CKEDITOR.dom.domObject();
CKEDITOR.NODE_ELEMENT = 1;
\r
\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
* Text node type.
\r
* @constant
\r
* @example
\r
@@
-194,27
+205,30
@@
CKEDITOR.tools.extend( CKEDITOR.dom.node.prototype,
var parentNode = node.parentNode;
\r
var currentIndex = -1;
\r
\r
var parentNode = node.parentNode;
\r
var currentIndex = -1;
\r
\r
- for ( var i = 0 ; i < parentNode.childNodes.length ; i++ )
\r
+ if ( parentNode )
\r
{
\r
{
\r
- var candidate = parentNode.childNodes[i];
\r
-
\r
- if ( normalized &&
\r
- candidate.nodeType == 3 &&
\r
- candidate.previousSibling &&
\r
- candidate.previousSibling.nodeType == 3 )
\r
+ for ( var i = 0 ; i < parentNode.childNodes.length ; i++ )
\r
{
\r
{
\r
- continue;
\r
- }
\r
+ var candidate = parentNode.childNodes[i];
\r
\r
\r
- currentIndex++;
\r
+ if ( normalized &&
\r
+ candidate.nodeType == 3 &&
\r
+ candidate.previousSibling &&
\r
+ candidate.previousSibling.nodeType == 3 )
\r
+ {
\r
+ continue;
\r
+ }
\r
\r
\r
- if ( candidate == node )
\r
- break;
\r
- }
\r
+ currentIndex++;
\r
+
\r
+ if ( candidate == node )
\r
+ break;
\r
+ }
\r
\r
\r
- address.unshift( currentIndex );
\r
+ address.unshift( currentIndex );
\r
+ }
\r
\r
\r
- node = node.parentNode;
\r
+ node = parentNode;
\r
}
\r
\r
return address;
\r
}
\r
\r
return address;
\r
@@
-232,7
+246,6
@@
CKEDITOR.tools.extend( CKEDITOR.dom.node.prototype,
var document = new CKEDITOR.dom.document( this.$.ownerDocument || this.$.parentNode.ownerDocument );
\r
\r
return (
\r
var document = new CKEDITOR.dom.document( this.$.ownerDocument || this.$.parentNode.ownerDocument );
\r
\r
return (
\r
- /** @ignore */
\r
this.getDocument = function()
\r
{
\r
return document;
\r
this.getDocument = function()
\r
{
\r
return document;
\r