Fixed bug where Uninstall dialog forces its own widget to close twice
Previously, ExtensionUninstallDialogViews called CloseNow() on it's own delegate's Widget if it was destroyed before an Accept/Cancel handler was called. However, the Widget had already been freed by the Widget hierarchy, resulting in a crash. Made ExtensionUninstallDialogViews notify ExtensionUninstallDialogDelegateView when it closes, so now either order is possible: either class can be destroyed first (either by the user, or by the views hierarchy) and the other will be safely destroyed. TEST=Open the App List in ChromeOS, then right-click on an app and select 'App Info', then click 'Remove'. Now click away from the app list to dismiss it. Previously, this would cause a crash. TEST=Open the App List in Linux, then right-click on an app and select 'App Info', then click 'Remove'. Now click the 'close' button in the app info dialog to close the dismiss it. Previously, this would cause a crash. BUG=390414,400909 Review URL: https://codereview.chromium.org/412483006 Cr-Commit-Position: refs/heads/master@{#289227} git-svn-id: svn://svn.chromium.org/chrome/trunk/src@289227 0039d316-1c4b-4281-b951-d872f2087c98
Showing
Please register or sign in to comment