summaryrefslogtreecommitdiffstats
path: root/ui/views/window/dialog_delegate.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ui/views/window/dialog_delegate.cc')
-rw-r--r--ui/views/window/dialog_delegate.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/ui/views/window/dialog_delegate.cc b/ui/views/window/dialog_delegate.cc
index 33a1b9a..711554d 100644
--- a/ui/views/window/dialog_delegate.cc
+++ b/ui/views/window/dialog_delegate.cc
@@ -151,7 +151,10 @@ ui::AccessibilityTypes::Role DialogDelegate::GetAccessibleWindowRole() const {
////////////////////////////////////////////////////////////////////////////////
// DialogDelegateView:
-DialogDelegateView::DialogDelegateView() {}
+DialogDelegateView::DialogDelegateView() {
+ // A WidgetDelegate should be deleted on DeleteDelegate.
+ set_owned_by_client();
+}
DialogDelegateView::~DialogDelegateView() {}
@@ -162,6 +165,10 @@ Widget* DialogDelegateView::CreateDialogWidget(DialogDelegateView* dialog,
return CreateDialogWidgetImpl(dialog, context, parent);
}
+void DialogDelegateView::DeleteDelegate() {
+ delete this;
+}
+
Widget* DialogDelegateView::GetWidget() {
return View::GetWidget();
}