New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 642375 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android , iOS
Pri: 3
Type: Bug


Show other hotlists

Hotlists containing this issue:
Fixing-touch


Sign in to add a comment

Context menu triggered while scrolling

Project Member Reported by maxwalker@chromium.org, Aug 30 2016

Issue description

Version: 55
OS: Android, iOS

What steps will reproduce the problem?
(1) Open any website (e.g. medium.com)
(2) Scroll
(3) Stop the scrolling by resting a finger on the screen

What is the expected output?
The scrolling should stop, then nothing else should happen.

What do you see instead?
The context menu is shown whenever an image, video or link happens to be below the touch point. This unexpected behavior is particularly annoying and distractive on pages with many images or links.

Proposal
Only show the context menu if the long press is initiated on a steady page (this is what other mobile browsers do to prevent this UX issue).
 
Scroll.mov
5.3 MB Download
Cc: k...@chromium.org mard...@chromium.org
+mardini@ for iOS triage help
+ktam@ because we discussed context menus triggering today (for clank)
Cc: pinkerton@chromium.org
+ Pink

I never faced this issue because I always thought that stopping the scrolling is by touching the screen as opposed to resting the finger on the screen. However, I see why this could be an issue for users who are used to rest their finger. I don't have a problem with the proposal in the description: Only show the context menu if the long press is initiated on a steady page. 


Cc: -mard...@chromium.org
Owner: mard...@chromium.org
Status: Assigned (was: Untriaged)
What's the behavior on Safari?
I think Safari's behavior is as described above: the context menu is only shown if the long press is initiated on a steady page.
Labels: M-55
Owner: ----
Status: Available (was: Assigned)
Labels: -M-55
FYI: I have added this to the Bling roadmap. We will assign a milestone when the fix is landed on canary
Pink: Curious what you think about it. Now, that I'm focusing on it, it's certainly annoying and I think we need to fix it. 
Cc: eugene...@chromium.org
Certainly seems like we should behave like Safari. It's a little thing, but annoying if that's how users interact with it (everyone scrolls differently) and we shouldn't force users to modify their behavior. 

+eugenebut
Project Member

Comment 10 by bugdroid1@chromium.org, Oct 27 2016

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

commit 033350786362e99d206a97e0e656c2e0a478e3c9
Author: eugenebut <eugenebut@chromium.org>
Date: Thu Oct 27 00:18:57 2016

[ios] Do not trigger context menu while scrolling.

Fail _contextMenuRecognizer if webview's scroll view
panGestureRecognizer was recognized.

BUG= 642375 

Review-Url: https://codereview.chromium.org/2452973003
Cr-Commit-Position: refs/heads/master@{#427888}

[modify] https://crrev.com/033350786362e99d206a97e0e656c2e0a478e3c9/ios/web/web_state/ui/crw_web_controller.mm

Project Member

Comment 11 by bugdroid1@chromium.org, Oct 27 2016

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

commit 5abe79ab4b2768cb617e6bf97989aa093421078a
Author: bzanotti <bzanotti@chromium.org>
Date: Thu Oct 27 08:48:03 2016

Revert of [ios] Do not trigger context menu while scrolling. (patchset #1 id:1 of https://codereview.chromium.org/2452973003/ )

Reason for revert:
Breaking many integration tests on iOS downstream.

Original issue's description:
> [ios] Do not trigger context menu while scrolling.
>
> Fail _contextMenuRecognizer if webview's scroll view
> panGestureRecognizer was recognized.
>
> BUG= 642375 
>
> Committed: https://crrev.com/033350786362e99d206a97e0e656c2e0a478e3c9
> Cr-Commit-Position: refs/heads/master@{#427888}

TBR=kkhorimoto@chromium.org,eugenebut@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 642375 

Review-Url: https://codereview.chromium.org/2453903003
Cr-Commit-Position: refs/heads/master@{#427966}

[modify] https://crrev.com/5abe79ab4b2768cb617e6bf97989aa093421078a/ios/web/web_state/ui/crw_web_controller.mm

Not fixed on iOS. cl/2452973003 broke context menu and was revered.
Is this on someone's radar? I'd like to fix it in M57 please. 
Cc: kkhorimoto@chromium.org michaeldo@chromium.org
No one is actively working on this. I've tried to fix this but the problem is non-trivial. Adding Kurt and Mike if they want to take a look.
We could probably implement this by enabling/disabling the context menu gesture recognizer upon receiving the UIScrollViewDelegate willBeginDragging: and didEndScrollingAnimation callbacks.
Summary: Context menu triggered while scrolling (was: Context menu triggered while scrolling)
I hope someone can address this in Q1. Simply scrolling the SRP and stopping triggers this if your finger lands on a link or image. 

Kurt: how complex and how risky is your proposal?
Cc: liaoyuke@chromium.org
Owner: liaoyuke@chromium.org
Status: Assigned (was: Available)
I would like to look into this. As I am quite new to this area, it may take me some days to learn and figure out how things work, so feel free to jump in and take it if anyone has a simple and quick fix.

Comment 19 Deleted

Status: Started (was: Assigned)
Fixed on iOS. https://codereview.chromium.org/2639793002/

Not sure what the status is on Android, so I'll just leave this issue open.
Cc: linds...@chromium.org
Checked on the latest chrome canary version 57.0.2986.0 on iPhone 7 plus with iOS 10.2, iPad Air with iOS 10.1.1, iPad Pro with iOS 9.3.5.  Context menu is not trigger when scrolling is stopped by placing a finger on the link or image.  Looks good.

Thank you very much for verifying it Venu!
Hi Yuke, 

Is this going into M57 ? If so, please feel free to mark it as fixed. And put the right release label. 

Thank you.
Status: Fixed (was: Started)
Yes for iOS. This bug is marked both for Android and iOS, and I'm not sure what the progress is on Android. Should I still mark it as fixed?
Status: Started (was: Fixed)
We can file a separate bug for iOS or Android. Only one will be marked as fixed.
Status: Fixed (was: Started)
I've created a separate bug: 689073 for Android, and will close this one.

Sign in to add a comment