Regression: Focus does not travel properly through the media controls
Reported by
nutan.ga...@etouch.net,
Oct 23 2017
|
||||
Issue descriptionChrome Version: 64.0.3247.0 f82a02e15b3f72736818cbc449df901b90622ecd-refs/heads/master@{#510691} OS: Win(7,8,10), Mac(10.12.6) and Linux(14.04 LTS). Steps to reproduce: 1. Launch chrome, navigate to https://mounirlamouri.github.io/sandbox/media/dynamic-controls.html 2. Press tab and observe the focus on media controls Actual: Focus does not travel properly through the media controls Expected: Focus should travel properly This is regression issue broken in ‘M-56’, will soon provide bisect info: Good Build: 56.0.2900.0 Bad Build: 56.0.2901.0 You are probably looking for a change made after 427481 (known good), but no later than 427482 (first known bad). CHANGELOG URL: The script might not always return single CL as suspect as some perf builds might get missing due to failure. https://chromium.googlesource.com/chromium/src/+log/26ce312cc8b3f53dc76df85e45c17bba93685fc3..43de8ce7588866b2ce0eefa9ccf9f570c22f1df7 Suspect: https://chromium.googlesource.com/chromium/src/+/43de8ce7588866b2ce0eefa9ccf9f570c22f1df7 @ericrk: Could you please check whether this is caused with respect to your change, if not please help us in assigning it to the right owner.
,
Oct 27 2017
This seems to be a partial raster issue. I can reproduce with either GPU raster or one-copy raster. Zero-copy raster on mac doesn't allow for partial raster and avoids this issue. It seems like the invalidation rects are incorrect. chrishtr@, can you help triage?
,
Oct 27 2017
I think the problem is that we are somehow painting an outline stroke at a subpixel position, and the antialias setting results in it drawing over two pixels. Therefore the raster invalidation is too small by 1px, since raster invalidation is not aware of this situation.
,
Oct 27 2017
Artificially expanding invalidation rects by a 1px outset fixes the problem, as expected. Trying to create a reduced testcase now without any video in it.
,
Oct 27 2017
,
Nov 16 2017
SkPicture demonstrating anti-alias bleed across pixels despite apparent pixel alignment of RRect parameters attached.
,
Nov 20 2017
I finally figured out the bug. The issue is that the tree walk to update overflow does not properly recurse into subtrees that are not LayoutBlocks or tables/table sections, and in this case the buttons are underneath a shadowRoot subtree below a <video> element, which is a LayoutReplaced. LayoutReplaced a LayoutBox but not a LayoutBlock.
,
Nov 29 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4cabfbfd5efa0557b64692c1ab10047b1eaec9b5 commit 4cabfbfd5efa0557b64692c1ab10047b1eaec9b5 Author: Chris Harrelson <chrishtr@chromium.org> Date: Wed Nov 29 23:50:39 2017 Generalize dirty bits and the overflow recalc tree walk to non-blocks. Currently, it is assumed that all objects are either blocks, tables or table sections. However, this is not correct, in the presence of elements underneath a replaced object's shadow root, since LayoutReplaced is a LayoutBox and not a LayoutBlock. Bug: 777338 Change-Id: Ic83e6f74ff87b6baea6b1cf68d1cd9d841b8080e Reviewed-on: https://chromium-review.googlesource.com/777845 Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Commit-Queue: Chris Harrelson <chrishtr@chromium.org> Cr-Commit-Position: refs/heads/master@{#520308} [add] https://crrev.com/4cabfbfd5efa0557b64692c1ab10047b1eaec9b5/third_party/WebKit/LayoutTests/fast/overflow/overflow-of-video-outline-expected.txt [add] https://crrev.com/4cabfbfd5efa0557b64692c1ab10047b1eaec9b5/third_party/WebKit/LayoutTests/fast/overflow/overflow-of-video-outline.html [add] https://crrev.com/4cabfbfd5efa0557b64692c1ab10047b1eaec9b5/third_party/WebKit/LayoutTests/platform/linux/fast/overflow/overflow-of-video-outline-expected.png [add] https://crrev.com/4cabfbfd5efa0557b64692c1ab10047b1eaec9b5/third_party/WebKit/LayoutTests/platform/mac/fast/overflow/overflow-of-video-outline-expected.png [add] https://crrev.com/4cabfbfd5efa0557b64692c1ab10047b1eaec9b5/third_party/WebKit/LayoutTests/platform/win/fast/overflow/overflow-of-video-outline-expected.png [modify] https://crrev.com/4cabfbfd5efa0557b64692c1ab10047b1eaec9b5/third_party/WebKit/Source/core/layout/LayoutBlock.cpp [modify] https://crrev.com/4cabfbfd5efa0557b64692c1ab10047b1eaec9b5/third_party/WebKit/Source/core/layout/LayoutBlock.h [modify] https://crrev.com/4cabfbfd5efa0557b64692c1ab10047b1eaec9b5/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp [modify] https://crrev.com/4cabfbfd5efa0557b64692c1ab10047b1eaec9b5/third_party/WebKit/Source/core/layout/LayoutObject.cpp [modify] https://crrev.com/4cabfbfd5efa0557b64692c1ab10047b1eaec9b5/third_party/WebKit/Source/core/layout/LayoutObject.h [modify] https://crrev.com/4cabfbfd5efa0557b64692c1ab10047b1eaec9b5/third_party/WebKit/Source/core/layout/LayoutTable.cpp [modify] https://crrev.com/4cabfbfd5efa0557b64692c1ab10047b1eaec9b5/third_party/WebKit/Source/core/layout/LayoutTable.h [modify] https://crrev.com/4cabfbfd5efa0557b64692c1ab10047b1eaec9b5/third_party/WebKit/Source/core/layout/LayoutTableSection.cpp [modify] https://crrev.com/4cabfbfd5efa0557b64692c1ab10047b1eaec9b5/third_party/WebKit/Source/core/layout/LayoutTableSection.h
,
Nov 29 2017
|
||||
►
Sign in to add a comment |
||||
Comment 1 by nutan.ga...@etouch.net
, Oct 23 2017Status: Assigned (was: Unconfirmed)