Mouse wheel events stop working between Chromium 47.0.2503.0 and 47.0.2522.1

Bug #1501473 reported by Chris Coulson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Oxide
Fix Released
Critical
Chris Coulson
1.11
Fix Released
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)
Revision history for this message
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

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Oh, this is broken in Chrome too

Revision history for this message
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!/

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

This is fixed in Chromium 4.0.2523.0

Changed in oxide:
status: Triaged → Fix Committed
Revision history for this message
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
Revision history for this message
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
Revision history for this message
minple (fminple) wrote :

please disable smooth or option to disable!

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.