Chromium Code Reviews| Index: content/browser/renderer_host/delegated_frame_host.cc |
| diff --git a/content/browser/renderer_host/delegated_frame_host.cc b/content/browser/renderer_host/delegated_frame_host.cc |
| index 085fd44c7b5ec52c6b00654e12193380e92a48cc..c298ecbac52ec3a446e3524ace8c2c79bdfc932f 100644 |
| --- a/content/browser/renderer_host/delegated_frame_host.cc |
| +++ b/content/browser/renderer_host/delegated_frame_host.cc |
| @@ -19,7 +19,6 @@ |
| #include "cc/resources/single_release_callback.h" |
| #include "cc/resources/texture_mailbox.h" |
| #include "cc/surfaces/compositor_frame_sink_support.h" |
| -#include "cc/surfaces/local_surface_id_allocator.h" |
| #include "cc/surfaces/surface.h" |
| #include "cc/surfaces/surface_factory.h" |
| #include "cc/surfaces/surface_hittest.h" |
| @@ -57,7 +56,6 @@ DelegatedFrameHost::DelegatedFrameHost(const cc::FrameSinkId& frame_sink_id, |
| delegated_frame_evictor_(new DelegatedFrameEvictor(this)) { |
| ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); |
| factory->GetContextFactory()->AddObserver(this); |
| - id_allocator_.reset(new cc::LocalSurfaceIdAllocator()); |
| factory->GetContextFactoryPrivate()->GetSurfaceManager()->RegisterFrameSinkId( |
| frame_sink_id_); |
| CreateCompositorFrameSinkSupport(); |
| @@ -374,6 +372,7 @@ void DelegatedFrameHost::AttemptFrameSubscriberCapture( |
| } |
| void DelegatedFrameHost::SwapDelegatedFrame(uint32_t compositor_frame_sink_id, |
| + cc::LocalSurfaceId local_surface_id, |
|
Fady Samuel
2017/03/15 12:05:48
const cc::LocalSurfaceId&
Saman Sami
2017/03/16 18:33:07
Done.
|
| cc::CompositorFrame frame) { |
| #if defined(OS_CHROMEOS) |
| DCHECK(!resize_lock_ || !client_->IsAutoResizeEnabled()); |
| @@ -440,23 +439,17 @@ void DelegatedFrameHost::SwapDelegatedFrame(uint32_t compositor_frame_sink_id, |
| ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); |
| cc::SurfaceManager* manager = |
| factory->GetContextFactoryPrivate()->GetSurfaceManager(); |
| - bool allocated_new_local_surface_id = false; |
| - if (!local_surface_id_.is_valid() || frame_size != current_surface_size_ || |
| - frame_size_in_dip != current_frame_size_in_dip_) { |
| - local_surface_id_ = id_allocator_->GenerateId(); |
| - allocated_new_local_surface_id = true; |
| - } |
| frame.metadata.latency_info.insert(frame.metadata.latency_info.end(), |
| skipped_latency_info_list_.begin(), |
| skipped_latency_info_list_.end()); |
| skipped_latency_info_list_.clear(); |
| - support_->SubmitCompositorFrame(local_surface_id_, std::move(frame)); |
| + support_->SubmitCompositorFrame(local_surface_id, std::move(frame)); |
| - if (allocated_new_local_surface_id || !has_frame_) { |
| + if (local_surface_id != local_surface_id_ || !has_frame_) { |
| // manager must outlive compositors using it. |
| - cc::SurfaceId surface_id(frame_sink_id_, local_surface_id_); |
| + cc::SurfaceId surface_id(frame_sink_id_, local_surface_id); |
| cc::SurfaceInfo surface_info(surface_id, frame_device_scale_factor, |
| frame_size); |
| client_->DelegatedFrameHostGetLayer()->SetShowPrimarySurface( |
| @@ -467,6 +460,8 @@ void DelegatedFrameHost::SwapDelegatedFrame(uint32_t compositor_frame_sink_id, |
| has_frame_ = true; |
| } |
| + local_surface_id_ = local_surface_id; |
| + |
| released_front_lock_ = NULL; |
| current_frame_size_in_dip_ = frame_size_in_dip; |
| CheckResizeLock(); |