New issue
Advanced search Search tips

Issue 876555 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task

Blocking:
issue 707656



Sign in to add a comment

[EditingNG] Paint caret in NG contenteditable

Project Member Reported by xiaoche...@chromium.org, Aug 21

Issue description

We should make NGBoxFragmentPainter::PaintObject() paint carets, so that editing NG debugging & development can be easier.
 
Currently, the lifecycle management of CaretDisplayItemClient is hard-wired to LayoutBlock, making it cumbersome for NG.

We should decouple CaretDisplayItemClient and LayoutBlock.
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 27

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

commit 622ac8ad4f696d1e730266aedccfa3e77e12c89f
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Mon Aug 27 17:56:21 2018

[EditingNG] Paint caret in NG contenteditable blocks

This patch makes NGBoxFragmentPainter paint caret by
- Routing back to legacy LayoutBlock to determine if a block has
  carets to paint
- Adding caret painting code to NGBoxFragmentPainter
so that carets can be painted in NG contenteditable blocks.

This patch makes other editing NG development/debugging easier.

It also fixes some image failures with EditingNG flag enabled, e.g.
editing/selection/editable-links.html.

Bug: 876555
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng;luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I29968b24872603d999b8fd2301ffd465cac23406
Reviewed-on: https://chromium-review.googlesource.com/1185499
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Reviewed-by: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#586309}
[modify] https://crrev.com/622ac8ad4f696d1e730266aedccfa3e77e12c89f/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc
[modify] https://crrev.com/622ac8ad4f696d1e730266aedccfa3e77e12c89f/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.h
[modify] https://crrev.com/622ac8ad4f696d1e730266aedccfa3e77e12c89f/third_party/blink/renderer/core/paint/ng/ng_paint_fragment.cc
[modify] https://crrev.com/622ac8ad4f696d1e730266aedccfa3e77e12c89f/third_party/blink/renderer/core/paint/ng/ng_paint_fragment.h

Sign in to add a comment