DescriptionFix touch adjustment to never return pseudo elements
Hit testing which lands on a pseudo element (eg. :before/:after) is
normally modified (in HitTestResult.setInnerNode) to return the
parent element. This CL makes touch adjustment consistent with this.
We still adjust towards any pseudo elements, but the final node will
be the pseudo element's parent.
This fixes an issues where checkboxes covered by a pseudo element
(as for chrome://settings custom checkboxes) weren't being activated
on tap. CheckboxInputType::willDispatchClick is invoked only when
the click event is targetted directly at the <input> element, not
when it bubbles up from a descendant such as this pseudo element.
Prior to
http://src.chromium.org/viewvc/blink?revision=178098&view=revision
this issue was masked because we did a redundant non-rect hit test
for the mouseup event using the adjusted position. Now that we
share the original hit test results the difference of behavior was
exposed to mouse event handlers.
BUG=395942
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=178965
Patch Set 1 #
Total comments: 3
Patch Set 2 : kevers CR feedback #
Messages
Total messages: 7 (0 generated)
|