summaryrefslogtreecommitdiff
path: root/core/dom/document.js
diff options
context:
space:
mode:
Diffstat (limited to 'core/dom/document.js')
-rw-r--r--core/dom/document.js270
1 files changed, 0 insertions, 270 deletions
diff --git a/core/dom/document.js b/core/dom/document.js
deleted file mode 100644
index 425acb8..0000000
--- a/core/dom/document.js
+++ /dev/null
@@ -1,270 +0,0 @@
-/**
- * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.html or http://ckeditor.com/license
- */
-
-/**
- * @fileOverview Defines the {@link CKEDITOR.dom.document} class, which
- * represents a DOM document.
- */
-
-/**
- * Represents a DOM document.
- *
- * var document = new CKEDITOR.dom.document( document );
- *
- * @class
- * @extends CKEDITOR.dom.domObject
- * @constructor Creates a document class instance.
- * @param {Object} domDocument A native DOM document.
- */
-CKEDITOR.dom.document = function( domDocument ) {
- CKEDITOR.dom.domObject.call( this, domDocument );
-};
-
-// PACKAGER_RENAME( CKEDITOR.dom.document )
-
-CKEDITOR.dom.document.prototype = new CKEDITOR.dom.domObject();
-
-CKEDITOR.tools.extend( CKEDITOR.dom.document.prototype, {
- /**
- * The node type. This is a constant value set to {@link CKEDITOR#NODE_DOCUMENT}.
- *
- * @readonly
- * @property {Number} [=CKEDITOR.NODE_DOCUMENT]
- */
- type: CKEDITOR.NODE_DOCUMENT,
-
- /**
- * Appends a CSS file to the document.
- *
- * CKEDITOR.document.appendStyleSheet( '/mystyles.css' );
- *
- * @param {String} cssFileUrl The CSS file URL.
- */
- appendStyleSheet: function( cssFileUrl ) {
- if ( this.$.createStyleSheet )
- this.$.createStyleSheet( cssFileUrl );
- else {
- var link = new CKEDITOR.dom.element( 'link' );
- link.setAttributes({
- rel: 'stylesheet',
- type: 'text/css',
- href: cssFileUrl
- });
-
- this.getHead().append( link );
- }
- },
-
- /**
- * Creates a CSS style sheet and inserts it into the document.
- *
- * @param cssStyleText {String} CSS style text.
- * @returns {Object} The created DOM native style sheet object.
- */
- appendStyleText: function( cssStyleText ) {
- if ( this.$.createStyleSheet ) {
- var styleSheet = this.$.createStyleSheet( "" );
- styleSheet.cssText = cssStyleText;
- } else {
- var style = new CKEDITOR.dom.element( 'style', this );
- style.append( new CKEDITOR.dom.text( cssStyleText, this ) );
- this.getHead().append( style );
- }
-
- return styleSheet || style.$.sheet;
- },
-
- /**
- * Creates {@link CKEDITOR.dom.element} instance in this document.
- *
- * @returns {CKEDITOR.dom.element}
- * @todo
- */
- createElement: function( name, attribsAndStyles ) {
- var element = new CKEDITOR.dom.element( name, this );
-
- if ( attribsAndStyles ) {
- if ( attribsAndStyles.attributes )
- element.setAttributes( attribsAndStyles.attributes );
-
- if ( attribsAndStyles.styles )
- element.setStyles( attribsAndStyles.styles );
- }
-
- return element;
- },
-
- /**
- * Creates {@link CKEDITOR.dom.text} instance in this document.
- *
- * @param {String} text Value of the text node.
- * @returns {CKEDITOR.dom.element}
- */
- createText: function( text ) {
- return new CKEDITOR.dom.text( text, this );
- },
-
- /**
- * Moves the selection focus to this document's window.
- */
- focus: function() {
- this.getWindow().focus();
- },
-
- /**
- * Returns the element that is currently designated as the active element in the document.
- *
- * **Note:** Only one element can be active at a time in a document.
- * An active element does not necessarily have focus,
- * but an element with focus is always the active element in a document.
- *
- * @returns {CKEDITOR.dom.element}
- */
- getActive: function() {
- return new CKEDITOR.dom.element( this.$.activeElement );
- },
-
- /**
- * Gets an element based on its id.
- *
- * var element = CKEDITOR.document.getById( 'myElement' );
- * alert( element.getId() ); // 'myElement'
- *
- * @param {String} elementId The element id.
- * @returns {CKEDITOR.dom.element} The element instance, or null if not found.
- */
- getById: function( elementId ) {
- var $ = this.$.getElementById( elementId );
- return $ ? new CKEDITOR.dom.element( $ ) : null;
- },
-
- /**
- * Gets a node based on its address. See {@link CKEDITOR.dom.node#getAddress}.
- *
- * @param {Array} address
- * @param {Boolean} [normalized=false]
- */
- getByAddress: function( address, normalized ) {
- var $ = this.$.documentElement;
-
- for ( var i = 0; $ && i < address.length; i++ ) {
- var target = address[ i ];
-
- if ( !normalized ) {
- $ = $.childNodes[ target ];
- continue;
- }
-
- var currentIndex = -1;
-
- for ( var j = 0; j < $.childNodes.length; j++ ) {
- var candidate = $.childNodes[ j ];
-
- if ( normalized === true && candidate.nodeType == 3 && candidate.previousSibling && candidate.previousSibling.nodeType == 3 ) {
- continue;
- }
-
- currentIndex++;
-
- if ( currentIndex == target ) {
- $ = candidate;
- break;
- }
- }
- }
-
- return $ ? new CKEDITOR.dom.node( $ ) : null;
- },
-
- /**
- * Gets elements list based on given tag name.
- *
- * @param {String} tagName The element tag name.
- * @returns {CKEDITOR.dom.nodeList} The nodes list.
- */
- getElementsByTag: function( tagName, namespace ) {
- if ( !( CKEDITOR.env.ie && !( document.documentMode > 8 ) ) && namespace )
- tagName = namespace + ':' + tagName;
- return new CKEDITOR.dom.nodeList( this.$.getElementsByTagName( tagName ) );
- },
-
- /**
- * Gets the `<head>` element for this document.
- *
- * var element = CKEDITOR.document.getHead();
- * alert( element.getName() ); // 'head'
- *
- * @returns {CKEDITOR.dom.element} The `<head>` element.
- */
- getHead: function() {
- var head = this.$.getElementsByTagName( 'head' )[ 0 ];
- if ( !head )
- head = this.getDocumentElement().append( new CKEDITOR.dom.element( 'head' ), true );
- else
- head = new CKEDITOR.dom.element( head );
-
- return head;
- },
-
- /**
- * Gets the `<body>` element for this document.
- *
- * var element = CKEDITOR.document.getBody();
- * alert( element.getName() ); // 'body'
- *
- * @returns {CKEDITOR.dom.element} The `<body>` element.
- */
- getBody: function() {
- return new CKEDITOR.dom.element( this.$.body );
- },
-
- /**
- * Gets the DOM document element for this document.
- *
- * @returns {CKEDITOR.dom.element} The DOM document element.
- */
- getDocumentElement: function() {
- return new CKEDITOR.dom.element( this.$.documentElement );
- },
-
- /**
- * Gets the window object that holds this document.
- *
- * @returns {CKEDITOR.dom.window} The window object.
- */
- getWindow: function() {
- return new CKEDITOR.dom.window( this.$.parentWindow || this.$.defaultView );
- },
-
- /**
- * Defines the document contents through document.write. Note that the
- * previous document contents will be lost (cleaned).
- *
- * document.write(
- * '<html>' +
- * '<head><title>Sample Doc</title></head>' +
- * '<body>Document contents created by code</body>' +
- * '</html>'
- * );
- *
- * @since 3.5
- * @param {String} html The HTML defining the document contents.
- */
- write: function( html ) {
- // Don't leave any history log in IE. (#5657)
- this.$.open( 'text/html', 'replace' );
-
- // Support for custom document.domain in IE.
- //
- // The script must be appended because if placed before the
- // doctype, IE will go into quirks mode and mess with
- // the editable, e.g. by changing its default height.
- if ( CKEDITOR.env.ie )
- html = html.replace( /(?:^\s*<!DOCTYPE[^>]*?>)|^/i, '$&\n<script data-cke-temp="1">(' + CKEDITOR.tools.fixDomain + ')();</script>' );
-
- this.$.write( html );
- this.$.close();
- }
-});