| 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 5f225f9a3bf131d4ce5ca258acd22d66a85f0f89..d7ec91e8688f834bb9c96d4de6055dfd82b9e61e 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" | 
| @@ -46,13 +47,11 @@ TopLevelDisplayClient::TopLevelDisplayClient( | 
| } | 
|  | 
| 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( | 
| @@ -69,6 +68,14 @@ void TopLevelDisplayClient::SubmitCompositorFrame( | 
| surfaces_state_->scheduler()->SetNeedsDraw(); | 
| } | 
|  | 
| +const cc::CompositorFrame* | 
| +TopLevelDisplayClient::GetLastCompositorFrame() const { | 
| +  cc::Surface* surface = surfaces_state_->manager()->GetSurfaceForId(cc_id_); | 
| +  if (!surface) | 
| +    return nullptr; | 
| +  return surface->GetEligibleFrame(); | 
| +} | 
| + | 
| void TopLevelDisplayClient::CommitVSyncParameters(base::TimeTicks timebase, | 
| base::TimeDelta interval) {} | 
|  | 
|  |