| Index: content/browser/frame_host/render_widget_host_view_child_frame.cc
|
| diff --git a/content/browser/frame_host/render_widget_host_view_child_frame.cc b/content/browser/frame_host/render_widget_host_view_child_frame.cc
|
| index 8d03e384cfb5bbe894bd714c9d7d3628ac271f47..8c2db0ba7f44e1cdb2acaf2226da87681a23ad35 100644
|
| --- a/content/browser/frame_host/render_widget_host_view_child_frame.cc
|
| +++ b/content/browser/frame_host/render_widget_host_view_child_frame.cc
|
| @@ -52,7 +52,7 @@ RenderWidgetHostViewChildFrame::RenderWidgetHostViewChildFrame(
|
| frame_connector_(nullptr),
|
| begin_frame_source_(nullptr),
|
| weak_factory_(this) {
|
| - id_allocator_.reset(new cc::SurfaceIdAllocator(frame_sink_id_));
|
| + id_allocator_.reset(new cc::SurfaceIdAllocator());
|
| GetSurfaceManager()->RegisterFrameSinkId(frame_sink_id_);
|
| RegisterFrameSinkId();
|
|
|
| @@ -61,8 +61,8 @@ RenderWidgetHostViewChildFrame::RenderWidgetHostViewChildFrame(
|
| }
|
|
|
| RenderWidgetHostViewChildFrame::~RenderWidgetHostViewChildFrame() {
|
| - if (!surface_id_.is_null())
|
| - surface_factory_->Destroy(surface_id_);
|
| + if (!local_frame_id_.is_null())
|
| + surface_factory_->Destroy(local_frame_id_);
|
|
|
| if (GetSurfaceManager())
|
| GetSurfaceManager()->InvalidateFrameSinkId(frame_sink_id_);
|
| @@ -137,7 +137,7 @@ bool RenderWidgetHostViewChildFrame::HasFocus() const {
|
| }
|
|
|
| bool RenderWidgetHostViewChildFrame::IsSurfaceAvailableForCopy() const {
|
| - return surface_factory_ && !surface_id_.is_null();
|
| + return surface_factory_ && !local_frame_id_.is_null();
|
| }
|
|
|
| void RenderWidgetHostViewChildFrame::Show() {
|
| @@ -376,7 +376,7 @@ void RenderWidgetHostViewChildFrame::OnSwapCompositorFrame(
|
| // frame renderer has changed its output surface, or size, or scale factor.
|
| if (compositor_frame_sink_id != last_compositor_frame_sink_id_ &&
|
| surface_factory_) {
|
| - surface_factory_->Destroy(surface_id_);
|
| + surface_factory_->Destroy(local_frame_id_);
|
| surface_factory_.reset();
|
| }
|
| if (compositor_frame_sink_id != last_compositor_frame_sink_id_ ||
|
| @@ -394,18 +394,20 @@ void RenderWidgetHostViewChildFrame::OnSwapCompositorFrame(
|
| base::MakeUnique<cc::SurfaceFactory>(frame_sink_id_, manager, this);
|
| }
|
|
|
| - if (surface_id_.is_null()) {
|
| - surface_id_ = id_allocator_->GenerateId();
|
| - surface_factory_->Create(surface_id_);
|
| + if (local_frame_id_.is_null()) {
|
| + local_frame_id_ = id_allocator_->GenerateId();
|
| + surface_factory_->Create(local_frame_id_);
|
|
|
| cc::SurfaceSequence sequence =
|
| cc::SurfaceSequence(frame_sink_id_, next_surface_sequence_++);
|
| // The renderer process will satisfy this dependency when it creates a
|
| // SurfaceLayer.
|
| cc::SurfaceManager* manager = GetSurfaceManager();
|
| - manager->GetSurfaceForId(surface_id_)->AddDestructionDependency(sequence);
|
| - frame_connector_->SetChildFrameSurface(surface_id_, frame_size,
|
| - scale_factor, sequence);
|
| + manager->GetSurfaceForId(cc::SurfaceId(frame_sink_id_, local_frame_id_))
|
| + ->AddDestructionDependency(sequence);
|
| + frame_connector_->SetChildFrameSurface(
|
| + cc::SurfaceId(frame_sink_id_, local_frame_id_), frame_size,
|
| + scale_factor, sequence);
|
| }
|
|
|
| cc::SurfaceFactory::DrawCallback ack_callback =
|
| @@ -414,7 +416,7 @@ void RenderWidgetHostViewChildFrame::OnSwapCompositorFrame(
|
| ack_pending_count_++;
|
| // If this value grows very large, something is going wrong.
|
| DCHECK_LT(ack_pending_count_, 1000U);
|
| - surface_factory_->SubmitCompositorFrame(surface_id_, std::move(frame),
|
| + surface_factory_->SubmitCompositorFrame(local_frame_id_, std::move(frame),
|
| ack_callback);
|
|
|
| ProcessFrameSwappedCallbacks();
|
| @@ -514,27 +516,28 @@ gfx::Point RenderWidgetHostViewChildFrame::TransformPointToRootCoordSpace(
|
| if (!frame_connector_)
|
| return point;
|
|
|
| - return frame_connector_->TransformPointToRootCoordSpace(point, surface_id_);
|
| + return frame_connector_->TransformPointToRootCoordSpace(
|
| + point, cc::SurfaceId(frame_sink_id_, local_frame_id_));
|
| }
|
|
|
| gfx::Point RenderWidgetHostViewChildFrame::TransformPointToLocalCoordSpace(
|
| const gfx::Point& point,
|
| const cc::SurfaceId& original_surface) {
|
| - if (!frame_connector_ || surface_id_.is_null())
|
| + if (!frame_connector_ || local_frame_id_.is_null())
|
| return point;
|
|
|
| return frame_connector_->TransformPointToLocalCoordSpace(
|
| - point, original_surface, surface_id_);
|
| + point, original_surface, cc::SurfaceId(frame_sink_id_, local_frame_id_));
|
| }
|
|
|
| gfx::Point RenderWidgetHostViewChildFrame::TransformPointToCoordSpaceForView(
|
| const gfx::Point& point,
|
| RenderWidgetHostViewBase* target_view) {
|
| - if (!frame_connector_ || surface_id_.is_null() || target_view == this)
|
| + if (!frame_connector_ || local_frame_id_.is_null() || target_view == this)
|
| return point;
|
|
|
| - return frame_connector_->TransformPointToCoordSpaceForView(point, target_view,
|
| - surface_id_);
|
| + return frame_connector_->TransformPointToCoordSpaceForView(
|
| + point, target_view, cc::SurfaceId(frame_sink_id_, local_frame_id_));
|
| }
|
|
|
| #if defined(OS_MACOSX)
|
| @@ -601,7 +604,7 @@ void RenderWidgetHostViewChildFrame::SubmitSurfaceCopyRequest(
|
| if (!src_subrect.IsEmpty())
|
| request->set_area(src_subrect);
|
|
|
| - surface_factory_->RequestCopyOfSurface(surface_id_, std::move(request));
|
| + surface_factory_->RequestCopyOfSurface(local_frame_id_, std::move(request));
|
| }
|
|
|
| void RenderWidgetHostViewChildFrame::CopyFromCompositingSurfaceToVideoFrame(
|
| @@ -708,9 +711,9 @@ RenderWidgetHostViewChildFrame::CreateBrowserAccessibilityManager(
|
| }
|
|
|
| void RenderWidgetHostViewChildFrame::ClearCompositorSurfaceIfNecessary() {
|
| - if (surface_factory_ && !surface_id_.is_null())
|
| - surface_factory_->Destroy(surface_id_);
|
| - surface_id_ = cc::SurfaceId();
|
| + if (surface_factory_ && !local_frame_id_.is_null())
|
| + surface_factory_->Destroy(local_frame_id_);
|
| + local_frame_id_ = cc::LocalFrameId();
|
| }
|
|
|
| bool RenderWidgetHostViewChildFrame::IsChildFrameForTesting() const {
|
| @@ -718,7 +721,7 @@ bool RenderWidgetHostViewChildFrame::IsChildFrameForTesting() const {
|
| }
|
|
|
| cc::SurfaceId RenderWidgetHostViewChildFrame::SurfaceIdForTesting() const {
|
| - return surface_id_;
|
| + return cc::SurfaceId(frame_sink_id_, local_frame_id_);
|
| };
|
|
|
| } // namespace content
|
|
|