| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "core/html/HTMLTextFormControlElement.h" | 5 #include "core/html/HTMLTextFormControlElement.h" |
| 6 | 6 |
| 7 #include "core/dom/Document.h" | 7 #include "core/dom/Document.h" |
| 8 #include "core/dom/Text.h" | 8 #include "core/dom/Text.h" |
| 9 #include "core/editing/FrameSelection.h" | 9 #include "core/editing/FrameSelection.h" |
| 10 #include "core/editing/Position.h" | 10 #include "core/editing/Position.h" |
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 199 } | 199 } |
| 200 | 200 |
| 201 TEST_F(HTMLTextFormControlElementTest, SpellCheckDoesNotCauseUpdateLayout) | 201 TEST_F(HTMLTextFormControlElementTest, SpellCheckDoesNotCauseUpdateLayout) |
| 202 { | 202 { |
| 203 HTMLInputElement* input = toHTMLInputElement(document().getElementById("inpu
t")); | 203 HTMLInputElement* input = toHTMLInputElement(document().getElementById("inpu
t")); |
| 204 input->focus(); | 204 input->focus(); |
| 205 input->setValue("Hello, input field"); | 205 input->setValue("Hello, input field"); |
| 206 VisibleSelection oldSelection = document().frame()->selection().selection(); | 206 VisibleSelection oldSelection = document().frame()->selection().selection(); |
| 207 | 207 |
| 208 Position newPosition(input->innerEditorElement()->firstChild(), 3); | 208 Position newPosition(input->innerEditorElement()->firstChild(), 3); |
| 209 VisibleSelection newSelection(newPosition, TextAffinity::Downstream); | 209 VisibleSelection newSelection = createVisibleSelectionDeprecated(newPosition
, TextAffinity::Downstream); |
| 210 document().frame()->selection().setSelection(newSelection, FrameSelection::C
loseTyping | FrameSelection::ClearTypingStyle | FrameSelection::DoNotUpdateAppea
rance); | 210 document().frame()->selection().setSelection(newSelection, FrameSelection::C
loseTyping | FrameSelection::ClearTypingStyle | FrameSelection::DoNotUpdateAppea
rance); |
| 211 ASSERT_EQ(3, input->selectionStart()); | 211 ASSERT_EQ(3, input->selectionStart()); |
| 212 | 212 |
| 213 Persistent<SpellChecker> spellChecker(SpellChecker::create(page().frame())); | 213 Persistent<SpellChecker> spellChecker(SpellChecker::create(page().frame())); |
| 214 forceLayoutFlag(); | 214 forceLayoutFlag(); |
| 215 int startCount = layoutCount(); | 215 int startCount = layoutCount(); |
| 216 spellChecker->respondToChangedSelection(oldSelection, FrameSelection::CloseT
yping | FrameSelection::ClearTypingStyle); | 216 spellChecker->respondToChangedSelection(oldSelection, FrameSelection::CloseT
yping | FrameSelection::ClearTypingStyle); |
| 217 EXPECT_EQ(startCount, layoutCount()); | 217 EXPECT_EQ(startCount, layoutCount()); |
| 218 } | 218 } |
| 219 | 219 |
| 220 TEST_F(HTMLTextFormControlElementTest, IndexForPosition) | 220 TEST_F(HTMLTextFormControlElementTest, IndexForPosition) |
| 221 { | 221 { |
| 222 HTMLInputElement* input = toHTMLInputElement(document().getElementById("inpu
t")); | 222 HTMLInputElement* input = toHTMLInputElement(document().getElementById("inpu
t")); |
| 223 input->setValue("Hello"); | 223 input->setValue("Hello"); |
| 224 HTMLElement* innerEditor = input->innerEditorElement(); | 224 HTMLElement* innerEditor = input->innerEditorElement(); |
| 225 EXPECT_EQ(5, HTMLTextFormControlElement::indexForPosition(innerEditor, Posit
ion(innerEditor, PositionAnchorType::AfterAnchor))); | 225 EXPECT_EQ(5, HTMLTextFormControlElement::indexForPosition(innerEditor, Posit
ion(innerEditor, PositionAnchorType::AfterAnchor))); |
| 226 } | 226 } |
| 227 | 227 |
| 228 } // namespace blink | 228 } // namespace blink |
| OLD | NEW |