| 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 6f5d379cddcfa23f386cd1d1dab3ac9ef8e195ca..a8f490097f44db296021d23a46fd404020baa507 100644
|
| --- a/chrome/browser/ui/views/extensions/device_permissions_dialog_view.cc
|
| +++ b/chrome/browser/ui/views/extensions/device_permissions_dialog_view.cc
|
| @@ -23,6 +23,7 @@
|
| #include "ui/views/controls/table/table_view.h"
|
| #include "ui/views/layout/box_layout.h"
|
| #include "ui/views/layout/layout_constants.h"
|
| +#include "ui/views/window/dialog_client_view.h"
|
|
|
| using device::UsbDevice;
|
| using extensions::DevicePermissionsPrompt;
|
| @@ -115,6 +116,7 @@ DevicePermissionsDialogView::DevicePermissionsDialogView(
|
| table_columns,
|
| views::TEXT_ONLY,
|
| !prompt_->multiple());
|
| + table_view_->SetObserver(this);
|
|
|
| views::View* table_parent = table_view_->CreateParentIfNecessary();
|
| AddChildView(table_parent);
|
| @@ -147,6 +149,12 @@ base::string16 DevicePermissionsDialogView::GetDialogButtonLabel(
|
| return views::DialogDelegateView::GetDialogButtonLabel(button);
|
| }
|
|
|
| +bool DevicePermissionsDialogView::IsDialogButtonEnabled(
|
| + ui::DialogButton button) const {
|
| + return button != ui::DIALOG_BUTTON_OK ||
|
| + !table_view_->selection_model().empty();
|
| +}
|
| +
|
| ui::ModalType DevicePermissionsDialogView::GetModalType() const {
|
| return ui::MODAL_TYPE_CHILD;
|
| }
|
| @@ -159,6 +167,10 @@ gfx::Size DevicePermissionsDialogView::GetPreferredSize() const {
|
| return gfx::Size(500, 250);
|
| }
|
|
|
| +void DevicePermissionsDialogView::OnSelectionChanged() {
|
| + GetDialogClientView()->UpdateDialogButtons();
|
| +}
|
| +
|
| void ChromeDevicePermissionsPrompt::ShowDialogViews() {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
|
|
|
|