Index: chrome/browser/ui/views/extensions/extension_uninstall_dialog_view.cc |
diff --git a/chrome/browser/ui/views/extensions/extension_uninstall_dialog_view.cc b/chrome/browser/ui/views/extensions/extension_uninstall_dialog_view.cc |
index a58b6673344579a47feb6e9345ecd9063244fe51..5e95778d67ce82eb3607afe82e77a1b515e194ad 100644 |
--- a/chrome/browser/ui/views/extensions/extension_uninstall_dialog_view.cc |
+++ b/chrome/browser/ui/views/extensions/extension_uninstall_dialog_view.cc |
@@ -84,7 +84,9 @@ class ExtensionUninstallDialogDelegateView : public views::DialogDelegateView { |
virtual base::string16 GetDialogButtonLabel( |
ui::DialogButton button) const OVERRIDE; |
virtual int GetDefaultDialogButton() const OVERRIDE { |
- return ui::DIALOG_BUTTON_CANCEL; |
+ // Default to cancel when uninstall is triggered by API. |
Yoyo Zhou
2014/04/18 23:07:13
ditto
|
+ return triggering_extension_ ? |
+ ui::DIALOG_BUTTON_CANCEL : ui::DIALOG_BUTTON_OK; |
} |
virtual bool Accept() OVERRIDE; |
virtual bool Cancel() OVERRIDE; |
@@ -104,6 +106,7 @@ class ExtensionUninstallDialogDelegateView : public views::DialogDelegateView { |
views::ImageView* icon_; |
views::Label* heading_; |
+ const extensions::Extension* triggering_extension_; |
DISALLOW_COPY_AND_ASSIGN(ExtensionUninstallDialogDelegateView); |
}; |
@@ -172,6 +175,8 @@ ExtensionUninstallDialogDelegateView::ExtensionUninstallDialogDelegateView( |
heading_->SetMultiLine(true); |
heading_->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
AddChildView(heading_); |
+ |
+ triggering_extension_ = triggering_extension; |
} |
ExtensionUninstallDialogDelegateView::~ExtensionUninstallDialogDelegateView() { |