blob: ecd8c63260e4a6139a869d436d30920d4631c16c [file] [log] [blame]
"use strict";
var inheritFrom = require("../utils").inheritFrom;
module.exports = function (core) {
// TODO: constructor should not take ownerDocument
core.Text = function Text(ownerDocument, data) {
core.CharacterData.call(this, ownerDocument, data);
};
inheritFrom(core.CharacterData, core.Text, {
nodeType: core.Node.TEXT_NODE, // TODO should be on prototype, not here
splitText: function (offset) {
offset = offset >>> 0;
var length = this.length;
if (offset > length) {
throw new core.DOMException(core.DOMException.INDEX_SIZE_ERR);
}
var count = length - offset;
var newData = this.substringData(offset, count);
var newNode = this._ownerDocument.createTextNode(newData);
var parent = this._parentNode;
if (parent !== null) {
parent.insertBefore(newNode, this.nextSibling);
}
this.replaceData(offset, count, "");
return newNode;
// TODO: range stuff
},
// TODO: wholeText property
});
};