Failures in hit testing vertical multi-line inline element with round border |
|
Issue descriptionChrome Version: 67.0.3396.99 (Official Build) (64-bit) OS: Linux What steps will reproduce the problem? (1) Open http://jsfiddle.net/82kh91Ly/13/ (2) Hover mouse over "BAR" in vertical-lr blocks with round border (3) Hover mouse over text in vertical-rl blocks with round border What is the expected result? Hover changes SPAN's background color as long as mouse enters round border What happens instead? (2) Doesn't change background color when mouse enters the border of the second line (the line with "BAR"). Changes color only when mouse is directly above the text. (3) Doesn't change background color when mouse enters the border of either line. Changes color only when mouse is directly over text.
,
Jul 2
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c0a7ed0497092a75b632cacb625c294f8f85b365 commit c0a7ed0497092a75b632cacb625c294f8f85b365 Author: Xiaocheng Hu <xiaochengh@chromium.org> Date: Mon Jul 02 19:21:23 2018 Add layout test for hit testing fragmented inline with rounded border Bug: 859233 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: Ifefe2b4f1b25627c53a467c27937271de9efe450 Reviewed-on: https://chromium-review.googlesource.com/1121584 Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Aleks Totic <atotic@chromium.org> Cr-Commit-Position: refs/heads/master@{#571963} [modify] https://crrev.com/c0a7ed0497092a75b632cacb625c294f8f85b365/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/c0a7ed0497092a75b632cacb625c294f8f85b365/third_party/WebKit/LayoutTests/TestExpectations [add] https://crrev.com/c0a7ed0497092a75b632cacb625c294f8f85b365/third_party/WebKit/LayoutTests/external/wpt/css/css-break/hit-test-inline-fragmentation-with-border-radius.html
,
Jul 3
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/98d4a440eebb0bffe5cd97918833090ed3493666 commit 98d4a440eebb0bffe5cd97918833090ed3493666 Author: Xiaocheng Hu <xiaochengh@chromium.org> Date: Tue Jul 03 01:40:13 2018 [LayoutNG] Fix hit test clipping by fragmented border with round corner Current NG hit test code decides whether a hit test location is clipped by rounded border by adding border radius to all four corners and then compare with the hit test location. This is wrong if the box is fragmented, where it may have only two or zero rounded corners. This patch changes HitTestClippedOutByBorder() to take the above into consideration. By utilizing |border_edges_|, it can generate the corrected rounded border to be hit tested. Test: This patch slightly modifies WPT hit-test-inline-fragmentation-with-border-radius.html as a workaround of some rounding issue, which is out of the scope of this patch. Bug: 855279 , 859233 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: I1e3193f9fc2d5e52ff53d6cb2fcc2a0ae2b3aa43 Reviewed-on: https://chromium-review.googlesource.com/1123265 Reviewed-by: Emil A Eklund <eae@chromium.org> Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org> Cr-Commit-Position: refs/heads/master@{#572079} [modify] https://crrev.com/98d4a440eebb0bffe5cd97918833090ed3493666/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/98d4a440eebb0bffe5cd97918833090ed3493666/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/98d4a440eebb0bffe5cd97918833090ed3493666/third_party/WebKit/LayoutTests/external/wpt/css/css-break/hit-test-inline-fragmentation-with-border-radius.html [modify] https://crrev.com/98d4a440eebb0bffe5cd97918833090ed3493666/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc |
|
►
Sign in to add a comment |
|
Comment 1 by schenney@chromium.org
, Jul 2