| Index: components/mus/surfaces/top_level_display_client.cc
|
| diff --git a/components/mus/surfaces/top_level_display_client.cc b/components/mus/surfaces/top_level_display_client.cc
|
| index 537e08904d9b1106f77b0db5740e4e8d0f995fab..b70f8b34b4df1160c9a98c2a71410277773d95c6 100644
|
| --- a/components/mus/surfaces/top_level_display_client.cc
|
| +++ b/components/mus/surfaces/top_level_display_client.cc
|
| @@ -42,12 +42,14 @@ TopLevelDisplayClient::TopLevelDisplayClient(
|
| factory_(surfaces_state->manager(), this),
|
| cc_id_(static_cast<uint64_t>(surfaces_state->next_id_namespace()) << 32) {
|
| factory_.Create(cc_id_);
|
| + surfaces_state_->manager()->RegisterSurfaceIdNamespace(cc_id_.id_namespace());
|
|
|
| display_.reset(new cc::Display(this, surfaces_state_->manager(), nullptr,
|
| - nullptr, cc::RendererSettings()));
|
| + nullptr, cc::RendererSettings(),
|
| + cc_id_.id_namespace()));
|
|
|
| scoped_refptr<SurfacesContextProvider> surfaces_context_provider(
|
| - new SurfacesContextProvider(this, widget, gpu_state));
|
| + new SurfacesContextProvider(widget, gpu_state));
|
| // TODO(rjkroege): If there is something better to do than CHECK, add it.
|
| CHECK(surfaces_context_provider->BindToCurrentThread());
|
|
|
| @@ -55,27 +57,21 @@ TopLevelDisplayClient::TopLevelDisplayClient(
|
| if (surfaces_context_provider->ContextCapabilities().gpu.surfaceless) {
|
| #if defined(USE_OZONE)
|
| output_surface = base::WrapUnique(new DirectOutputSurfaceOzone(
|
| - surfaces_context_provider, widget, GL_TEXTURE_2D, GL_RGB));
|
| + surfaces_context_provider, widget, task_runner_.get(), GL_TEXTURE_2D,
|
| + GL_RGB));
|
| #else
|
| NOTREACHED();
|
| #endif
|
| } else {
|
| - output_surface =
|
| - base::WrapUnique(new DirectOutputSurface(surfaces_context_provider));
|
| + output_surface = base::WrapUnique(
|
| + new DirectOutputSurface(surfaces_context_provider, task_runner_.get()));
|
| }
|
|
|
| int max_frames_pending = output_surface->capabilities().max_frames_pending;
|
| DCHECK_GT(max_frames_pending, 0);
|
|
|
| - synthetic_frame_source_.reset(new cc::SyntheticBeginFrameSource(
|
| - task_runner_.get(), cc::BeginFrameArgs::DefaultInterval()));
|
| -
|
| - scheduler_.reset(
|
| - new cc::DisplayScheduler(display_.get(), synthetic_frame_source_.get(),
|
| - task_runner_.get(), max_frames_pending));
|
| -
|
| if (gpu_state->HardwareRenderingAvailable()) {
|
| - display_->Initialize(std::move(output_surface), scheduler_.get());
|
| + display_->Initialize(std::move(output_surface), task_runner_.get());
|
| } else {
|
| // TODO(rjkroege): Implement software compositing.
|
| }
|
| @@ -86,6 +82,8 @@ TopLevelDisplayClient::TopLevelDisplayClient(
|
| }
|
|
|
| TopLevelDisplayClient::~TopLevelDisplayClient() {
|
| + surfaces_state_->manager()->InvalidateSurfaceIdNamespace(
|
| + cc_id_.id_namespace());
|
| factory_.Destroy(cc_id_);
|
| }
|
|
|
| @@ -107,9 +105,6 @@ void TopLevelDisplayClient::RequestCopyOfOutput(
|
| factory_.RequestCopyOfSurface(cc_id_, std::move(output_request));
|
| }
|
|
|
| -void TopLevelDisplayClient::CommitVSyncParameters(base::TimeTicks timebase,
|
| - base::TimeDelta interval) {}
|
| -
|
| void TopLevelDisplayClient::OutputSurfaceLost() {
|
| if (!display_) // Shutdown case
|
| return;
|
| @@ -119,20 +114,6 @@ void TopLevelDisplayClient::OutputSurfaceLost() {
|
| void TopLevelDisplayClient::SetMemoryPolicy(
|
| const cc::ManagedMemoryPolicy& policy) {}
|
|
|
| -void TopLevelDisplayClient::OnVSyncParametersUpdated(int64_t timebase,
|
| - int64_t interval) {
|
| - auto timebase_time_ticks = base::TimeTicks::FromInternalValue(timebase);
|
| - auto interval_time_delta = base::TimeDelta::FromInternalValue(interval);
|
| -
|
| - if (interval_time_delta.is_zero()) {
|
| - // TODO(brianderson): We should not be receiving 0 intervals.
|
| - interval_time_delta = cc::BeginFrameArgs::DefaultInterval();
|
| - }
|
| -
|
| - synthetic_frame_source_->OnUpdateVSyncParameters(timebase_time_ticks,
|
| - interval_time_delta);
|
| -}
|
| -
|
| void TopLevelDisplayClient::ReturnResources(
|
| const cc::ReturnedResourceArray& resources) {
|
| // TODO(fsamuel): Implement this.
|
|
|