diff --git a/framework/fling-curve.dart b/framework/fling-curve.dart index 6a476d7085e..3a9f54f4a54 100644 --- a/framework/fling-curve.dart +++ b/framework/fling-curve.dart @@ -36,7 +36,7 @@ class FlingCurve { FlingCurve(double velocity, double startTime) { double startingVelocity = math.min(_kMaxVelocity, velocity.abs()); - _timeOffset = _velocityAtTime(startingVelocity); + _timeOffset = _timeAtVelocity(startingVelocity); _positionOffset = _positionAtTime(_timeOffset); _startTime = startTime / 1000.0; _previousPosition = 0.0; diff --git a/framework/sky-drawer.sky b/framework/sky-drawer.sky index 9a54caa694a..906f4f4939d 100644 --- a/framework/sky-drawer.sky +++ b/framework/sky-drawer.sky @@ -19,7 +19,7 @@ right: 0; } #content { - background-color: yellow; + background-color: white; will-change: transform; position: absolute; width: 256px; diff --git a/framework/sky-scrollable.sky b/framework/sky-scrollable.sky index fa287a064cc..3e41d8838ab 100644 --- a/framework/sky-scrollable.sky +++ b/framework/sky-scrollable.sky @@ -11,6 +11,7 @@ :host { overflow: hidden; position: relative; + will-change: transform; } #scrollable { will-change: transform; diff --git a/viewer/converters/input_event_types.cc b/viewer/converters/input_event_types.cc index d5bb31ed90e..3aa297d4902 100644 --- a/viewer/converters/input_event_types.cc +++ b/viewer/converters/input_event_types.cc @@ -108,10 +108,10 @@ scoped_ptr BuildWebGestureEvent( break; case mojo::EVENT_TYPE_SCROLL_FLING_START: web_event->type = blink::WebInputEvent::GestureFlingStart; - // TODO(abarth): Why don't we need to divide by the device_pixel_ratio - // here? For some reason, this seems to get the right velocity. - web_event->data.flingStart.velocityX = event->gesture_data->velocity_x; - web_event->data.flingStart.velocityY = event->gesture_data->velocity_y; + web_event->data.flingStart.velocityX = + event->gesture_data->velocity_x / device_pixel_ratio; + web_event->data.flingStart.velocityY = + event->gesture_data->velocity_y / device_pixel_ratio; break; case mojo::EVENT_TYPE_SCROLL_FLING_CANCEL: web_event->type = blink::WebInputEvent::GestureFlingCancel;