tree 36d4e503359e07f2d2b11e79427e66bc94318df8
parent be2c5bd43833b03f515ebc0283512926195eac50
author Yuki Shiino <yukishiino@chromium.org> 1630294535 -0700
committer Blink WPT Bot <blink-w3c-test-autoroller@chromium.org> 1630295282 -0700

Revert "Reland "Populate pointerId, pointerType for contextmenu event""

This reverts commit d02efa408f9e1cdd3299e0068e27f7d54c2061dc.

Reason for revert: Suspicious about causing test failures of
external/wpt/pointerevents/pointerevent_contextmenu_is_a_pointerevent.html?touch
https://ci.chromium.org/ui/p/chromium/builders/ci/Mac10.13%20Tests/41310/overview

Original change's description:
> Reland "Populate pointerId, pointerType for contextmenu event"
>
> This is a reland of a6d69d5243dd02afbd8ef02e5a5c557dd8c4a9e9
>
> I believe the reason for the test failures when this landed
> the first time was related to how pointerId was populated
> for the contextmenu pointer event.
> With crrev.com/c/2889205 landed, we have a robust way to
> associate the gesture event sequence with the corresponding
> pointer event sequence.
> This CL uses the approach in crrev.com/c/2889205 to populate
> the pointerId for the contextmenu pointer event.
>
>
> Original change's description:
> > Populate pointerId, pointerType for contextmenu event
> >
> > For contextmenu as a pointer event pointerId and pointerType
> > were not populated.
> >
> > In this CL we are populating pointerId/pointerType for contextmenu
> > coming from touch and mouse.
> > For touch we use a similar approach to crrev.com/c/2800231
> > for populating pointerId,pointerType for clicks generated in
> > GestureManager::HandleGestureTap.
> > The main change will be in EventHandler::SendContextMenuEvent
> > where we'll be passing id and pointer type to the call to
> > MouseEventManager::DispatchMouseEvent. This in turn will
> > populate pointerId and pointerType correctly when the contextmenu
> > PointerEvent is created.
> >
> > Bug: 1150442,1150441
> > TEST: external/wpt/pointerevents/pointerevent_contextmenu_is_a_pointerevent.html
> > Change-Id: If2408d9cf0d5f00b08efcf2236ff7933472972ce
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2874026
> > Commit-Queue: Liviu Tinta <liviutinta@chromium.org>
> > Reviewed-by: Robert Flack <flackr@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#881145}
>
> Bug: 1150442,1150441,1207709
> Change-Id: Iffaa60373a3811a10f54ff123e64850801450883
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3101585
> Commit-Queue: Liviu Tinta <liviutinta@chromium.org>
> Reviewed-by: Mustaq Ahmed <mustaq@chromium.org>
> Reviewed-by: Robert Flack <flackr@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#916130}

Bug: 1150442,1150441,1207709
Change-Id: Ie5c5ae516f3ed428c25a3d2feac9557fce8755fb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3128400
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Owners-Override: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/main@{#916304}
