New issue
Advanced search Search tips

Issue 613672 link

Starred by 4 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug



Sign in to add a comment

Web platform touch pointerevent tests can not pass on Mac

Project Member Reported by nzolghadr@chromium.org, May 20 2016

Issue description

Since we do not get touch events on Mac the touch specific web platform pointer event tests can not pass on Mac.
 
Status: Assigned (was: Available)

Comment 2 by mustaq@chromium.org, Jun 29 2016

Labels: PointerEvent
We are skipping Mac PointerEvent tests for all pointerTypes even though we have only pointerType="touch" failing. This leaves Mac uncovered even for mouse and/or pen when these tests are fine in some/most cases.
I think it should be possible to make theese pass on Mac.  Mac supports touch in the sense that DevTools touch emulation works and should faithfully emulate the Android behavior.  I'd hope that WebDriver could also generate synthetic touch input on Mac.

Perhaps we're just missing a bit of plumbing on Mac (which would only get used in these synthetic cases, no real plumbing to OS APIs)?
I totally agree. We should add the plumbing if needed. So that the only part that is missing would be receiving the events from the OS itself. When I created this bug that's what I had in mind. But I wasn't sure how high priority it is.
Project Member

Comment 6 by bugdroid1@chromium.org, Jan 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/264cc0594f6a036e628726f1f2d3afb622f4c0e5

commit 264cc0594f6a036e628726f1f2d3afb622f4c0e5
Author: Robert Ma <robertma@chromium.org>
Date: Mon Jan 15 16:54:41 2018

Skip some manual WPT that slipped through

At f51689179bfbf2a29e2870e5d5081b51fa49a6a1, three manual Web Platform
Tests were imported without being skipped in expectations, and were
incorrectly rebaselined. The importer back then might have bugs skipping
manual tests, which is no longer an issue any more. The issue is found
when setting up a new platform (Mac 10.13).

Verified these are the only cases by grepping "LayoutBlock" among all
WPT baselines. ("LayoutBlock" is Blink's internal layout dump, which
should not appear in outputs of WPT at all.)

Also triaged TestExpectations and moved some manual tests into
NeverFixTests. And moved a line for pointerevents test to its
friends, with the more appropriate bug link.

