| 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 84c43c20b1c3462b342036d0fbbc7311e9249e28..aca7f991e1e52e9514fc52a125a69aaefc16c137 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -1038,11 +1038,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);
|
| }
|
| @@ -1467,6 +1462,28 @@ bool LayerTreeHostImpl::InitializeRenderer(
|
| 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);
|
| +
|
| + int max_frames_pending =
|
| + output_surface->capabilities().max_frames_pending;
|
| + if (max_frames_pending <= 0)
|
| + max_frames_pending = FrameRateController::DEFAULT_MAX_FRAMES_PENDING;
|
| + if (output_surface->capabilities().has_parent_compositor)
|
| + max_frames_pending = 1;
|
| +
|
| + output_surface->InitializeBeginFrameEmulation(
|
| + proxy_->ImplThread(),
|
| + settings_.throttle_frame_production,
|
| + display_refresh_interval,
|
| + max_frames_pending,
|
| + GetRendererCapabilities().using_swap_complete_callback);
|
| + }
|
| +
|
| output_surface_ = output_surface.Pass();
|
|
|
| if (!visible_)
|
|
|