Outline for input element fragmented across columns, but input is not |
|||
Issue descriptionInput elements and scrollers are I believe currently not ever fragmented. However, the region for their outlines is 1px outside of the not- fragmented region, and gets broken into multiple pieces. The outline, if present, for a scroller or input, should not be broken into multiple columns, and should instead overflow the single fragment if necessary. Example attached (focus the input box to see the broken outline).
,
Oct 16 2017
You're right, but I think that's going to be hard to achieve with the current architecture. Internally we have this tall single-strip flow thread that just get sliced into columns for painting and hit-testing, and so on. See also crbug.com/420350 (marked as a duplicate of crbug.com/269061 (which really is about the opposite problem - not sure if it was a good idea to mark it as a duplicate, but then again I expect the two problems to be fixed by one and the same fix - whatever that is going to be. LayoutNG? :-P))
,
Oct 16 2017
One option could be to paint visual overflows without clip if the element had only one fragment (which we now know because of the existence of the FragmentData objects. But that is not trivial, and I'm not so sure how high priority this is anyway.
,
Nov 8 2017
,
Nov 9 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7b689930b0918450948c72447fec65f98e7eaa9a commit 7b689930b0918450948c72447fec65f98e7eaa9a Author: Chris Harrelson <chrishtr@chromium.org> Date: Thu Nov 09 20:33:06 2017 Use BorderBoxRect when computing fragment paint offsets and column fragmentation. Visual rects may not have an origin at the (0, 0) point of the object, which makes them inappropriate for paint offsets. They are also not appropriate for fragmentation, because visual overflow should extend beyond column bounds rather than causing elements to paint into multiple fragments. Note that fragment clips may still cut off visual overflow, which is a bug, but now visual overflow will not extend across columns. Bug: 782608 , 774699 , 779998 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: I23feab957c018c124f59b5b9b84644709c466e03 Reviewed-on: https://chromium-review.googlesource.com/759233 Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org> Commit-Queue: Chris Harrelson <chrishtr@chromium.org> Cr-Commit-Position: refs/heads/master@{#515269} [modify] https://crrev.com/7b689930b0918450948c72447fec65f98e7eaa9a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp [modify] https://crrev.com/7b689930b0918450948c72447fec65f98e7eaa9a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp
,
Nov 9 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by e...@chromium.org
, Oct 14 2017