diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-05-16 09:59:13 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-05-20 10:28:53 +0000 |
commit | 6c11fb357ec39bf087b8b632e2b1e375aef1b38b (patch) | |
tree | c8315530db18a8ee566521c39ab8a6af4f72bc03 /chromium/third_party/blink/renderer/core/layout/layout_text_fragment.cc | |
parent | 3ffaed019d0772e59d6cdb2d0d32fe4834c31f72 (diff) | |
download | qtwebengine-chromium-6c11fb357ec39bf087b8b632e2b1e375aef1b38b.tar.gz |
BASELINE: Update Chromium to 74.0.3729.159
Change-Id: I8d2497da544c275415aedd94dd25328d555de811
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/third_party/blink/renderer/core/layout/layout_text_fragment.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/layout/layout_text_fragment.cc | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/chromium/third_party/blink/renderer/core/layout/layout_text_fragment.cc b/chromium/third_party/blink/renderer/core/layout/layout_text_fragment.cc index 54ece45472f..3c629a72c0c 100644 --- a/chromium/third_party/blink/renderer/core/layout/layout_text_fragment.cc +++ b/chromium/third_party/blink/renderer/core/layout/layout_text_fragment.cc @@ -42,7 +42,9 @@ LayoutTextFragment::LayoutTextFragment(Node* node, fragment_length_(length), is_remaining_text_layout_object_(false), content_string_(str), - first_letter_pseudo_element_(nullptr) {} + first_letter_pseudo_element_(nullptr) { + is_text_fragment_ = true; +} LayoutTextFragment::~LayoutTextFragment() { DCHECK(!first_letter_pseudo_element_); @@ -202,12 +204,18 @@ void LayoutTextFragment::UpdateHitTestResult(HitTestResult& result, } Position LayoutTextFragment::PositionForCaretOffset(unsigned offset) const { - DCHECK_LE(offset, FragmentLength()); + // TODO(layout-dev): Make the following DCHECK always enabled after we + // properly support 'text-transform' changing text length. +#if DCHECK_IS_ON() + if (StyleRef().TextTransform() == ETextTransform::kNone) + DCHECK_LE(offset, FragmentLength()); +#endif const Text* node = AssociatedTextNode(); if (!node) return Position(); - // TODO(layout-dev): Support offset change due to text-transform. - return Position(node, Start() + offset); + // TODO(layout-dev): Properly support offset change due to text-transform. + const unsigned clamped_offset = std::min(offset, FragmentLength()); + return Position(node, Start() + clamped_offset); } base::Optional<unsigned> LayoutTextFragment::CaretOffsetForPosition( |