Mouse wheel events stop working between Chromium 47.0.2503.0 and 47.0.2522.1

Bug #1501473 reported by Chris Coulson on 2015-09-30
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Oxide
Critical
Chris Coulson
1.11
Critical
Chris Coulson

Bug Description

Upgrading Chromium on trunk causes mouse wheel events to stop working. I'm not sure exactly when this stopped working

Changed in oxide:
milestone: none → branch-1.11
importance: Undecided → Critical
status: New → Triaged
assignee: nobody → Chris Coulson (chrisccoulson)
Chris Coulson (chrisccoulson) wrote :

It looks like a scroll animation is never created when the event is passed to the compositor. If I break in the for-loop in LayerTreeHostImpl::ScrollAnimated, just after |actual_delta| is calculated:

      gfx::ScrollOffset current_offset = layer_impl->CurrentScrollOffset();
      gfx::ScrollOffset target_offset =
          ScrollOffsetWithDelta(current_offset, pending_delta);
      target_offset.SetToMax(gfx::ScrollOffset());
      target_offset.SetToMin(layer_impl->MaxScrollOffset());
      gfx::Vector2dF actual_delta = target_offset.DeltaFrom(current_offset);

      const float kEpsilon = 0.1f;
      bool can_layer_scroll = (std::abs(actual_delta.x()) > kEpsilon ||
                               std::abs(actual_delta.y()) > kEpsilon);

(gdb) p actual_delta
$65 = {x_ = 0, y_ = 0}
(gdb) p target_offset
$66 = {x_ = 0, y_ = 53.333332061767578}
(gdb) p current_offset
$67 = {x_ = 0, y_ = 0}

The value of |actual_delta| looks bogus

Chris Coulson (chrisccoulson) wrote :

Oh, this is broken in Chrome too

Chris Coulson (chrisccoulson) wrote :

Comment 1 is a red herring - LayerImpl::MaxScrollOffset() actually returns (0,0), so the value of |actual_delta| is correct. I bet this is introduced by https://chromium.googlesource.com/chromium/src.git/+/a3f3a946c870e0d04e7f64049ac0ac3ddea24d24%5E!/

Chris Coulson (chrisccoulson) wrote :

This is fixed in Chromium 4.0.2523.0

Changed in oxide:
status: Triaged → Fix Committed
Chris Coulson (chrisccoulson) wrote :

It's not fixed, I don't know why I thought that

Changed in oxide:
status: Fix Committed → Triaged
Changed in oxide:
milestone: branch-1.11 → branch-1.12
Chris Coulson (chrisccoulson) wrote :

This still exists in Chrome beta, albeit it requires smooth scrolling to be enabled which is not the default. Given that smooth scrolling is still an experimental feature, I wonder whether we should disable it in Oxide for now.

Changed in oxide:
status: Triaged → Fix Released
minple (fminple) wrote :

please disable smooth or option to disable!

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers