| Index: cc/trees/layer_tree_host_impl.cc
|
| diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
|
| index a497421da8e4ed3ed9741662cb11a44156d01e48..2670bf8e8ec7920f473eab22cd50f00ec2b18693 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -1071,11 +1071,6 @@ void LayerTreeHostImpl::SetNeedsRedrawRect(gfx::Rect damage_rect) {
|
| client_->SetNeedsRedrawRectOnImplThread(damage_rect);
|
| }
|
|
|
| -void LayerTreeHostImpl::OnVSyncParametersChanged(base::TimeTicks timebase,
|
| - base::TimeDelta interval) {
|
| - client_->OnVSyncParametersChanged(timebase, interval);
|
| -}
|
| -
|
| void LayerTreeHostImpl::BeginFrame(base::TimeTicks frame_time) {
|
| client_->BeginFrameOnImplThread(frame_time);
|
| }
|
| @@ -1514,6 +1509,25 @@ bool LayerTreeHostImpl::DoInitializeRenderer(
|
| resource_provider_ = resource_provider.Pass();
|
| }
|
|
|
| + // Setup BeginFrameEmulation if it's not supported natively
|
| + if (!settings_.begin_frame_scheduling_enabled) {
|
| + const base::TimeDelta display_refresh_interval =
|
| + base::TimeDelta::FromMicroseconds(
|
| + base::Time::kMicrosecondsPerSecond /
|
| + settings_.refresh_rate);
|
| +
|
| + output_surface->InitializeBeginFrameEmulation(
|
| + proxy_->ImplThread(),
|
| + settings_.throttle_frame_production,
|
| + display_refresh_interval);
|
| + }
|
| +
|
| + int max_frames_pending =
|
| + output_surface->capabilities().max_frames_pending;
|
| + if (max_frames_pending <= 0)
|
| + max_frames_pending = FrameRateController::DEFAULT_MAX_FRAMES_PENDING;
|
| + output_surface->SetMaxFramesPending(max_frames_pending);
|
| +
|
| output_surface_ = output_surface.Pass();
|
|
|
| if (!visible_)
|
|
|