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

Issue 2009283002: Fix touch accessibility events in WebViews and iframes (Closed)

Created:
4 years, 7 months ago by dmazzoni
Modified:
4 years, 6 months ago
Reviewers:
pdr., wjmaclean, dcheng
CC:
aboxhall, aboxhall+watch_chromium.org, blink-reviews, chromium-apps-reviews_chromium.org, chromium-reviews, darin-cc_chromium.org, dmazzoni+watch_chromium.org, dmazzoni, dtseng+watch_chromium.org, extensions-reviews_chromium.org, haraken, jam, je_julie, nektar+watch_chromium.org, nektarios, yuzo+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix touch accessibility events in WebViews and iframes This only affects Chrome OS devices with touch screens with spoken feedback enabled. In that mode, touching the screen sends a mouse move event instead of a touch down event, and it sets a special touch accessibility flag, and inside Blink that gets translated into a HOVER event on the accessibility object the event targets. This change fixes two specific cases: * Tapping in a WebView was sending a HOVER event on both the embedder frame and the guest frame. Fix this by ignoring touch accessibility events on a LayoutPart. * Tapping in an iframe wasn't translating the coordinates properly, so the hit test was sometimes returning the wrong object. It also adds tests and consolidates some test helper functions into a common file. BUG=613694 Committed: https://crrev.com/f9e11986fc63ddfd1f20c88b72530fd6b5af9dba Cr-Commit-Position: refs/heads/master@{#397325}

Patch Set 1 #

Patch Set 2 : Add cross-site iframe test too #

Total comments: 4

Patch Set 3 : Fix WebInputEventConversion #

Patch Set 4 : Disable cross-site test temporarily #

