| 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, 2008, 2010 Apple Inc. All rights reserv
ed. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Apple Inc. All rights reserv
ed. |
| 6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
| 7 * Copyright (C) 2007 Samuel Weinig (sam@webkit.org) | 7 * Copyright (C) 2007 Samuel Weinig (sam@webkit.org) |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 300 if (currentLength + computeLengthForSubmission(event->text()) < unsignedMaxL
ength) | 300 if (currentLength + computeLengthForSubmission(event->text()) < unsignedMaxL
ength) |
| 301 return; | 301 return; |
| 302 | 302 |
| 303 // selectionLength represents the selection length of this text field to be | 303 // selectionLength represents the selection length of this text field to be |
| 304 // removed by this insertion. | 304 // removed by this insertion. |
| 305 // If the text field has no focus, we don't need to take account of the | 305 // If the text field has no focus, we don't need to take account of the |
| 306 // selection length. The selection is the source of text drag-and-drop in | 306 // selection length. The selection is the source of text drag-and-drop in |
| 307 // that case, and nothing in the text field will be removed. | 307 // that case, and nothing in the text field will be removed. |
| 308 unsigned selectionLength = 0; | 308 unsigned selectionLength = 0; |
| 309 if (focused()) { | 309 if (focused()) { |
| 310 const EphemeralRange range = document().frame()->selection().selection()
.toNormalizedEphemeralRange(); | 310 selectionLength = computeLengthForSubmission(document().frame()->selecti
on().selectedText()); |
| 311 selectionLength = computeLengthForSubmission(plainText(range)); | |
| 312 } | 311 } |
| 313 ASSERT(currentLength >= selectionLength); | 312 ASSERT(currentLength >= selectionLength); |
| 314 unsigned baseLength = currentLength - selectionLength; | 313 unsigned baseLength = currentLength - selectionLength; |
| 315 unsigned appendableLength = unsignedMaxLength > baseLength ? unsignedMaxLeng
th - baseLength : 0; | 314 unsigned appendableLength = unsignedMaxLength > baseLength ? unsignedMaxLeng
th - baseLength : 0; |
| 316 event->setText(sanitizeUserInputValue(event->text(), appendableLength)); | 315 event->setText(sanitizeUserInputValue(event->text(), appendableLength)); |
| 317 } | 316 } |
| 318 | 317 |
| 319 String HTMLTextAreaElement::sanitizeUserInputValue(const String& proposedValue,
unsigned maxLength) | 318 String HTMLTextAreaElement::sanitizeUserInputValue(const String& proposedValue,
unsigned maxLength) |
| 320 { | 319 { |
| 321 if (maxLength > 0 && U16_IS_LEAD(proposedValue[maxLength - 1])) | 320 if (maxLength > 0 && U16_IS_LEAD(proposedValue[maxLength - 1])) |
| (...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 647 | 646 |
| 648 void HTMLTextAreaElement::copyNonAttributePropertiesFromElement(const Element& s
ource) | 647 void HTMLTextAreaElement::copyNonAttributePropertiesFromElement(const Element& s
ource) |
| 649 { | 648 { |
| 650 const HTMLTextAreaElement& sourceElement = static_cast<const HTMLTextAreaEle
ment&>(source); | 649 const HTMLTextAreaElement& sourceElement = static_cast<const HTMLTextAreaEle
ment&>(source); |
| 651 setValueCommon(sourceElement.value(), DispatchNoEvent, SetSeletion); | 650 setValueCommon(sourceElement.value(), DispatchNoEvent, SetSeletion); |
| 652 m_isDirty = sourceElement.m_isDirty; | 651 m_isDirty = sourceElement.m_isDirty; |
| 653 HTMLTextFormControlElement::copyNonAttributePropertiesFromElement(source); | 652 HTMLTextFormControlElement::copyNonAttributePropertiesFromElement(source); |
| 654 } | 653 } |
| 655 | 654 |
| 656 } // namespace blink | 655 } // namespace blink |
| OLD | NEW |