diff options
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/dom/browserrange/webkitrange.js')
-rw-r--r-- | contexts/data/lib/closure-library/closure/goog/dom/browserrange/webkitrange.js | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/dom/browserrange/webkitrange.js b/contexts/data/lib/closure-library/closure/goog/dom/browserrange/webkitrange.js deleted file mode 100644 index acb00a0..0000000 --- a/contexts/data/lib/closure-library/closure/goog/dom/browserrange/webkitrange.js +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2007 The Closure Library Authors. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS-IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/** - * @fileoverview Definition of the WebKit specific range wrapper. Inherits most - * functionality from W3CRange, but adds exceptions as necessary. - * - * DO NOT USE THIS FILE DIRECTLY. Use goog.dom.Range instead. - * - * @author robbyw@google.com (Robby Walker) - */ - - -goog.provide('goog.dom.browserrange.WebKitRange'); - -goog.require('goog.dom.RangeEndpoint'); -goog.require('goog.dom.browserrange.W3cRange'); -goog.require('goog.userAgent'); - - - -/** - * The constructor for WebKit specific browser ranges. - * @param {Range} range The range object. - * @constructor - * @extends {goog.dom.browserrange.W3cRange} - */ -goog.dom.browserrange.WebKitRange = function(range) { - goog.dom.browserrange.W3cRange.call(this, range); -}; -goog.inherits(goog.dom.browserrange.WebKitRange, - goog.dom.browserrange.W3cRange); - - -/** - * Creates a range object that selects the given node's text. - * @param {Node} node The node to select. - * @return {goog.dom.browserrange.WebKitRange} A WebKit range wrapper object. - */ -goog.dom.browserrange.WebKitRange.createFromNodeContents = function(node) { - return new goog.dom.browserrange.WebKitRange( - goog.dom.browserrange.W3cRange.getBrowserRangeForNode(node)); -}; - - -/** - * Creates a range object that selects between the given nodes. - * @param {Node} startNode The node to start with. - * @param {number} startOffset The offset within the start node. - * @param {Node} endNode The node to end with. - * @param {number} endOffset The offset within the end node. - * @return {goog.dom.browserrange.WebKitRange} A wrapper object. - */ -goog.dom.browserrange.WebKitRange.createFromNodes = function(startNode, - startOffset, endNode, endOffset) { - return new goog.dom.browserrange.WebKitRange( - goog.dom.browserrange.W3cRange.getBrowserRangeForNodes(startNode, - startOffset, endNode, endOffset)); -}; - - -/** @override */ -goog.dom.browserrange.WebKitRange.prototype.compareBrowserRangeEndpoints = - function(range, thisEndpoint, otherEndpoint) { - // Webkit pre-528 has some bugs where compareBoundaryPoints() doesn't work the - // way it is supposed to, but if we reverse the sense of two comparisons, - // it works fine. - // https://bugs.webkit.org/show_bug.cgi?id=20738 - if (goog.userAgent.isVersion('528')) { - return (goog.dom.browserrange.WebKitRange.superClass_. - compareBrowserRangeEndpoints.call( - this, range, thisEndpoint, otherEndpoint)); - } - return this.range_.compareBoundaryPoints( - otherEndpoint == goog.dom.RangeEndpoint.START ? - (thisEndpoint == goog.dom.RangeEndpoint.START ? - goog.global['Range'].START_TO_START : - goog.global['Range'].END_TO_START) : // Sense reversed - (thisEndpoint == goog.dom.RangeEndpoint.START ? - goog.global['Range'].START_TO_END : // Sense reversed - goog.global['Range'].END_TO_END), - /** @type {Range} */ (range)); -}; - - -/** @override */ -goog.dom.browserrange.WebKitRange.prototype.selectInternal = function( - selection, reversed) { - // Unselect everything. This addresses a bug in Webkit where it sometimes - // caches the old selection. - // https://bugs.webkit.org/show_bug.cgi?id=20117 - selection.removeAllRanges(); - - if (reversed) { - selection.setBaseAndExtent(this.getEndNode(), this.getEndOffset(), - this.getStartNode(), this.getStartOffset()); - } else { - selection.setBaseAndExtent(this.getStartNode(), this.getStartOffset(), - this.getEndNode(), this.getEndOffset()); - } -}; |