| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
| 3 * Copyright (C) 2011 Apple Inc. All rights reserved. | 3 * Copyright (C) 2011 Apple Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
| 7 * met: | 7 * met: |
| 8 * | 8 * |
| 9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 152 element().updateView(); | 152 element().updateView(); |
| 153 | 153 |
| 154 unsigned max = visibleValue().length(); | 154 unsigned max = visibleValue().length(); |
| 155 element().setSelectionRange(max, max); | 155 element().setSelectionRange(max, max); |
| 156 | 156 |
| 157 if (!valueChanged) | 157 if (!valueChanged) |
| 158 return; | 158 return; |
| 159 | 159 |
| 160 switch (eventBehavior) { | 160 switch (eventBehavior) { |
| 161 case DispatchChangeEvent: | 161 case DispatchChangeEvent: |
| 162 // If the user is still editing this field, dispatch an input event rather
than a change event. | 162 // If the user is still editing this field, dispatch an input event rather |
| 163 // The change event will be dispatched when editing finishes. | 163 // than a change event. The change event will be dispatched when editing |
| 164 // finishes. |
| 164 if (element().focused()) | 165 if (element().focused()) |
| 165 element().dispatchFormControlInputEvent(); | 166 element().dispatchFormControlInputEvent(); |
| 166 else | 167 else |
| 167 element().dispatchFormControlChangeEvent(); | 168 element().dispatchFormControlChangeEvent(); |
| 168 break; | 169 break; |
| 169 | 170 |
| 170 case DispatchInputAndChangeEvent: { | 171 case DispatchInputAndChangeEvent: { |
| 171 element().dispatchFormControlInputEvent(); | 172 element().dispatchFormControlInputEvent(); |
| 172 element().dispatchFormControlChangeEvent(); | 173 element().dispatchFormControlChangeEvent(); |
| 173 break; | 174 break; |
| (...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 426 } | 427 } |
| 427 DCHECK_GE(oldLength, selectionLength); | 428 DCHECK_GE(oldLength, selectionLength); |
| 428 | 429 |
| 429 // Selected characters will be removed by the next text event. | 430 // Selected characters will be removed by the next text event. |
| 430 unsigned baseLength = oldLength - selectionLength; | 431 unsigned baseLength = oldLength - selectionLength; |
| 431 unsigned maxLength = static_cast<unsigned>( | 432 unsigned maxLength = static_cast<unsigned>( |
| 432 this->maxLength()); // maxLength can never be negative. | 433 this->maxLength()); // maxLength can never be negative. |
| 433 unsigned appendableLength = | 434 unsigned appendableLength = |
| 434 maxLength > baseLength ? maxLength - baseLength : 0; | 435 maxLength > baseLength ? maxLength - baseLength : 0; |
| 435 | 436 |
| 436 // Truncate the inserted text to avoid violating the maxLength and other const
raints. | 437 // Truncate the inserted text to avoid violating the maxLength and other |
| 438 // constraints. |
| 437 String eventText = event->text(); | 439 String eventText = event->text(); |
| 438 unsigned textLength = eventText.length(); | 440 unsigned textLength = eventText.length(); |
| 439 while (textLength > 0 && isASCIILineBreak(eventText[textLength - 1])) | 441 while (textLength > 0 && isASCIILineBreak(eventText[textLength - 1])) |
| 440 textLength--; | 442 textLength--; |
| 441 eventText.truncate(textLength); | 443 eventText.truncate(textLength); |
| 442 eventText.replace("\r\n", " "); | 444 eventText.replace("\r\n", " "); |
| 443 eventText.replace('\r', ' '); | 445 eventText.replace('\r', ' '); |
| 444 eventText.replace('\n', ' '); | 446 eventText.replace('\n', ' '); |
| 445 | 447 |
| 446 event->setText(limitLength(eventText, appendableLength)); | 448 event->setText(limitLength(eventText, appendableLength)); |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 547 return shouldSpinButtonRespondToMouseEvents() && element().focused(); | 549 return shouldSpinButtonRespondToMouseEvents() && element().focused(); |
| 548 } | 550 } |
| 549 | 551 |
| 550 void TextFieldInputType::spinButtonDidReleaseMouseCapture( | 552 void TextFieldInputType::spinButtonDidReleaseMouseCapture( |
| 551 SpinButtonElement::EventDispatch eventDispatch) { | 553 SpinButtonElement::EventDispatch eventDispatch) { |
| 552 if (eventDispatch == SpinButtonElement::EventDispatchAllowed) | 554 if (eventDispatch == SpinButtonElement::EventDispatchAllowed) |
| 553 element().dispatchFormControlChangeEvent(); | 555 element().dispatchFormControlChangeEvent(); |
| 554 } | 556 } |
| 555 | 557 |
| 556 } // namespace blink | 558 } // namespace blink |
| OLD | NEW |