New issue
Advanced search Search tips

Issue 604734 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Mouse wheel scrolling on PDF is doubled

Reported by jleedev@gmail.com, Apr 19 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2712.0 Safari/537.36

Example URL:

Steps to reproduce the problem:
1. Scroll a PDF with the mouse wheel

What is the expected behavior?
In the current stable channel it scrolls the amount that it should.

What went wrong?
It is scrolling twice that amount.

Does it occur on multiple sites: Yes

Is it a problem with a plugin? Yes PDF

Did this work before? Yes 

Does this work in other browsers? Yes 

Chrome version: 52.0.2712.0  Channel: canary
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
Flash Version: 

When I use monitorEvents(theEmbed, 'mousewheel') I observe that the MouseWheel events are coming in twice.
 
Components: Blink>Scroll
Components: -Blink
Labels: -Type-Bug Hotlist-Input-Dev Type-Bug-Regression
Owner: dtapu...@chromium.org
Status: Assigned (was: Unconfirmed)

Comment 4 by bokan@chromium.org, Apr 20 2016

Cc: bokan@chromium.org
Components: Internals>Plugins>PDF
Project Member

Comment 6 by bugdroid1@chromium.org, Apr 20 2016

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

commit 874feac6c0e08aab52bd08fe33d5daee0ae07fa5
Author: dtapuska <dtapuska@chromium.org>
Date: Wed Apr 20 16:08:05 2016

PDF scrolling with wheel gestures

Scroll gestures may be generated twice, as a plugin
may 'resend' them if not fully consumed by the plugin,
and they may be generated once again inside the main
renderer host. Re-sending of gesture scroll events from
the plugin causes double scroll values in PDFs
This was more noticable on Windows which uses a larger tick counter (120) vs
53 on Linux.

Fix is to not generate gestures inside the plugin container.

BUG= 604734 

Review URL: https://codereview.chromium.org/1898333002

Cr-Commit-Position: refs/heads/master@{#388508}

[modify] https://crrev.com/874feac6c0e08aab52bd08fe33d5daee0ae07fa5/content/browser/renderer_host/input/mouse_wheel_event_queue.cc

Comment 7 by jleedev@gmail.com, Apr 21 2016

The scrolling is fixed, but the events are still logged twice. Build 2714.
I'm not sure how you are reporting the events being logged twice. Do you have a specific example?

The events go through the pipeline in a specific fashion and it may be that they are being logged on two different instances

Labels: Merge-Request-51

Comment 10 by tin...@google.com, Apr 21 2016

Labels: -Merge-Request-51 Merge-Approved-51 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M51 (branch: 2704)

Comment 11 by jleedev@gmail.com, Apr 21 2016

When using monitorEvents as in my original report, or by using theEmbed.addEventListener('mousewheel'), this regression causes the event handler to fire twice. I can post a specific test case if you like, but it's literally `e.addEventListener('mousewheel', e => alert(e))`.
Yes please provide an exact example.

When I loaded the following PDF; http://www.pdf995.com/samples/pdf.pdf

And Inspect the document;
add monitorEvents(plugin, "mousewheel"); to the console

I only get one event reported for each tick.

Project Member

Comment 13 by bugdroid1@chromium.org, Apr 21 2016

Labels: -merge-approved-51 merge-merged-2704
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8960269d9901e0715357ac4a7d092550a6ebb39a

commit 8960269d9901e0715357ac4a7d092550a6ebb39a
Author: Dave Tapuska <dtapuska@chromium.org>
Date: Thu Apr 21 20:21:04 2016

PDF scrolling with wheel gestures

Scroll gestures may be generated twice, as a plugin
may 'resend' them if not fully consumed by the plugin,
and they may be generated once again inside the main
renderer host. Re-sending of gesture scroll events from
the plugin causes double scroll values in PDFs
This was more noticable on Windows which uses a larger tick counter (120) vs
53 on Linux.

Fix is to not generate gestures inside the plugin container.

BUG= 604734 

Review URL: https://codereview.chromium.org/1898333002

Cr-Commit-Position: refs/heads/master@{#388508}
(cherry picked from commit 874feac6c0e08aab52bd08fe33d5daee0ae07fa5)

Review URL: https://codereview.chromium.org/1911013002 .

Cr-Commit-Position: refs/branch-heads/2704@{#171}
Cr-Branched-From: 6e53600def8f60d8c632fadc70d7c1939ccea347-refs/heads/master@{#386251}

[modify] https://crrev.com/8960269d9901e0715357ac4a7d092550a6ebb39a/content/browser/renderer_host/input/mouse_wheel_event_queue.cc

Status: Fixed (was: Assigned)
Marking as fixed since the pdf is no longer scrolling 2x and cannot reproduce double event listeners.
Cc: tdres...@chromium.org dtapu...@chromium.org wjmaclean@chromium.org
 Issue 605122  has been merged into this issue.

Comment 16 by jleedev@gmail.com, Apr 29 2016

OK, I had a difficult time reproducing the issue, but I think I understand what it's doing now.

First: I had turned on enable-experimental-web-platform-features, which I disabled before trying to reproduce the issue. I thought this fixed the issue, but I was misled.

Second: When pressing F12 on the page, devtools shows the URL of the PDF, and I can see the events twice.
But when I choose right click > Inspect, devtools shows the URL of the extension (mhjf...), and the events were only coming in once.

So, to recap:
1. Open the pdf http://www.pdf995.com/samples/pdf.pdf
2. Press F12 (or ctrl-shift-I, or ctrl-shift-C) to open the devtools on the PDF page itself, not the extension component.
3. monitorEvents(plugin, "mousewheel");
4. Observe double-logged events.
jleedev@ Are you able to open a separate issue on this? I'm guessing the root cause is likely different. I'd set it as Platform>DevTools initially for them to look at why the opening devtools reports the events differently.

Sign in to add a comment