| Index: content/browser/frame_host/cross_process_frame_connector.cc
|
| diff --git a/content/browser/frame_host/cross_process_frame_connector.cc b/content/browser/frame_host/cross_process_frame_connector.cc
|
| index 0e4033205a778e20177b91afe896a5cd48df8266..438f1f7c9982956e83340bf72cd91c19838d8a3c 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
|
|
|