| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. |
| 6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| 11 * version 2 of the License, or (at your option) any later version. | 11 * version 2 of the License, or (at your option) any later version. |
| 12 * | 12 * |
| 13 * This library is distributed in the hope that it will be useful, | 13 * This library is distributed in the hope that it will be useful, |
| 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 16 * Library General Public License for more details. | 16 * Library General Public License for more details. |
| 17 * | 17 * |
| 18 * You should have received a copy of the GNU Library General Public License | 18 * You should have received a copy of the GNU Library General Public License |
| 19 * along with this library; see the file COPYING.LIB. If not, write to | 19 * along with this library; see the file COPYING.LIB. If not, write to |
| 20 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 20 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| 21 * Boston, MA 02110-1301, USA. | 21 * Boston, MA 02110-1301, USA. |
| 22 * | 22 * |
| 23 */ | 23 */ |
| 24 | 24 |
| 25 #include "config.h" | 25 #include "config.h" |
| 26 #include "core/html/HTMLTextFormControlElement.h" | 26 #include "core/html/HTMLTextFormControlElement.h" |
| 27 | 27 |
| 28 #include "HTMLNames.h" | 28 #include "HTMLNames.h" |
| 29 #include "bindings/v8/ExceptionMessages.h" | |
| 30 #include "bindings/v8/ExceptionState.h" | 29 #include "bindings/v8/ExceptionState.h" |
| 31 #include "bindings/v8/ExceptionStatePlaceholder.h" | 30 #include "bindings/v8/ExceptionStatePlaceholder.h" |
| 32 #include "core/accessibility/AXObjectCache.h" | 31 #include "core/accessibility/AXObjectCache.h" |
| 33 #include "core/dom/Document.h" | 32 #include "core/dom/Document.h" |
| 34 #include "core/dom/NodeTraversal.h" | 33 #include "core/dom/NodeTraversal.h" |
| 35 #include "core/dom/Text.h" | 34 #include "core/dom/Text.h" |
| 36 #include "core/dom/shadow/ShadowRoot.h" | 35 #include "core/dom/shadow/ShadowRoot.h" |
| 37 #include "core/editing/FrameSelection.h" | 36 #include "core/editing/FrameSelection.h" |
| 38 #include "core/editing/TextIterator.h" | 37 #include "core/editing/TextIterator.h" |
| 39 #include "core/events/Event.h" | 38 #include "core/events/Event.h" |
| (...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 207 | 206 |
| 208 | 207 |
| 209 void HTMLTextFormControlElement::setRangeText(const String& replacement, Excepti
onState& exceptionState) | 208 void HTMLTextFormControlElement::setRangeText(const String& replacement, Excepti
onState& exceptionState) |
| 210 { | 209 { |
| 211 setRangeText(replacement, selectionStart(), selectionEnd(), String(), except
ionState); | 210 setRangeText(replacement, selectionStart(), selectionEnd(), String(), except
ionState); |
| 212 } | 211 } |
| 213 | 212 |
| 214 void HTMLTextFormControlElement::setRangeText(const String& replacement, unsigne
d start, unsigned end, const String& selectionMode, ExceptionState& exceptionSta
te) | 213 void HTMLTextFormControlElement::setRangeText(const String& replacement, unsigne
d start, unsigned end, const String& selectionMode, ExceptionState& exceptionSta
te) |
| 215 { | 214 { |
| 216 if (start > end) { | 215 if (start > end) { |
| 217 exceptionState.throwDOMException(IndexSizeError, ExceptionMessages::fail
edToExecute("setRangeText", "HTMLElement", "The provided start value (" + String
::number(start) + ") is larger than the provided end value (" + String::number(e
nd) + ").")); | 216 exceptionState.throwDOMException(IndexSizeError, "The provided start val
ue (" + String::number(start) + ") is larger than the provided end value (" + St
ring::number(end) + ")."); |
| 218 return; | 217 return; |
| 219 } | 218 } |
| 220 | 219 |
| 221 String text = innerTextValue(); | 220 String text = innerTextValue(); |
| 222 unsigned textLength = text.length(); | 221 unsigned textLength = text.length(); |
| 223 unsigned replacementLength = replacement.length(); | 222 unsigned replacementLength = replacement.length(); |
| 224 unsigned newSelectionStart = selectionStart(); | 223 unsigned newSelectionStart = selectionStart(); |
| 225 unsigned newSelectionEnd = selectionEnd(); | 224 unsigned newSelectionEnd = selectionEnd(); |
| 226 | 225 |
| 227 start = std::min(start, textLength); | 226 start = std::min(start, textLength); |
| (...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 651 | 650 |
| 652 return "ltr"; | 651 return "ltr"; |
| 653 } | 652 } |
| 654 | 653 |
| 655 HTMLElement* HTMLTextFormControlElement::innerTextElement() const | 654 HTMLElement* HTMLTextFormControlElement::innerTextElement() const |
| 656 { | 655 { |
| 657 return toHTMLElement(userAgentShadowRoot()->getElementById(ShadowElementName
s::innerEditor())); | 656 return toHTMLElement(userAgentShadowRoot()->getElementById(ShadowElementName
s::innerEditor())); |
| 658 } | 657 } |
| 659 | 658 |
| 660 } // namespace Webcore | 659 } // namespace Webcore |
| OLD | NEW |