Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(22)

Unified Diff: chrome/browser/ui/views/extensions/extension_install_dialog_view.h

Issue 2716353003: [Extensions UI] Initially disabled OK button for extension install prompts. (Closed)
Patch Set: Fixing grammar in comments. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/extensions/extension_install_dialog_view.h
diff --git a/chrome/browser/ui/views/extensions/extension_install_dialog_view.h b/chrome/browser/ui/views/extensions/extension_install_dialog_view.h
index fafb61249989c8a65d6fce04bc219cac229b0a8e..227e07b51305cb2960721fd559d68ae94d306572 100644
--- a/chrome/browser/ui/views/extensions/extension_install_dialog_view.h
+++ b/chrome/browser/ui/views/extensions/extension_install_dialog_view.h
@@ -50,6 +50,9 @@ class ExtensionInstallDialogView : public views::DialogDelegateView,
// the contents of the DialogView.
const views::ScrollView* scroll_view() const { return scroll_view_; }
+ // Change the delay of enabling the install button for testing purposes.
+ static void SetInstallDelayForTesting(int timeout_in_ms);
+
private:
// views::View:
void OnNativeThemeChanged(const ui::NativeTheme* theme) override;
@@ -64,6 +67,7 @@ class ExtensionInstallDialogView : public views::DialogDelegateView,
void Layout() override;
gfx::Size GetPreferredSize() const override;
views::View* CreateExtraView() override;
+ bool IsDialogButtonEnabled(ui::DialogButton button) const override;
// views::LinkListener:
void LinkClicked(views::Link* source, int event_flags) override;
@@ -71,6 +75,12 @@ class ExtensionInstallDialogView : public views::DialogDelegateView,
// Initializes the dialog view, adding in permissions if they exist.
void InitView();
+ // Starts a countdown timer to enable installs.
+ void StartTimerToEnableInstall();
+
+ // Enables installs and updates the dialog buttons.
+ void EnableInstall();
+
// Adds permissions of |perm_type| to the dialog view if they exist.
bool AddPermissions(views::GridLayout* layout,
ui::ResourceBundle& rb,
@@ -112,6 +122,12 @@ class ExtensionInstallDialogView : public views::DialogDelegateView,
// has been run.
bool handled_result_;
+ // Used to delay the activation of the install button.
+ base::OneShotTimer timer_;
+
+ // Default to not allow installs.
+ bool install_enabled_ = false;
+
DISALLOW_COPY_AND_ASSIGN(ExtensionInstallDialogView);
};

Powered by Google App Engine
This is Rietveld 408576698