diff options
Diffstat (limited to 'content/browser/frame_host/cross_process_frame_connector.cc')
-rw-r--r-- | content/browser/frame_host/cross_process_frame_connector.cc | 39 |
1 files changed, 24 insertions, 15 deletions
diff --git a/content/browser/frame_host/cross_process_frame_connector.cc b/content/browser/frame_host/cross_process_frame_connector.cc index 0e40332..438f1f7 100644 --- a/content/browser/frame_host/cross_process_frame_connector.cc +++ b/content/browser/frame_host/cross_process_frame_connector.cc @@ -53,9 +53,12 @@ void CrossProcessFrameConnector::set_view( view_ = view; - // Attach ourselves to the new view. - if (view_) + // Attach ourselves to the new view and size it appropriately. + if (view_) { view_->set_cross_process_frame_connector(this); + SetDeviceScaleFactor(device_scale_factor_); + SetSize(child_frame_rect_); + } } void CrossProcessFrameConnector::RenderProcessGone() { @@ -123,20 +126,11 @@ void CrossProcessFrameConnector::OnReclaimCompositorResources( void CrossProcessFrameConnector::OnInitializeChildFrame(gfx::Rect frame_rect, float scale_factor) { - if (scale_factor != device_scale_factor_) { - device_scale_factor_ = scale_factor; - if (view_) { - RenderWidgetHostImpl* child_widget = - RenderWidgetHostImpl::From(view_->GetRenderWidgetHost()); - child_widget->NotifyScreenInfoChanged(); - } - } + if (scale_factor != device_scale_factor_) + SetDeviceScaleFactor(scale_factor); - if (!frame_rect.size().IsEmpty()) { - child_frame_rect_ = frame_rect; - if (view_) - view_->SetSize(frame_rect.size()); - } + if (!frame_rect.size().IsEmpty()) + SetSize(frame_rect); } gfx::Rect CrossProcessFrameConnector::ChildFrameRect() { @@ -175,4 +169,19 @@ void CrossProcessFrameConnector::OnForwardInputEvent( } } +void CrossProcessFrameConnector::SetDeviceScaleFactor(float scale_factor) { + device_scale_factor_ = scale_factor; + if (view_) { + RenderWidgetHostImpl* child_widget = + RenderWidgetHostImpl::From(view_->GetRenderWidgetHost()); + child_widget->NotifyScreenInfoChanged(); + } +} + +void CrossProcessFrameConnector::SetSize(gfx::Rect frame_rect) { + child_frame_rect_ = frame_rect; + if (view_) + view_->SetSize(frame_rect.size()); +} + } // namespace content |