Index: content/browser/web_contents/web_contents_view_aura.cc |
diff --git a/content/browser/web_contents/web_contents_view_aura.cc b/content/browser/web_contents/web_contents_view_aura.cc |
index f0cce6521220a903c2b50270e36df23258510291..eaefc275b47d4924d9565e4d6b1b93c19c9f017e 100644 |
--- a/content/browser/web_contents/web_contents_view_aura.cc |
+++ b/content/browser/web_contents/web_contents_view_aura.cc |
@@ -547,6 +547,12 @@ class WebContentsViewAura::WindowObserver |
if (window != view_->window_) |
return; |
+ // Use the new parent's root window for calculating HiDPI subpixel offset. |
+ RenderWidgetHostViewAura* rwhv = ToRenderWidgetHostViewAura( |
+ view_->web_contents_->GetRenderWidgetHostView()); |
+ if (rwhv) |
+ rwhv->SnapToPhysicalPixelBoundary(); |
+ |
aura::Window* host_window = |
window->GetProperty(aura::client::kHostWindowKey); |
if (!host_window) |
@@ -561,10 +567,8 @@ class WebContentsViewAura::WindowObserver |
for (size_t i = 0; i < children.size(); ++i) |
children[i]->RemoveObserver(this); |
- RenderWidgetHostViewAura* view = ToRenderWidgetHostViewAura( |
- view_->web_contents_->GetRenderWidgetHostView()); |
- if (view) |
- view->UpdateConstrainedWindowRects(std::vector<gfx::Rect>()); |
+ if (rwhv) |
+ rwhv->UpdateConstrainedWindowRects(std::vector<gfx::Rect>()); |
} |
// When we get parented to the root window, the code below will watch the |