| 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 c6eeea7c5ada25e2f07327184a8e292f2bfa409c..6a492e696f02d8c198ffb50e27abdc9789e8ea6d 100644
|
| --- a/components/mus/surfaces/top_level_display_client.cc
|
| +++ b/components/mus/surfaces/top_level_display_client.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include "cc/output/compositor_frame.h"
|
| #include "cc/surfaces/display.h"
|
| +#include "cc/surfaces/surface.h"
|
| #include "components/mus/gles2/gpu_state.h"
|
| #include "components/mus/surfaces/surfaces_context_provider.h"
|
| #include "components/mus/surfaces/surfaces_output_surface.h"
|
| @@ -49,13 +50,11 @@ TopLevelDisplayClient::TopLevelDisplayClient(
|
| void TopLevelDisplayClient::OnContextCreated() {}
|
|
|
| TopLevelDisplayClient::~TopLevelDisplayClient() {
|
| - if (display_) {
|
| - factory_.Destroy(cc_id_);
|
| - surfaces_state_->scheduler()->RemoveDisplay(display_.get());
|
| - // By deleting the object after display_ is reset, OutputSurfaceLost can
|
| - // know not to do anything (which would result in double delete).
|
| - delete display_.release();
|
| - }
|
| + factory_.Destroy(cc_id_);
|
| + surfaces_state_->scheduler()->RemoveDisplay(display_.get());
|
| + // By deleting the object after display_ is reset, OutputSurfaceLost can
|
| + // know not to do anything (which would result in double delete).
|
| + delete display_.release();
|
| }
|
|
|
| void TopLevelDisplayClient::SubmitCompositorFrame(
|
| @@ -72,6 +71,14 @@ void TopLevelDisplayClient::SubmitCompositorFrame(
|
| surfaces_state_->scheduler()->SetNeedsDraw();
|
| }
|
|
|
| +const cc::CompositorFrame*
|
| +TopLevelDisplayClient::GetLastCompositorFrame() const {
|
| + cc::Surface* surface = factory_.manager()->GetSurfaceForId(cc_id_);
|
| + if (!surface)
|
| + return nullptr;
|
| + return surface->GetEligibleFrame();
|
| +}
|
| +
|
| void TopLevelDisplayClient::CommitVSyncParameters(base::TimeTicks timebase,
|
| base::TimeDelta interval) {}
|
|
|
|
|