| Index: chrome/browser/ui/views/extensions/device_permissions_dialog_view.cc
|
| diff --git a/chrome/browser/ui/views/extensions/device_permissions_dialog_view.cc b/chrome/browser/ui/views/extensions/device_permissions_dialog_view.cc
|
| index 773a85df6d2ef446345bc5a754e7a22e4c205da2..d3e98dd224ee7b30e1f71326e6decca4443f90e0 100644
|
| --- a/chrome/browser/ui/views/extensions/device_permissions_dialog_view.cc
|
| +++ b/chrome/browser/ui/views/extensions/device_permissions_dialog_view.cc
|
| @@ -120,16 +120,17 @@ DevicePermissionsDialogView::~DevicePermissionsDialogView() {
|
| RemoveAllChildViews(true);
|
| }
|
|
|
| -bool DevicePermissionsDialogView::Cancel() {
|
| +void DevicePermissionsDialogView::DeleteDelegate() {
|
| + // Calling prompt_->Dismissed() here ensures it will be called regardless of
|
| + // how the view is closed, including shutdown of the entire view hierarchy.
|
| prompt_->Dismissed();
|
| - return true;
|
| + delete this;
|
| }
|
|
|
| bool DevicePermissionsDialogView::Accept() {
|
| for (int index : table_view_->selection_model().selected_indices()) {
|
| prompt_->GrantDevicePermission(index);
|
| }
|
| - prompt_->Dismissed();
|
| return true;
|
| }
|
|
|
|
|