Index: desktop_aura/desktop_root_window_host_win.cc =================================================================== --- desktop_aura/desktop_root_window_host_win.cc (revision 248478) +++ desktop_aura/desktop_root_window_host_win.cc (working copy) @@ -132,7 +132,9 @@ native_widget_delegate_); HWND parent_hwnd = NULL; - if (params.parent && params.parent->GetDispatcher()) { + if (params.parent_widget) { + parent_hwnd = params.parent_widget; + } else if (params.parent && params.parent->GetDispatcher()) { parent_hwnd = params.parent->GetDispatcher()->host()->GetAcceleratedWidget(); } @@ -771,7 +773,7 @@ void DesktopWindowTreeHostWin::HandleCreate() { // TODO(beng): moar - NOTIMPLEMENTED(); + // NOTIMPLEMENTED(); native_widget_delegate_->OnNativeWidgetCreated(true); Index: desktop_aura/desktop_screen_win.cc =================================================================== --- desktop_aura/desktop_screen_win.cc (revision 248478) +++ desktop_aura/desktop_screen_win.cc (working copy) @@ -54,6 +54,8 @@ } HWND DesktopScreenWin::GetHWNDFromNativeView(gfx::NativeView window) const { + if (!window) + return NULL; aura::WindowEventDispatcher* dispatcher = window->GetDispatcher(); return dispatcher ? dispatcher->host()->GetAcceleratedWidget() : NULL; } Index: widget.cc =================================================================== --- widget.cc (revision 248478) +++ widget.cc (working copy) @@ -149,6 +149,7 @@ show_state(ui::SHOW_STATE_DEFAULT), double_buffer(false), parent(NULL), + parent_widget(NULL), native_widget(NULL), desktop_root_window_host(NULL), top_level(false), Index: widget.h =================================================================== --- widget.h (revision 248478) +++ widget.h (working copy) @@ -197,6 +197,7 @@ // Should the widget be double buffered? Default is false. bool double_buffer; gfx::NativeView parent; + gfx::AcceleratedWidget parent_widget; // Specifies the initial bounds of the Widget. Default is empty, which means // the NativeWidget may specify a default size. If the parent is specified, // |bounds| is in the parent's coordinate system. If the parent is not