New issue
Advanced search Search tips

Issue 837521 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Task

Blocking:
issue 708452



Sign in to add a comment

Adapt LayoutText::LocalSelectionRect to LayoutNG

Project Member Reported by yoichio@chromium.org, Apr 27 2018

Issue description

On LayoutNG, the function should compute rect
as same as NGTextFragmentPainter::PaintSelection does.

 
Cc: yoichio@chromium.org xiaoche...@chromium.org yosin@chromium.org
 Issue 827925  has been merged into this issue.
Project Member

Comment 2 by bugdroid1@chromium.org, Apr 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dfb86b65f59b26c4a8caa9ed594cfb5b018e298a

commit dfb86b65f59b26c4a8caa9ed594cfb5b018e298a
Author: Yoichi Osato <yoichio@chromium.org>
Date: Fri Apr 27 08:53:13 2018

Remove LayoutListMarker::LocalSelectionRect()

Since we don't paint list marker selection today, the override is
no longer needed(return null Rect as default).

Bug:  837521 
Change-Id: Ic31f773b82c08c5d758441e6dd15fd33c33e6bd8
Reviewed-on: https://chromium-review.googlesource.com/1032351
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#554340}
[modify] https://crrev.com/dfb86b65f59b26c4a8caa9ed594cfb5b018e298a/third_party/blink/renderer/core/layout/layout_list_marker.cc
[modify] https://crrev.com/dfb86b65f59b26c4a8caa9ed594cfb5b018e298a/third_party/blink/renderer/core/layout/layout_list_marker.h

Labels: -Type-Bug Type-Task
Project Member

Comment 4 by bugdroid1@chromium.org, May 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8f65f7ab322420c82e41a04a8a9180cda3d01c5f

commit 8f65f7ab322420c82e41a04a8a9180cda3d01c5f
Author: Yoichi Osato <yoichio@chromium.org>
Date: Thu May 10 04:15:26 2018

Use NGPhysicalTextFragment::LocalRect for selection painting.

This patch changes NGTextFragmentPainter to use NGPhysicalTextFragment::LocalRect
instead of computing it itself for consistency.

Bug:  837521 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_layout_ng;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I52395834bd0c141873aa792f9f1805ee1a1fdad1
Reviewed-on: https://chromium-review.googlesource.com/1051427
Reviewed-by: Koji Ishii <kojii@chromium.org>
Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org>
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557449}
[modify] https://crrev.com/8f65f7ab322420c82e41a04a8a9180cda3d01c5f/third_party/blink/renderer/core/paint/ng/ng_text_fragment_painter.cc

Project Member

Comment 5 by bugdroid1@chromium.org, May 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0433fc12f5b7ea93d374b6a39391f7111b180ff1

commit 0433fc12f5b7ea93d374b6a39391f7111b180ff1
Author: Yoichi Osato <yoichio@chromium.org>
Date: Wed May 16 06:47:42 2018

[LayoutNG] Implement LayoutText::LocalSelectionRect.

This patch implements LayoutText::LocalSelectionRect() for LayoutNG.
LayoutText update is straightforward: get paint fragments for LayoutText,
compute selection start/end, compute local rects and unite them.
Since LayoutSelection::ComputeLayoutSelectionStatus was used only for not linebreak
LayoutText, this patch adds workaround for them.

Bug:  837521 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_layout_ng;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I3f1033b820ea24300a1bcd261b80b9f54e8d7fee
Reviewed-on: https://chromium-review.googlesource.com/1051488
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#558999}
[modify] https://crrev.com/0433fc12f5b7ea93d374b6a39391f7111b180ff1/third_party/blink/renderer/core/editing/layout_selection.cc
[modify] https://crrev.com/0433fc12f5b7ea93d374b6a39391f7111b180ff1/third_party/blink/renderer/core/editing/layout_selection_test.cc
[modify] https://crrev.com/0433fc12f5b7ea93d374b6a39391f7111b180ff1/third_party/blink/renderer/core/layout/layout_text.cc
[modify] https://crrev.com/0433fc12f5b7ea93d374b6a39391f7111b180ff1/third_party/blink/renderer/core/layout/layout_text_test.cc

Project Member

Comment 6 by bugdroid1@chromium.org, May 18 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2a3dba74a72ae2da66c541c96495f8993fe2e8f8

commit 2a3dba74a72ae2da66c541c96495f8993fe2e8f8
Author: Yoichi Osato <yoichio@chromium.org>
Date: Fri May 18 09:30:09 2018

[LayoutNG] Let LayoutText::LocalSelectionRect considering soft linebreak

This patch modifies LocalSelectionRect to consider soft linebreak rect
by unifying rect computing code with NGTextFragmentPainter's.
This patch settles the unified code onto NGPhysicalTextFragment.

This fixes 3 selection failures:
paint/selection/text-selection-drag-in-frame-scrolled.html
paint/selection/text-selection-drag-in-frame.html
paint/selection/text-selection-drag.html

Bug:  837521 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_layout_ng;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Ic0c5ecf8742577f92c239f430261489d3ff6a756
Reviewed-on: https://chromium-review.googlesource.com/1063692
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559843}
[modify] https://crrev.com/2a3dba74a72ae2da66c541c96495f8993fe2e8f8/third_party/blink/renderer/core/layout/layout_text.cc
[modify] https://crrev.com/2a3dba74a72ae2da66c541c96495f8993fe2e8f8/third_party/blink/renderer/core/layout/layout_text_test.cc
[modify] https://crrev.com/2a3dba74a72ae2da66c541c96495f8993fe2e8f8/third_party/blink/renderer/core/paint/ng/ng_paint_fragment.cc
[modify] https://crrev.com/2a3dba74a72ae2da66c541c96495f8993fe2e8f8/third_party/blink/renderer/core/paint/ng/ng_paint_fragment.h
[modify] https://crrev.com/2a3dba74a72ae2da66c541c96495f8993fe2e8f8/third_party/blink/renderer/core/paint/ng/ng_text_fragment_painter.cc

Status: Fixed (was: Started)

Sign in to add a comment