Commit 81f2d6be authored by Fergal Daly's avatar Fergal Daly Committed by Commit Bot

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

This reverts commit a9b6d2bd.

Reason for revert: Causing builder to fail. First fail was 8 changes after this.

https://ci.chromium.org/p/chromium/builders/ci/Win7%20Tests%20%281%29

Original change's description:
> 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: Elly Fong-Jones <ellyjones@chromium.org>
> Auto-Submit: Peter Boström <pbos@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#819061}

TBR=ellyjones@chromium.org,pbos@chromium.org

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