| Index: content/browser/renderer_host/render_widget_host_view_aura.cc
|
| diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
| index a7eb8d667baec6cc472c40178036fbbd5c092b27..4b97254364d990b0ab0988a438ae6df4789f59fc 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_aura.cc
|
| +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
| @@ -450,7 +450,6 @@ RenderWidgetHostViewAura::RenderWidgetHostViewAura(RenderWidgetHost* host,
|
| cursor_visibility_state_in_renderer_(UNKNOWN),
|
| #if defined(OS_WIN)
|
| legacy_render_widget_host_HWND_(NULL),
|
| - legacy_window_destroyed_(false),
|
| #endif
|
| has_snapped_to_boundary_(false),
|
| touch_editing_client_(NULL),
|
| @@ -604,16 +603,6 @@ void RenderWidgetHostViewAura::WasShown() {
|
| delegated_frame_host_->WasShown(browser_latency_info);
|
|
|
| #if defined(OS_WIN)
|
| - if (legacy_render_widget_host_HWND_) {
|
| - // Reparent the legacy Chrome_RenderWidgetHostHWND window to the parent
|
| - // window before reparenting any plugins. This ensures that the plugin
|
| - // windows stay on top of the child Zorder in the parent and receive
|
| - // mouse events, etc.
|
| - legacy_render_widget_host_HWND_->UpdateParent(
|
| - GetNativeView()->GetHost()->GetAcceleratedWidget());
|
| - legacy_render_widget_host_HWND_->SetBounds(
|
| - window_->GetBoundsInRootWindow());
|
| - }
|
| LPARAM lparam = reinterpret_cast<LPARAM>(this);
|
| EnumChildWindows(ui::GetHiddenWindow(), ShowWindowsCallback, lparam);
|
| #endif
|
| @@ -632,10 +621,6 @@ void RenderWidgetHostViewAura::WasHidden() {
|
| HWND parent = host->GetAcceleratedWidget();
|
| LPARAM lparam = reinterpret_cast<LPARAM>(this);
|
| EnumChildWindows(parent, HideWindowsCallback, lparam);
|
| - // We reparent the legacy Chrome_RenderWidgetHostHWND window to the global
|
| - // hidden window on the same lines as Windowed plugin windows.
|
| - if (legacy_render_widget_host_HWND_)
|
| - legacy_render_widget_host_HWND_->UpdateParent(ui::GetHiddenWindow());
|
| }
|
| #endif
|
| }
|
| @@ -800,19 +785,11 @@ bool RenderWidgetHostViewAura::IsSurfaceAvailableForCopy() const {
|
| void RenderWidgetHostViewAura::Show() {
|
| window_->Show();
|
| WasShown();
|
| -#if defined(OS_WIN)
|
| - if (legacy_render_widget_host_HWND_)
|
| - legacy_render_widget_host_HWND_->Show();
|
| -#endif
|
| }
|
|
|
| void RenderWidgetHostViewAura::Hide() {
|
| window_->Hide();
|
| WasHidden();
|
| -#if defined(OS_WIN)
|
| - if (legacy_render_widget_host_HWND_)
|
| - legacy_render_widget_host_HWND_->Hide();
|
| -#endif
|
| }
|
|
|
| bool RenderWidgetHostViewAura::IsShowing() {
|
| @@ -1033,12 +1010,7 @@ void RenderWidgetHostViewAura::UpdateMouseLockRegion() {
|
| ::ClipCursor(&window_rect);
|
| }
|
| }
|
| -
|
| -void RenderWidgetHostViewAura::OnLegacyWindowDestroyed() {
|
| - legacy_render_widget_host_HWND_ = NULL;
|
| - legacy_window_destroyed_ = true;
|
| -}
|
| -#endif
|
| +#endif // defined(OS_WIN)
|
|
|
| void RenderWidgetHostViewAura::OnSwapCompositorFrame(
|
| uint32 output_surface_id,
|
| @@ -1070,6 +1042,11 @@ void RenderWidgetHostViewAura::DidStopFlinging() {
|
| }
|
|
|
| #if defined(OS_WIN)
|
| +void RenderWidgetHostViewAura::SetLegacyRenderWidgetHostHWND(
|
| + LegacyRenderWidgetHostHWND* legacy_hwnd) {
|
| + legacy_render_widget_host_HWND_ = legacy_hwnd;
|
| +}
|
| +
|
| void RenderWidgetHostViewAura::SetParentNativeViewAccessible(
|
| gfx::NativeViewAccessible accessible_parent) {
|
| }
|
| @@ -1741,20 +1718,7 @@ void RenderWidgetHostViewAura::OnWindowDestroying(aura::Window* window) {
|
| }
|
| LPARAM lparam = reinterpret_cast<LPARAM>(this);
|
| EnumChildWindows(parent, WindowDestroyingCallback, lparam);
|
| -
|
| - // The LegacyRenderWidgetHostHWND instance is destroyed when its window is
|
| - // destroyed. Normally we control when that happens via the Destroy call
|
| - // in the dtor. However there may be cases where the window is destroyed
|
| - // by Windows, i.e. the parent window is destroyed before the
|
| - // RenderWidgetHostViewAura instance goes away etc. To avoid that we
|
| - // destroy the LegacyRenderWidgetHostHWND instance here.
|
| - if (legacy_render_widget_host_HWND_) {
|
| - legacy_render_widget_host_HWND_->set_host(NULL);
|
| - legacy_render_widget_host_HWND_->Destroy();
|
| - // The Destroy call above will delete the LegacyRenderWidgetHostHWND
|
| - // instance.
|
| - legacy_render_widget_host_HWND_ = NULL;
|
| - }
|
| + legacy_render_widget_host_HWND_ = NULL;
|
| #endif
|
|
|
| // Make sure that the input method no longer references to this object before
|
| @@ -2259,13 +2223,6 @@ RenderWidgetHostViewAura::~RenderWidgetHostViewAura() {
|
| // Aura root window and we don't have a way to get an input method object
|
| // associated with the window, but just in case.
|
| DetachFromInputMethod();
|
| -
|
| -#if defined(OS_WIN)
|
| - // The LegacyRenderWidgetHostHWND window should have been destroyed in
|
| - // RenderWidgetHostViewAura::OnWindowDestroying and the pointer should
|
| - // be set to NULL.
|
| - DCHECK(!legacy_render_widget_host_HWND_);
|
| -#endif
|
| }
|
|
|
| void RenderWidgetHostViewAura::UpdateCursorIfOverSelf() {
|
| @@ -2415,34 +2372,6 @@ void RenderWidgetHostViewAura::InternalSetBounds(const gfx::Rect& rect) {
|
| selection_focus_rect_);
|
| }
|
| #if defined(OS_WIN)
|
| - // Create the legacy dummy window which corresponds to the bounds of the
|
| - // webcontents. This will be passed as the container window for windowless
|
| - // plugins.
|
| - // Plugins like Flash assume the container window which is returned via the
|
| - // NPNVnetscapeWindow property corresponds to the bounds of the webpage.
|
| - // This is not true in Aura where we have only HWND which is the main Aura
|
| - // window. If we return this window to plugins like Flash then it causes the
|
| - // coordinate translations done by these plugins to break.
|
| - // Additonally the legacy dummy window is needed for accessibility and for
|
| - // scrolling to work in legacy drivers for trackpoints/trackpads, etc.
|
| - if (!legacy_window_destroyed_ && GetNativeViewId()) {
|
| - if (!legacy_render_widget_host_HWND_) {
|
| - legacy_render_widget_host_HWND_ = LegacyRenderWidgetHostHWND::Create(
|
| - reinterpret_cast<HWND>(GetNativeViewId()));
|
| - }
|
| - if (legacy_render_widget_host_HWND_) {
|
| - legacy_render_widget_host_HWND_->set_host(this);
|
| - legacy_render_widget_host_HWND_->SetBounds(
|
| - window_->GetBoundsInRootWindow());
|
| - // There are cases where the parent window is created, made visible and
|
| - // the associated RenderWidget is also visible before the
|
| - // LegacyRenderWidgetHostHWND instace is created. Ensure that it is shown
|
| - // here.
|
| - if (!host_->is_hidden())
|
| - legacy_render_widget_host_HWND_->Show();
|
| - }
|
| - }
|
| -
|
| if (mouse_locked_)
|
| UpdateMouseLockRegion();
|
| #endif
|
| @@ -2488,14 +2417,6 @@ void RenderWidgetHostViewAura::AddedToRootWindow() {
|
| input_method->SetFocusedTextInputClient(this);
|
| }
|
|
|
| -#if defined(OS_WIN)
|
| - // The parent may have changed here. Ensure that the legacy window is
|
| - // reparented accordingly.
|
| - if (legacy_render_widget_host_HWND_)
|
| - legacy_render_widget_host_HWND_->UpdateParent(
|
| - reinterpret_cast<HWND>(GetNativeViewId()));
|
| -#endif
|
| -
|
| delegated_frame_host_->AddedToWindow();
|
| }
|
|
|
| @@ -2509,13 +2430,6 @@ void RenderWidgetHostViewAura::RemovingFromRootWindow() {
|
|
|
| window_->GetHost()->RemoveObserver(this);
|
| delegated_frame_host_->RemovingFromWindow();
|
| -
|
| -#if defined(OS_WIN)
|
| - // Update the legacy window's parent temporarily to the desktop window. It
|
| - // will eventually get reparented to the right root.
|
| - if (legacy_render_widget_host_HWND_)
|
| - legacy_render_widget_host_HWND_->UpdateParent(::GetDesktopWindow());
|
| -#endif
|
| }
|
|
|
| void RenderWidgetHostViewAura::DetachFromInputMethod() {
|
|
|