diff options
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/dom/browserrange/geckorange.js')
-rw-r--r-- | contexts/data/lib/closure-library/closure/goog/dom/browserrange/geckorange.js | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/dom/browserrange/geckorange.js b/contexts/data/lib/closure-library/closure/goog/dom/browserrange/geckorange.js deleted file mode 100644 index c1d78d0..0000000 --- a/contexts/data/lib/closure-library/closure/goog/dom/browserrange/geckorange.js +++ /dev/null @@ -1,86 +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 Gecko 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.GeckoRange'); - -goog.require('goog.dom.browserrange.W3cRange'); - - - -/** - * The constructor for Gecko specific browser ranges. - * @param {Range} range The range object. - * @constructor - * @extends {goog.dom.browserrange.W3cRange} - */ -goog.dom.browserrange.GeckoRange = function(range) { - goog.dom.browserrange.W3cRange.call(this, range); -}; -goog.inherits(goog.dom.browserrange.GeckoRange, 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.GeckoRange} A Gecko range wrapper object. - */ -goog.dom.browserrange.GeckoRange.createFromNodeContents = function(node) { - return new goog.dom.browserrange.GeckoRange( - 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 node to start. - * @param {Node} endNode The node to end with. - * @param {number} endOffset The offset within the node to end. - * @return {goog.dom.browserrange.GeckoRange} A wrapper object. - */ -goog.dom.browserrange.GeckoRange.createFromNodes = function(startNode, - startOffset, endNode, endOffset) { - return new goog.dom.browserrange.GeckoRange( - goog.dom.browserrange.W3cRange.getBrowserRangeForNodes(startNode, - startOffset, endNode, endOffset)); -}; - - -/** @override */ -goog.dom.browserrange.GeckoRange.prototype.selectInternal = function( - selection, reversed) { - if (!reversed || this.isCollapsed()) { - // The base implementation for select() is more robust, and works fine for - // collapsed and forward ranges. This works around - // https://bugzilla.mozilla.org/show_bug.cgi?id=773137, and is tested by - // range_test.html's testFocusedElementDisappears. - goog.base(this, 'selectInternal', selection, reversed); - } else { - // Reversed selection -- start with a caret on the end node, and extend it - // back to the start. Unfortunately, collapse() fails when focus is - // invalid. - selection.collapse(this.getEndNode(), this.getEndOffset()); - selection.extend(this.getStartNode(), this.getStartOffset()); - } -}; |