Bug:  774301 , 626703,  711493 ,  706118 , 613672
Change-Id: I8316a38c61f175e3e7ae2bc786133ad82a4598be
Reviewed-on: https://chromium-review.googlesource.com/865656
Reviewed-by: Quinten Yearsley <qyearsley@chromium.org>
Commit-Queue: Robert Ma <robertma@chromium.org>
Cr-Commit-Position: refs/heads/master@{#529300}
[modify] https://crrev.com/264cc0594f6a036e628726f1f2d3afb622f4c0e5/third_party/WebKit/LayoutTests/NeverFixTests
[modify] https://crrev.com/264cc0594f6a036e628726f1f2d3afb622f4c0e5/third_party/WebKit/LayoutTests/TestExpectations
[delete] https://crrev.com/7337e34e0939dea633e9d7f50635cbb9f456b350/third_party/WebKit/LayoutTests/platform/linux/external/wpt/html-media-capture/capture_audio_cancel-manual-expected.txt
[delete] https://crrev.com/7337e34e0939dea633e9d7f50635cbb9f456b350/third_party/WebKit/LayoutTests/platform/linux/external/wpt/html-media-capture/capture_image_cancel-manual-expected.txt
[delete] https://crrev.com/7337e34e0939dea633e9d7f50635cbb9f456b350/third_party/WebKit/LayoutTests/platform/linux/external/wpt/html-media-capture/capture_video_cancel-manual-expected.txt
[delete] https://crrev.com/7337e34e0939dea633e9d7f50635cbb9f456b350/third_party/WebKit/LayoutTests/platform/mac-mac10.10/external/wpt/html-media-capture/capture_audio_cancel-manual-expected.txt
[delete] https://crrev.com/7337e34e0939dea633e9d7f50635cbb9f456b350/third_party/WebKit/LayoutTests/platform/mac-mac10.10/external/wpt/html-media-capture/capture_image_cancel-manual-expected.txt
[delete] https://crrev.com/7337e34e0939dea633e9d7f50635cbb9f456b350/third_party/WebKit/LayoutTests/platform/mac-mac10.10/external/wpt/html-media-capture/capture_video_cancel-manual-expected.txt
[delete] https://crrev.com/7337e34e0939dea633e9d7f50635cbb9f456b350/third_party/WebKit/LayoutTests/platform/mac-mac10.11/external/wpt/html-media-capture/capture_audio_cancel-manual-expected.txt
[delete] https://crrev.com/7337e34e0939dea633e9d7f50635cbb9f456b350/third_party/WebKit/LayoutTests/platform/mac-mac10.11/external/wpt/html-media-capture/capture_image_cancel-manual-expected.txt
[delete] https://crrev.com/7337e34e0939dea633e9d7f50635cbb9f456b350/third_party/WebKit/LayoutTests/platform/mac-mac10.11/external/wpt/html-media-capture/capture_video_cancel-manual-expected.txt
[delete] https://crrev.com/7337e34e0939dea633e9d7f50635cbb9f456b350/third_party/WebKit/LayoutTests/platform/mac/external/wpt/html-media-capture/capture_audio_cancel-manual-expected.txt
[delete] https://crrev.com/7337e34e0939dea633e9d7f50635cbb9f456b350/third_party/WebKit/LayoutTests/platform/mac/external/wpt/html-media-capture/capture_image_cancel-manual-expected.txt
[delete] https://crrev.com/7337e34e0939dea633e9d7f50635cbb9f456b350/third_party/WebKit/LayoutTests/platform/mac/external/wpt/html-media-capture/capture_video_cancel-manual-expected.txt
[delete] https://crrev.com/7337e34e0939dea633e9d7f50635cbb9f456b350/third_party/WebKit/LayoutTests/platform/win/external/wpt/html-media-capture/capture_audio_cancel-manual-expected.txt
[delete] https://crrev.com/7337e34e0939dea633e9d7f50635cbb9f456b350/third_party/WebKit/LayoutTests/platform/win/external/wpt/html-media-capture/capture_image_cancel-manual-expected.txt
[delete] https://crrev.com/7337e34e0939dea633e9d7f50635cbb9f456b350/third_party/WebKit/LayoutTests/platform/win/external/wpt/html-media-capture/capture_video_cancel-manual-expected.txt

Comment 7 by eirage@chromium.org, Apr 26 2018

Labels: OS-Mac
Owner: eirage@chromium.org
Project Member

Comment 8 by bugdroid1@chromium.org, May 7 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/181d852dd1c139c73966042e7583d8da55fe11d9

commit 181d852dd1c139c73966042e7583d8da55fe11d9
Author: Ella Ge <eirage@chromium.org>
Date: Mon May 07 15:20:59 2018

Add gesture_provider to mac

We were skipping Mac PointerEvent tests with pointerType = 'touch'
because mac doesn't have touch event support.
This CL adds InjectTouchEvent function in mac RWHV, which supports injecting
WebTouchEvent to mac platform.
This adds gesture_provider to mac RWHV for testing purpose and will be used
on touch emulator in the future.

Tests with multiple touch point is still failing because of an
issue with SyntheticTouchDriver. Still skip these tests(crbug.com/613672)

This Cl also correct that screen coordinate wasn't set when creating
synthetic WebMouseEvent.
Because of that PointerLock movementX_Y test is failing. On mac,
movement_delta was set from NS event. The injected event doesn't set
the movement. Skip these two tests until crbug.com/802067 is resolved.

Bug: 613672
Change-Id: I78d442032ff36da2bc1ad3b84cc8ba9181ae8f0a
Reviewed-on: https://chromium-review.googlesource.com/1039773
Commit-Queue: Ella Ge <eirage@chromium.org>
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Reviewed-by: James MacLean <wjmaclean@chromium.org>
Reviewed-by: Navid Zolghadr <nzolghadr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556443}
[modify] https://crrev.com/181d852dd1c139c73966042e7583d8da55fe11d9/content/browser/renderer_host/input/synthetic_gesture_target_mac.h
[modify] https://crrev.com/181d852dd1c139c73966042e7583d8da55fe11d9/content/browser/renderer_host/input/synthetic_gesture_target_mac.mm
[modify] https://crrev.com/181d852dd1c139c73966042e7583d8da55fe11d9/content/browser/renderer_host/render_widget_host_view_base.h
[modify] https://crrev.com/181d852dd1c139c73966042e7583d8da55fe11d9/content/browser/renderer_host/render_widget_host_view_mac.h
[modify] https://crrev.com/181d852dd1c139c73966042e7583d8da55fe11d9/content/browser/renderer_host/render_widget_host_view_mac.mm
[modify] https://crrev.com/181d852dd1c139c73966042e7583d8da55fe11d9/content/common/input/synthetic_web_input_event_builders.cc
[modify] https://crrev.com/181d852dd1c139c73966042e7583d8da55fe11d9/content/renderer/gpu/actions_parser.cc
[modify] https://crrev.com/181d852dd1c139c73966042e7583d8da55fe11d9/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/181d852dd1c139c73966042e7583d8da55fe11d9/third_party/WebKit/LayoutTests/platform/mac/external/wpt/pointerevents/extension/pointerevent_coalesced_events_attributes-manual-expected.txt

