TextIterator::ShouldRepresentNodeOffsetZero() should use PositionTemplate |
|||||
Issue descriptionChrome Version: 69.0.3458.0 (Developer Build) (64-bit), dchecks on. OS: Linux, have not tried others What steps will reproduce the problem? (1) Navigate to chrome://settings (2) Click on signed in user name (or "Person 1" if not signed in) under People subpage (3) Click in text input for editing user name in "Manage profile". What is the expected result? Can leave cursor in text field and edit user name What happens instead? DCHECK crash [1:1:0613/165807.936567:FATAL:position.cc(145)] Check failed: static_cast<unsigned>(offset) <= Strategy::CountChildren(*anchor_node) (5 vs. 3)SETTINGS-SUBPAGE class="iron-selected" #0 0x7f8b32b3fd1d base::debug::StackTrace::StackTrace() #1 0x7f8b328894bc base::debug::StackTrace::StackTrace() #2 0x7f8b328f851a logging::LogMessage::~LogMessage() #3 0x7f8b1a7b24c2 blink::PositionTemplate<>::PositionTemplate() #4 0x7f8b1a77e836 blink::TextIteratorAlgorithm<>::ShouldRepresentNodeOffsetZero() #5 0x7f8b1a77ce52 blink::TextIteratorAlgorithm<>::RepresentNodeOffsetZero() #6 0x7f8b1a77d008 blink::TextIteratorAlgorithm<>::HandleNonTextNode() #7 0x7f8b1a77c65b blink::TextIteratorAlgorithm<>::Advance() #8 0x7f8b1a77bcce blink::TextIteratorAlgorithm<>::TextIteratorAlgorithm() #9 0x7f8b1a776c8b blink::CreatePlainText<>() #10 0x7f8b1a776b94 blink::PlainText() #11 0x7f8b1a815980 blink::TextOffsetMapping::TextOffsetMapping() #12 0x7f8b1a815cb4 blink::TextOffsetMapping::TextOffsetMapping() #13 0x7f8b1a818809 blink::TextSegments::FindBoundaryForward() #14 0x7f8b1a833c17 blink::(anonymous namespace)::EndOfSentenceInternal() #15 0x7f8b1a833b88 blink::EndOfSentence() #16 0x7f8b1a833c7c blink::EndOfSentence() #17 0x7f8b1a833d0c blink::EndOfSentence() #18 0x7f8b1a833f81 blink::ExpandEndToSentenceBoundary() #19 0x7f8b1a7f017f blink::ColdModeSpellCheckRequester::RequestCheckingForNextChunk() #20 0x7f8b1a7efec5 blink::ColdModeSpellCheckRequester::Invoke() #21 0x7f8b1a7f2f51 blink::IdleSpellCheckCallback::invoke() #22 0x7f8b1a679752 blink::ScriptedIdleTaskController::RunCallback() #23 0x7f8b1a6790f7 blink::ScriptedIdleTaskController::CallbackFired() #24 0x7f8b1a67a54e blink::internal::IdleRequestCallbackWrapper::IdleTaskFired()
,
Jun 14 2018
Thanhk
,
Jun 14 2018
@yosin: The DCHECK was added at [1]. Can you help identify which revision introduced the DCHECK failure? [1] https://chromium-review.googlesource.com/c/chromium/src/+/987655
,
Jul 9
Following code fragment in TextIteratorAlgorithm<Strategy>::ShouldRepresentNodeOffsetZero()
should use PositionTemplate and VisiblePositionTemple:
VisiblePosition start_pos =
CreateVisiblePosition(Position(start_container_, start_offset_));
VisiblePosition curr_pos = VisiblePosition::BeforeNode(*node_);
return start_pos.IsNotNull() && curr_pos.IsNotNull() &&
!InSameLine(start_pos, curr_pos);
,
Jul 9
in review http://crrev.com/1128792
,
Jul 10
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5dd01824d11951820e2c422dc00509db076478c5 commit 5dd01824d11951820e2c422dc00509db076478c5 Author: Yoshifumi Inoue <yosin@chromium.org> Date: Tue Jul 10 09:07:55 2018 Make TextIteratorAlgorithm<T>::ShouldRepresentNodeOffsetZero() to respect template parameter This patch changes |ShouldRepresentNodeOffsetZero()| in |TextIteratorAlgorithm <Strategy>| to use |PositionTemplate<T>| and |VisiblePosition<T>| to use proper positions based on template parameter. Bug: 852624 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: Id754f9858721cc11cbd045232bb1f873cccf34b1 Reviewed-on: https://chromium-review.googlesource.com/1128792 Reviewed-by: Yoichi Osato <yoichio@chromium.org> Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org> Commit-Queue: Yoshifumi Inoue <yosin@chromium.org> Cr-Commit-Position: refs/heads/master@{#573654} [modify] https://crrev.com/5dd01824d11951820e2c422dc00509db076478c5/third_party/blink/renderer/core/editing/iterators/text_iterator.cc
,
Jul 23
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by dpa...@chromium.org
, Jun 14 2018