| Index: cc/trees/layer_tree_host.cc
|
| diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc
|
| index 0f48cb205dda2d31116c2cc9ea61a9832e7302e9..fa4dd5dc544dcc7a491947148d9c99a40a74927d 100644
|
| --- a/cc/trees/layer_tree_host.cc
|
| +++ b/cc/trees/layer_tree_host.cc
|
| @@ -43,6 +43,7 @@
|
| #include "cc/trees/thread_proxy.h"
|
| #include "cc/trees/tree_synchronizer.h"
|
| #include "ui/gfx/geometry/size_conversions.h"
|
| +#include "ui/gfx/geometry/vector2d_conversions.h"
|
|
|
| namespace {
|
| static base::StaticAtomicSequenceNumber s_layer_tree_host_sequence_number;
|
| @@ -222,6 +223,12 @@ void LayerTreeHost::DeleteContentsTexturesOnImplThread(
|
| contents_texture_manager_->ClearAllMemory(resource_provider);
|
| }
|
|
|
| +void LayerTreeHost::WillBeginMainFrame() {
|
| + devtools_instrumentation::WillBeginMainThreadFrame(id(),
|
| + source_frame_number());
|
| + client_->WillBeginMainFrame();
|
| +}
|
| +
|
| void LayerTreeHost::DidBeginMainFrame() {
|
| client_->DidBeginMainFrame();
|
| }
|
| @@ -1087,8 +1094,8 @@ void LayerTreeHost::ApplyScrollAndScale(ScrollAndScaleSet* info) {
|
| QueueSwapPromise(swap_promise.Pass());
|
| }
|
|
|
| - gfx::Vector2d inner_viewport_scroll_delta;
|
| - gfx::Vector2d outer_viewport_scroll_delta;
|
| + gfx::Vector2dF inner_viewport_scroll_delta;
|
| + gfx::Vector2dF outer_viewport_scroll_delta;
|
|
|
| if (root_layer_.get()) {
|
| for (size_t i = 0; i < info->scrolls.size(); ++i) {
|
| @@ -1131,10 +1138,13 @@ void LayerTreeHost::ApplyScrollAndScale(ScrollAndScaleSet* info) {
|
| ApplyPageScaleDeltaFromImplSide(info->page_scale_delta);
|
| elastic_overscroll_ += info->elastic_overscroll_delta;
|
| if (!settings_.use_pinch_virtual_viewport) {
|
| + // TODO(miletus): Make sure either this code path is totally gone,
|
| + // or revisit the flooring here if the old pinch viewport code path
|
| + // is causing problems with fractional scroll offset.
|
| client_->ApplyViewportDeltas(
|
| - inner_viewport_scroll_delta + outer_viewport_scroll_delta,
|
| - info->page_scale_delta,
|
| - info->top_controls_delta);
|
| + gfx::ToFlooredVector2d(inner_viewport_scroll_delta +
|
| + outer_viewport_scroll_delta),
|
| + info->page_scale_delta, info->top_controls_delta);
|
| } else {
|
| // TODO(ccameron): pass the elastic overscroll here so that input events
|
| // may be translated appropriately.
|
|
|