Commit a9b6d2bd authored by Peter Boström's avatar Peter Boström Committed by Commit Bot

Use set_fixed_width() in c/b/ui/views dialogs

Does not address subfolders which will be done in separate chunks.

Bug: 1128500
Change-Id: Id3caa97d0d59b4700b888c5bca5f89f69d4c64d1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2485148
Commit-Queue: Peter Boström <pbos@chromium.org>
Reviewed-by: default avatarElly Fong-Jones <ellyjones@chromium.org>
Auto-Submit: Peter Boström <pbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#819061}
parent 62fd7fa3
......@@ -81,17 +81,10 @@ CaretBrowsingDialogDelegate::CaretBrowsingDialogDelegate(
base::UserMetricsAction("Accessibility.CaretBrowsing.CancelDialog"));
};
SetCancelCallback(base::BindOnce(on_cancel));
}
CaretBrowsingDialogDelegate::~CaretBrowsingDialogDelegate() {}
ui::ModalType CaretBrowsingDialogDelegate::GetModalType() const {
return ui::MODAL_TYPE_WINDOW;
SetModalType(ui::MODAL_TYPE_WINDOW);
set_fixed_width(views::LayoutProvider::Get()->GetDistanceMetric(
views::DISTANCE_MODAL_DIALOG_PREFERRED_WIDTH));
}
gfx::Size CaretBrowsingDialogDelegate::CalculatePreferredSize() const {
const int width = ChromeLayoutProvider::Get()->GetDistanceMetric(
views::DISTANCE_MODAL_DIALOG_PREFERRED_WIDTH) -
margins().width();
return gfx::Size(width, GetHeightForWidth(width));
}
CaretBrowsingDialogDelegate::~CaretBrowsingDialogDelegate() = default;
......@@ -26,11 +26,7 @@ class CaretBrowsingDialogDelegate : public views::DialogDelegateView {
delete;
~CaretBrowsingDialogDelegate() override;
// DialogDelegateView.
ui::ModalType GetModalType() const override;
gfx::Size CalculatePreferredSize() const override;
PrefService* pref_service_;
PrefService* const pref_service_;
// Checkbox where the user can say they don't want to be asked when they
// toggle caret browsing next time.
......
......@@ -56,14 +56,6 @@ class ArcAppDialogView : public views::DialogDelegateView,
void ConfirmOrCancelForTest(bool confirm);
private:
// views::WidgetDelegate:
base::string16 GetWindowTitle() const override;
ui::ModalType GetModalType() const override;
bool ShouldShowCloseButton() const override;
// views::View:
gfx::Size CalculatePreferredSize() const override;
// AppIconLoaderDelegate:
void OnAppImageUpdated(const std::string& app_id,
const gfx::ImageSkia& image) override;
......@@ -80,7 +72,6 @@ class ArcAppDialogView : public views::DialogDelegateView,
Profile* const profile_;
const std::string app_id_;
const base::string16 window_title_;
ArcAppConfirmCallback confirm_callback_;
DISALLOW_COPY_AND_ASSIGN(ArcAppDialogView);
......@@ -100,8 +91,8 @@ ArcAppDialogView::ArcAppDialogView(Profile* profile,
ArcAppConfirmCallback confirm_callback)
: profile_(profile),
app_id_(app_id),
window_title_(window_title),
confirm_callback_(std::move(confirm_callback)) {
SetTitle(window_title);
SetButtonLabel(ui::DIALOG_BUTTON_OK, confirm_button_text);
SetButtonLabel(ui::DIALOG_BUTTON_CANCEL, cancel_button_text);
SetAcceptCallback(base::BindOnce(&ArcAppDialogView::OnDialogAccepted,
......@@ -116,6 +107,11 @@ ArcAppDialogView::ArcAppDialogView(Profile* profile,
provider->GetDialogInsetsForContentType(views::TEXT, views::TEXT),
provider->GetDistanceMetric(views::DISTANCE_RELATED_CONTROL_HORIZONTAL)));
SetModalType(ui::MODAL_TYPE_WINDOW);
SetShowCloseButton(false);
set_fixed_width(views::LayoutProvider::Get()->GetDistanceMetric(
views::DISTANCE_MODAL_DIALOG_PREFERRED_WIDTH));
auto icon_view = std::make_unique<views::ImageView>();
icon_view->SetPreferredSize(gfx::Size(kArcAppIconSize, kArcAppIconSize));
icon_view_ = AddChildView(std::move(icon_view));
......@@ -170,18 +166,6 @@ void ArcAppDialogView::ConfirmOrCancelForTest(bool confirm) {
}
}
base::string16 ArcAppDialogView::GetWindowTitle() const {
return window_title_;
}
ui::ModalType ArcAppDialogView::GetModalType() const {
return ui::MODAL_TYPE_WINDOW;
}
bool ArcAppDialogView::ShouldShowCloseButton() const {
return false;
}
void ArcAppDialogView::OnDialogAccepted() {
// The dialog can either be accepted or cancelled, but never both.
DCHECK(confirm_callback_);
......@@ -194,12 +178,6 @@ void ArcAppDialogView::OnDialogCancelled() {
std::move(confirm_callback_).Run(false);
}
gfx::Size ArcAppDialogView::CalculatePreferredSize() const {
const int default_width = views::LayoutProvider::Get()->GetDistanceMetric(
views::DISTANCE_MODAL_DIALOG_PREFERRED_WIDTH);
return gfx::Size(default_width, GetHeightForWidth(default_width));
}
void ArcAppDialogView::OnAppImageUpdated(const std::string& app_id,
const gfx::ImageSkia& image) {
DCHECK_EQ(app_id, app_id_);
......
......@@ -46,13 +46,6 @@ class DataRemovalConfirmationDialog : public views::DialogDelegateView,
DataRemovalConfirmationCallback confirm_data_removal);
~DataRemovalConfirmationDialog() override;
// views::WidgetDelegate:
base::string16 GetWindowTitle() const override;
ui::ModalType GetModalType() const override;
// views::View:
gfx::Size CalculatePreferredSize() const override;
// AppIconLoaderDelegate:
void OnAppImageUpdated(const std::string& app_id,
const gfx::ImageSkia& image) override;
......@@ -79,6 +72,7 @@ DataRemovalConfirmationDialog::DataRemovalConfirmationDialog(
Profile* profile,
DataRemovalConfirmationCallback confirm_callback)
: profile_(profile), confirm_callback_(std::move(confirm_callback)) {
SetTitle(l10n_util::GetStringUTF16(IDS_ARC_DATA_REMOVAL_CONFIRMATION_TITLE));
SetButtonLabel(
ui::DIALOG_BUTTON_OK,
l10n_util::GetStringUTF16(IDS_ARC_DATA_REMOVAL_CONFIRMATION_OK_BUTTON));
......@@ -90,6 +84,10 @@ DataRemovalConfirmationDialog::DataRemovalConfirmationDialog(
SetCancelCallback(
base::BindOnce(run_callback, base::Unretained(this), false));
SetModalType(ui::MODAL_TYPE_WINDOW);
set_fixed_width(views::LayoutProvider::Get()->GetDistanceMetric(
views::DISTANCE_MODAL_DIALOG_PREFERRED_WIDTH));
ChromeLayoutProvider* provider = ChromeLayoutProvider::Get();
std::unique_ptr<views::BoxLayout> layout = std::make_unique<views::BoxLayout>(
......@@ -130,20 +128,6 @@ DataRemovalConfirmationDialog::~DataRemovalConfirmationDialog() {
g_current_data_removal_confirmation = nullptr;
}
base::string16 DataRemovalConfirmationDialog::GetWindowTitle() const {
return l10n_util::GetStringUTF16(IDS_ARC_DATA_REMOVAL_CONFIRMATION_TITLE);
}
ui::ModalType DataRemovalConfirmationDialog::GetModalType() const {
return ui::MODAL_TYPE_WINDOW;
}
gfx::Size DataRemovalConfirmationDialog::CalculatePreferredSize() const {
const int default_width = views::LayoutProvider::Get()->GetDistanceMetric(
views::DISTANCE_MODAL_DIALOG_PREFERRED_WIDTH);
return gfx::Size(default_width, GetHeightForWidth(default_width));
}
void DataRemovalConfirmationDialog::OnAppImageUpdated(
const std::string& app_id,
const gfx::ImageSkia& image) {
......
......@@ -58,6 +58,7 @@ ChromeCleanerDialog::ChromeCleanerDialog(
DCHECK(dialog_controller_);
DCHECK(cleaner_controller_);
SetTitle(IDS_CHROME_CLEANUP_PROMPT_TITLE);
SetButtonLabel(
ui::DIALOG_BUTTON_OK,
l10n_util::GetStringUTF16(IDS_CHROME_CLEANUP_PROMPT_REMOVE_BUTTON_LABEL));
......@@ -77,6 +78,11 @@ ChromeCleanerDialog::ChromeCleanerDialog(
base::Unretained(this),
DialogInteractionResult::kClose));
SetModalType(ui::MODAL_TYPE_WINDOW);
SetShowCloseButton(false);
set_fixed_width(views::LayoutProvider::Get()->GetDistanceMetric(
views::DISTANCE_MODAL_DIALOG_PREFERRED_WIDTH));
ChromeLayoutProvider* layout_provider = ChromeLayoutProvider::Get();
set_margins(
layout_provider->GetDialogInsetsForContentType(views::TEXT, views::TEXT));
......@@ -117,7 +123,6 @@ void ChromeCleanerDialog::Show(Browser* browser) {
DCHECK(browser);
DCHECK(!browser_);
DCHECK(dialog_controller_);
DCHECK(cleaner_controller_);
DCHECK_EQ(safe_browsing::ChromeCleanerController::State::kInfected,
cleaner_controller_->state());
......@@ -133,17 +138,6 @@ void ChromeCleanerDialog::Show(Browser* browser) {
cleaner_controller_->AddObserver(this);
}
// WidgetDelegate overrides.
ui::ModalType ChromeCleanerDialog::GetModalType() const {
return ui::MODAL_TYPE_WINDOW;
}
base::string16 ChromeCleanerDialog::GetWindowTitle() const {
DCHECK(dialog_controller_);
return l10n_util::GetStringUTF16(IDS_CHROME_CLEANUP_PROMPT_TITLE);
}
views::View* ChromeCleanerDialog::GetInitiallyFocusedView() {
// Set focus away from the Remove/OK button to prevent accidental prompt
// acceptance if the user is typing as the dialog appears.
......@@ -151,21 +145,6 @@ views::View* ChromeCleanerDialog::GetInitiallyFocusedView() {
return details_button_;
}
bool ChromeCleanerDialog::ShouldShowCloseButton() const {
return false;
}
// View overrides.
gfx::Size ChromeCleanerDialog::CalculatePreferredSize() const {
const int dialog_width = ChromeLayoutProvider::Get()->GetDistanceMetric(
views::DISTANCE_MODAL_DIALOG_PREFERRED_WIDTH) -
margins().width();
return gfx::Size(dialog_width, GetHeightForWidth(dialog_width));
}
// safe_browsing::ChromeCleanerController::Observer overrides
void ChromeCleanerDialog::OnIdle(
safe_browsing::ChromeCleanerController::IdleReason idle_reason) {
Abort();
......
......@@ -46,16 +46,10 @@ class ChromeCleanerDialog
void Show(Browser* browser);
// views::WidgetDelegate overrides.
ui::ModalType GetModalType() const override;
base::string16 GetWindowTitle() const override;
// views::DialogDelegateView:
views::View* GetInitiallyFocusedView() override;
bool ShouldShowCloseButton() const override;
// views::View overrides.
gfx::Size CalculatePreferredSize() const override;
// safe_browsing::ChromeCleanerController::Observer overrides.
// safe_browsing::ChromeCleanerController::Observer:
void OnIdle(
safe_browsing::ChromeCleanerController::IdleReason idle_reason) override;
void OnScanning() override;
......@@ -77,7 +71,7 @@ class ChromeCleanerDialog
// The pointer will be set to nullptr once the controller has been notified of
// user interaction since the controller can delete itself after that point.
safe_browsing::ChromeCleanerDialogController* dialog_controller_ = nullptr;
safe_browsing::ChromeCleanerController* cleaner_controller_ = nullptr;
safe_browsing::ChromeCleanerController* const cleaner_controller_;
views::LabelButton* details_button_ = nullptr;
views::Checkbox* logs_permission_checkbox_ = nullptr;
......
......@@ -22,6 +22,10 @@ FolderUploadConfirmationView::FolderUploadConfirmationView(
std::vector<ui::SelectedFileInfo> selected_files)
: callback_(std::move(callback)),
selected_files_(std::move(selected_files)) {
SetTitle(l10n_util::GetPluralStringFUTF16(
IDS_CONFIRM_FILE_UPLOAD_TITLE,
base::saturated_cast<int>(selected_files_.size())));
SetButtonLabel(ui::DIALOG_BUTTON_OK,
l10n_util::GetStringUTF16(IDS_CONFIRM_FILE_UPLOAD_OK_BUTTON));
......@@ -41,6 +45,11 @@ FolderUploadConfirmationView::FolderUploadConfirmationView(
},
base::Unretained(this)));
SetModalType(ui::MODAL_TYPE_CHILD);
SetShowCloseButton(false);
set_fixed_width(views::LayoutProvider::Get()->GetDistanceMetric(
views::DISTANCE_MODAL_DIALOG_PREFERRED_WIDTH));
SetLayoutManager(std::make_unique<views::FillLayout>());
auto label = std::make_unique<views::Label>(
l10n_util::GetStringFUTF16(IDS_CONFIRM_FILE_UPLOAD_TEXT,
......@@ -71,31 +80,10 @@ views::Widget* FolderUploadConfirmationView::ShowDialog(
web_contents);
}
base::string16 FolderUploadConfirmationView::GetWindowTitle() const {
return l10n_util::GetPluralStringFUTF16(
IDS_CONFIRM_FILE_UPLOAD_TITLE,
base::saturated_cast<int>(selected_files_.size()));
}
views::View* FolderUploadConfirmationView::GetInitiallyFocusedView() {
return GetCancelButton();
}
bool FolderUploadConfirmationView::ShouldShowCloseButton() const {
return false;
}
gfx::Size FolderUploadConfirmationView::CalculatePreferredSize() const {
const int width = ChromeLayoutProvider::Get()->GetDistanceMetric(
views::DISTANCE_MODAL_DIALOG_PREFERRED_WIDTH) -
margins().width();
return gfx::Size(width, GetHeightForWidth(width));
}
ui::ModalType FolderUploadConfirmationView::GetModalType() const {
return ui::MODAL_TYPE_CHILD;
}
void ShowFolderUploadConfirmationDialog(
const base::FilePath& path,
base::OnceCallback<void(const std::vector<ui::SelectedFileInfo>&)> callback,
......
......@@ -44,20 +44,11 @@ class FolderUploadConfirmationView : public views::DialogDelegateView {
std::vector<ui::SelectedFileInfo> selected_files,
content::WebContents* web_contents);
// views::DialogDelegateView:
base::string16 GetWindowTitle() const override;
// It's really important that this dialog *does not* accept by default /
// when a user presses enter without looking as we're looking for explicit
// approval to share this many files with the site.
views::View* GetInitiallyFocusedView() override;
bool ShouldShowCloseButton() const override;
gfx::Size CalculatePreferredSize() const override;
ui::ModalType GetModalType() const override;
private:
base::OnceCallback<void(const std::vector<ui::SelectedFileInfo>&)> callback_;
std::vector<ui::SelectedFileInfo> selected_files_;
......
......@@ -28,17 +28,20 @@ namespace chrome {
void ShowSettingsResetPrompt(
Browser* browser,
safe_browsing::SettingsResetPromptController* controller) {
SettingsResetPromptDialog* dialog = new SettingsResetPromptDialog(controller);
SettingsResetPromptDialog* dialog =
new SettingsResetPromptDialog(browser, controller);
// The dialog will delete itself, as implemented in
// |DialogDelegateView::DeleteDelegate()|, when its widget is closed.
dialog->Show(browser);
dialog->Show();
}
} // namespace chrome
SettingsResetPromptDialog::SettingsResetPromptDialog(
Browser* browser,
safe_browsing::SettingsResetPromptController* controller)
: browser_(nullptr), controller_(controller) {
: browser_(browser), controller_(controller) {
DCHECK(browser_);
DCHECK(controller_);
SetShowIcon(false);
......@@ -64,11 +67,16 @@ SettingsResetPromptDialog::SettingsResetPromptDialog(
},
base::Unretained(this)));
SetModalType(ui::MODAL_TYPE_WINDOW);
SetShowCloseButton(false);
set_fixed_width(views::LayoutProvider::Get()->GetDistanceMetric(
views::DISTANCE_MODAL_DIALOG_PREFERRED_WIDTH));
set_margins(ChromeLayoutProvider::Get()->GetDialogInsetsForContentType(
views::TEXT, views::TEXT));
SetLayoutManager(std::make_unique<views::FillLayout>());
views::StyledLabel* dialog_label =
views::StyledLabel* const dialog_label =
AddChildView(std::make_unique<views::StyledLabel>());
dialog_label->SetText(controller_->GetMainText());
dialog_label->SetTextContext(views::style::CONTEXT_DIALOG_BODY_TEXT);
......@@ -85,37 +93,16 @@ SettingsResetPromptDialog::~SettingsResetPromptDialog() {
controller_->Close();
}
void SettingsResetPromptDialog::Show(Browser* browser) {
DCHECK(browser);
void SettingsResetPromptDialog::Show() {
DCHECK(controller_);
browser_ = browser;
BrowserView* browser_view = BrowserView::GetBrowserViewForBrowser(browser);
BrowserView* const browser_view =
BrowserView::GetBrowserViewForBrowser(browser_);
constrained_window::CreateBrowserModalDialogViews(
this, browser_view->GetNativeWindow())
->Show();
controller_->DialogShown();
}
// WidgetDelegate overrides.
ui::ModalType SettingsResetPromptDialog::GetModalType() const {
return ui::MODAL_TYPE_WINDOW;
}
bool SettingsResetPromptDialog::ShouldShowCloseButton() const {
return false;
}
base::string16 SettingsResetPromptDialog::GetWindowTitle() const {
return controller_ ? controller_->GetWindowTitle() : base::string16();
}
// View overrides.
gfx::Size SettingsResetPromptDialog::CalculatePreferredSize() const {
const int width = ChromeLayoutProvider::Get()->GetDistanceMetric(
views::DISTANCE_MODAL_DIALOG_PREFERRED_WIDTH) -
margins().width();
return gfx::Size(width, GetHeightForWidth(width));
}
......@@ -17,10 +17,6 @@ namespace safe_browsing {
class SettingsResetPromptController;
}
namespace views {
class View;
}
// A dialog intended for prompting users to reset some of their settings to
// their original default values. The dialog has two sections:
// 1. Main section with an explanation text
......@@ -28,22 +24,18 @@ class View;
// operation.
class SettingsResetPromptDialog : public views::DialogDelegateView {
public:
explicit SettingsResetPromptDialog(
SettingsResetPromptDialog(
Browser* browser,
safe_browsing::SettingsResetPromptController* controller);
~SettingsResetPromptDialog() override;
void Show(Browser* browser);
void Show();
// views::WidgetDelegate overrides.
ui::ModalType GetModalType() const override;
// views::DialogDelegateView:
base::string16 GetWindowTitle() const override;
bool ShouldShowCloseButton() const override;
// views::View overrides.
gfx::Size CalculatePreferredSize() const override;
private:
Browser* browser_;
Browser* const browser_;
safe_browsing::SettingsResetPromptController* controller_;
DISALLOW_COPY_AND_ASSIGN(SettingsResetPromptDialog);
......
......@@ -180,9 +180,10 @@ class SettingsResetPromptDialogCloseTest : public DialogBrowserTest {
ModelParams{SettingType::DEFAULT_SEARCH_ENGINE, 0});
dialog_ = new SettingsResetPromptDialog(
browser(),
new safe_browsing::SettingsResetPromptController(
std::move(model), std::make_unique<BrandcodedDefaultSettings>()));
dialog_->Show(browser());
dialog_->Show();
}
void DismissUi() override { dialog_->Close(); }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment