| Index: third_party/WebKit/Source/core/html/HTMLTextFormControlElement.cpp
|
| diff --git a/third_party/WebKit/Source/core/html/HTMLTextFormControlElement.cpp b/third_party/WebKit/Source/core/html/HTMLTextFormControlElement.cpp
|
| index b3421b15e87f3c948e148727b9f18a554e1b5353..3384b7b6c5d5b56b44e07e2d8cd59a782759e004 100644
|
| --- a/third_party/WebKit/Source/core/html/HTMLTextFormControlElement.cpp
|
| +++ b/third_party/WebKit/Source/core/html/HTMLTextFormControlElement.cpp
|
| @@ -189,6 +189,7 @@ void HTMLTextFormControlElement::setSelectionDirection(const String& direction)
|
|
|
| void HTMLTextFormControlElement::select(NeedToDispatchSelectEvent eventBehaviour)
|
| {
|
| + // We have to update layout here to use isFocusable().
|
| document().updateLayoutIgnorePendingStylesheets();
|
| setSelectionRange(0, std::numeric_limits<int>::max(), SelectionHasNoDirection, eventBehaviour, isFocusable() ? ChangeSelectionAndFocus : NotChangeSelection);
|
| }
|
| @@ -354,6 +355,10 @@ void HTMLTextFormControlElement::setSelectionRange(int start, int end, TextField
|
| if (openShadowRoot() || !isTextFormControl() || !inDocument())
|
| return;
|
|
|
| + // We need to update layout here so that we have proper types for both dom tree and composed tree selection.
|
| + // See https://codereview.chromium.org/1377963004/
|
| + document().updateLayoutIgnorePendingStylesheets();
|
| +
|
| const int editorValueLength = static_cast<int>(innerEditorValue().length());
|
| ASSERT(editorValueLength >= 0);
|
| end = std::max(std::min(end, editorValueLength), 0);
|
|
|