| Index: views/widget/native_widget_aura.cc
|
| diff --git a/views/widget/native_widget_aura.cc b/views/widget/native_widget_aura.cc
|
| index ee23f426f26c5b6a1d6c38078c1d2759ddc09c7a..cfa5a6a8de8b7c2496cf8a3edbfb8e2030c0f798 100644
|
| --- a/views/widget/native_widget_aura.cc
|
| +++ b/views/widget/native_widget_aura.cc
|
| @@ -350,7 +350,13 @@ void NativeWidgetAura::SetShape(gfx::NativeRegion region) {
|
| }
|
|
|
| void NativeWidgetAura::Close() {
|
| - Hide();
|
| + // |window_| may already be deleted by parent window. This can happen
|
| + // when this widget is child widget or has transient parent
|
| + // and ownership is WIDGET_OWNS_NATIVE_WIDGET.
|
| + DCHECK(window_ ||
|
| + ownership_ == Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET);
|
| + if (window_)
|
| + Hide();
|
|
|
| if (!close_widget_factory_.HasWeakPtrs()) {
|
| MessageLoop::current()->PostTask(
|
|
|