| 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 679e0e76a083e0fb2b4a9034928d589b80717ce8..36c71cee823e9594244303d25a7fad1048859003 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -1503,6 +1503,8 @@ bool LayerTreeHostImpl::SwapBuffers(const LayerTreeHostImpl::FrameData& frame) {
|
| void LayerTreeHostImpl::SetNeedsBeginFrame(bool enable) {
|
| if (output_surface_)
|
| output_surface_->SetNeedsBeginFrame(enable);
|
| + else
|
| + DCHECK(!enable);
|
| }
|
|
|
| void LayerTreeHostImpl::WillBeginImplFrame(const BeginFrameArgs& args) {
|
| @@ -1886,20 +1888,18 @@ bool LayerTreeHostImpl::InitializeRenderer(
|
| GetRendererCapabilities().allow_rasterize_on_demand);
|
| }
|
|
|
| - if (!settings_.throttle_frame_production) {
|
| - // Disable VSync
|
| - output_surface->SetThrottleFrameProduction(false);
|
| - } else if (!settings_.begin_impl_frame_scheduling_enabled) {
|
| - // Setup BeginFrameEmulation if it's not supported natively
|
| - const base::TimeDelta display_refresh_interval =
|
| - base::TimeDelta::FromMicroseconds(
|
| - base::Time::kMicrosecondsPerSecond /
|
| - settings_.refresh_rate);
|
| + // Initialize vsync parameters to sane values.
|
| + const base::TimeDelta display_refresh_interval =
|
| + base::TimeDelta::FromMicroseconds(base::Time::kMicrosecondsPerSecond /
|
| + settings_.refresh_rate);
|
| + CommitVSyncParameters(base::TimeTicks(), display_refresh_interval);
|
|
|
| - output_surface->InitializeBeginFrameEmulation(
|
| - proxy_->ImplThreadTaskRunner(),
|
| - display_refresh_interval);
|
| - }
|
| + // TODO(brianderson): Don't use a hard-coded parent draw time.
|
| + base::TimeDelta parent_draw_time =
|
| + output_surface->capabilities().adjust_deadline_for_parent
|
| + ? BeginFrameArgs::DefaultDeadlineAdjustment()
|
| + : base::TimeDelta();
|
| + client_->SetEstimatedParentDrawTime(parent_draw_time);
|
|
|
| int max_frames_pending =
|
| output_surface->capabilities().max_frames_pending;
|
| @@ -1915,6 +1915,11 @@ bool LayerTreeHostImpl::InitializeRenderer(
|
| return true;
|
| }
|
|
|
| +void LayerTreeHostImpl::CommitVSyncParameters(base::TimeTicks timebase,
|
| + base::TimeDelta interval) {
|
| + client_->CommitVSyncParameters(timebase, interval);
|
| +}
|
| +
|
| void LayerTreeHostImpl::DeferredInitialize() {
|
| DCHECK(output_surface_->capabilities().deferred_gl_initialization);
|
| DCHECK(settings_.impl_side_painting);
|
|
|