Unified diffs Side-by-side diffs Delta from patch set Stats (+319 lines, -120 lines) Patch
M chrome/browser/apps/guest_view/web_view_browsertest.cc View 1 2 2 chunks +75 lines, -0 lines 0 comments Download
A + chrome/test/data/extensions/platform_apps/web_view/touch_accessibility/main.html View 1 chunk +14 lines, -0 lines 0 comments Download
A + chrome/test/data/extensions/platform_apps/web_view/touch_accessibility/main.js View 1 chunk +21 lines, -1 line 0 comments Download
A + chrome/test/data/extensions/platform_apps/web_view/touch_accessibility/manifest.json View 0 chunks +-1 lines, --1 lines 0 comments Download
A + chrome/test/data/extensions/platform_apps/web_view/touch_accessibility/test.js View 0 chunks +-1 lines, --1 lines 0 comments Download
A content/browser/accessibility/accessibility_test_utils.h View 1 chunk +35 lines, -0 lines 0 comments Download
A content/browser/accessibility/accessibility_test_utils.cc View 1 chunk +48 lines, -0 lines 0 comments Download
M content/browser/accessibility/hit_testing_browsertest.cc View 3 chunks +5 lines, -31 lines 0 comments Download
M content/browser/accessibility/site_per_process_accessibility_browsertest.cc View 5 chunks +10 lines, -48 lines 0 comments Download
M content/browser/accessibility/touch_accessibility_aura_browsertest.cc View 1 2 3 6 chunks +98 lines, -23 lines 0 comments Download
M content/content_tests.gypi View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp View 1 2 3 1 chunk +0 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.cpp View 1 chunk +8 lines, -1 line 0 comments Download
M third_party/WebKit/Source/web/WebInputEventConversion.cpp View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/web/WebViewImpl.cpp View 1 2 3 1 chunk +3 lines, -10 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 34 (15 generated)
dmazzoni
4 years, 7 months ago (2016-05-25 17:13:56 UTC) #2
Fady Samuel
I haven't worked on <webview> in a while. Could you please pass this along to ...
4 years, 7 months ago (2016-05-25 17:22:27 UTC) #3
dcheng
https://codereview.chromium.org/2009283002/diff/20001/third_party/WebKit/Source/web/WebViewImpl.cpp File third_party/WebKit/Source/web/WebViewImpl.cpp (right): https://codereview.chromium.org/2009283002/diff/20001/third_party/WebKit/Source/web/WebViewImpl.cpp#newcode2159 third_party/WebKit/Source/web/WebViewImpl.cpp:2159: if (result.innerNodeFrame()) { I like this because it looks ...
4 years, 7 months ago (2016-05-25 17:44:38 UTC) #4
dmazzoni
+wjmaclean instead of fsamuel
4 years, 7 months ago (2016-05-25 17:50:35 UTC) #6
dmazzoni
https://codereview.chromium.org/2009283002/diff/20001/third_party/WebKit/Source/web/WebViewImpl.cpp File third_party/WebKit/Source/web/WebViewImpl.cpp (right): https://codereview.chromium.org/2009283002/diff/20001/third_party/WebKit/Source/web/WebViewImpl.cpp#newcode2159 third_party/WebKit/Source/web/WebViewImpl.cpp:2159: if (result.innerNodeFrame()) { On 2016/05/25 17:44:38, dcheng wrote: > ...
4 years, 7 months ago (2016-05-25 17:53:51 UTC) #7
dcheng
https://codereview.chromium.org/2009283002/diff/20001/third_party/WebKit/Source/web/WebViewImpl.cpp File third_party/WebKit/Source/web/WebViewImpl.cpp (right): https://codereview.chromium.org/2009283002/diff/20001/third_party/WebKit/Source/web/WebViewImpl.cpp#newcode2159 third_party/WebKit/Source/web/WebViewImpl.cpp:2159: if (result.innerNodeFrame()) { On 2016/05/25 at 17:53:51, dmazzoni wrote: ...
4 years, 7 months ago (2016-05-25 18:03:00 UTC) #9
wjmaclean
On 2016/05/25 17:53:51, dmazzoni wrote: > https://codereview.chromium.org/2009283002/diff/20001/third_party/WebKit/Source/web/WebViewImpl.cpp > File third_party/WebKit/Source/web/WebViewImpl.cpp (right): > > https://codereview.chromium.org/2009283002/diff/20001/third_party/WebKit/Source/web/WebViewImpl.cpp#newcode2159 > ...
4 years, 7 months ago (2016-05-25 18:04:46 UTC) #10
pdr.
https://codereview.chromium.org/2009283002/diff/20001/third_party/WebKit/Source/web/WebViewImpl.cpp File third_party/WebKit/Source/web/WebViewImpl.cpp (right): https://codereview.chromium.org/2009283002/diff/20001/third_party/WebKit/Source/web/WebViewImpl.cpp#newcode2159 third_party/WebKit/Source/web/WebViewImpl.cpp:2159: if (result.innerNodeFrame()) { On 2016/05/25 at 18:03:00, dcheng wrote: ...
4 years, 7 months ago (2016-05-26 21:32:48 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2009283002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2009283002/40001
4 years, 6 months ago (2016-05-31 21:27:33 UTC) #14
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/79337)
4 years, 6 months ago (2016-05-31 23:16:31 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2009283002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2009283002/40001
4 years, 6 months ago (2016-06-01 16:38:39 UTC) #18
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/238694)
4 years, 6 months ago (2016-06-01 19:00:46 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2009283002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2009283002/60001
4 years, 6 months ago (2016-06-01 22:17:52 UTC) #23
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/239094)
4 years, 6 months ago (2016-06-02 02:04:24 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2009283002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2009283002/60001
4 years, 6 months ago (2016-06-02 04:33:58 UTC) #27
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/239626)
4 years, 6 months ago (2016-06-02 05:14:01 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2009283002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2009283002/60001
4 years, 6 months ago (2016-06-02 05:56:06 UTC) #31
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 6 months ago (2016-06-02 07:03:48 UTC) #32
commit-bot: I haz the power
4 years, 6 months ago (2016-06-02 07:06:07 UTC) #34
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/f9e11986fc63ddfd1f20c88b72530fd6b5af9dba
Cr-Commit-Position: refs/heads/master@{#397325}

Powered by Google App Engine
This is Rietveld 408576698