Comment 9 by eirage@chromium.org, Jun 20 2018

Cc: -lanwei@chromium.org eirage@chromium.org
Owner: lanwei@chromium.org
Lan will take over the tests with multiple touch points tests. :)
Status: Started (was: Assigned)
Project Member

Comment 11 by bugdroid1@chromium.org, Jul 31

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/09742f44c69ef8db7be4f43097985447a97adfeb

commit 09742f44c69ef8db7be4f43097985447a97adfeb
Author: Lan Wei <lanwei@chromium.org>
Date: Tue Jul 31 17:45:42 2018

Make the touch pointer list of the synthetic WebTouchEvent contiguous

The synthetic WebTouchEvents are not constructed well, as their touch
pointer list are not contiguous. After releasing a touch pointer, the
touch pointer is not deleted from theWebTouchEvent, it is just reset to
initial value. When we loop the touch pointer list, there will be some
touch pointers at index after its real touch length.

We should reconstruct the WebTouchEvent's touch pointer list to
remove all the empty touch pointers.

Bug: 613672
Change-Id: I69c7d7c95a14efbe94b02e138f7b18dce328bf91
Reviewed-on: https://chromium-review.googlesource.com/1141133
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Reviewed-by: Navid Zolghadr <nzolghadr@chromium.org>
Commit-Queue: Lan Wei <lanwei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579466}
[modify] https://crrev.com/09742f44c69ef8db7be4f43097985447a97adfeb/content/browser/renderer_host/input/synthetic_gesture_controller_unittest.cc
[modify] https://crrev.com/09742f44c69ef8db7be4f43097985447a97adfeb/content/browser/renderer_host/input/synthetic_pointer_action_unittest.cc
[modify] https://crrev.com/09742f44c69ef8db7be4f43097985447a97adfeb/content/browser/renderer_host/input/synthetic_touch_driver.cc
[modify] https://crrev.com/09742f44c69ef8db7be4f43097985447a97adfeb/content/browser/renderer_host/input/synthetic_touch_driver.h
[modify] https://crrev.com/09742f44c69ef8db7be4f43097985447a97adfeb/content/browser/renderer_host/ui_events_helper.cc
[modify] https://crrev.com/09742f44c69ef8db7be4f43097985447a97adfeb/content/common/input/synthetic_web_input_event_builders.cc
[modify] https://crrev.com/09742f44c69ef8db7be4f43097985447a97adfeb/content/common/input/synthetic_web_input_event_builders.h
[add] https://crrev.com/09742f44c69ef8db7be4f43097985447a97adfeb/content/common/input/synthetic_web_input_event_builders_unittest.cc
[modify] https://crrev.com/09742f44c69ef8db7be4f43097985447a97adfeb/content/test/BUILD.gn
[modify] https://crrev.com/09742f44c69ef8db7be4f43097985447a97adfeb/third_party/WebKit/LayoutTests/TestExpectations

Sign in to add a comment