Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(146)

Issue 418133010: Fix touch adjustment to never return pseudo elements (Closed)

Created:
6 years, 5 months ago by Rick Byers
Modified:
6 years, 5 months ago
Reviewers:
kevers
CC:
blink-reviews
Project:
blink
Visibility:
Public.

Description

Fix 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 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+57 lines, -38 lines) Patch
A + LayoutTests/touchadjustment/pseudo-element.html View 1 3 chunks +45 lines, -31 lines 0 comments Download
A + LayoutTests/touchadjustment/pseudo-element-expected.txt View 6 chunks +7 lines, -7 lines 0 comments Download
M Source/core/page/TouchAdjustment.cpp View 1 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
Rick Byers
Kevin, I know it's been a long time since you've worked in this code but ...
6 years, 5 months ago (2014-07-25 19:56:30 UTC) #1
Rick Byers
https://codereview.chromium.org/418133010/diff/1/LayoutTests/touchadjustment/pseudo-element-expected.txt File LayoutTests/touchadjustment/pseudo-element-expected.txt (left): https://codereview.chromium.org/418133010/diff/1/LayoutTests/touchadjustment/pseudo-element-expected.txt#oldcode8 LayoutTests/touchadjustment/pseudo-element-expected.txt:8: PASS adjustedNode.id is element.id Note that the failure mode ...
6 years, 5 months ago (2014-07-25 19:59:14 UTC) #2
kevers
lgtm with nits. https://codereview.chromium.org/418133010/diff/1/LayoutTests/touchadjustment/pseudo-element.html File LayoutTests/touchadjustment/pseudo-element.html (right): https://codereview.chromium.org/418133010/diff/1/LayoutTests/touchadjustment/pseudo-element.html#newcode46 LayoutTests/touchadjustment/pseudo-element.html:46: } nit: missing trailing semicolon. https://codereview.chromium.org/418133010/diff/1/LayoutTests/touchadjustment/pseudo-element.html#newcode98 ...
6 years, 5 months ago (2014-07-25 20:46:56 UTC) #3
Rick Byers
On 2014/07/25 20:46:56, kevers wrote: > lgtm with nits. > > https://codereview.chromium.org/418133010/diff/1/LayoutTests/touchadjustment/pseudo-element.html > File LayoutTests/touchadjustment/pseudo-element.html ...
6 years, 5 months ago (2014-07-25 20:55:16 UTC) #4
Rick Byers
The CQ bit was checked by rbyers@chromium.org
6 years, 5 months ago (2014-07-25 20:55:53 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rbyers@chromium.org/418133010/20001
6 years, 5 months ago (2014-07-25 20:56:23 UTC) #6
commit-bot: I haz the power
6 years, 5 months ago (2014-07-25 22:04:18 UTC) #7
Message was sent while issue was closed.
Change committed as 178965

Powered by Google App Engine
This is Rietveld 408576698