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(
base::UserMetricsAction("Accessibility.CaretBrowsing.CancelDialog"));
};
SetCancelCallback(base::BindOnce(on_cancel));
}
CaretBrowsingDialogDelegate::~CaretBrowsingDialogDelegate() {}
SetModalType(ui::MODAL_TYPE_WINDOW);
set_fixed_width(views::LayoutProvider::Get()->GetDistanceMetric(
views::DISTANCE_MODAL_DIALOG_PREFERRED_WIDTH));
ui::ModalType CaretBrowsingDialogDelegate::GetModalType() const {
return ui::MODAL_TYPE_WINDOW;
}
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 {
delete;
~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
// toggle caret browsing next time.
......
......@@ -56,6 +56,14 @@ 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;
......@@ -72,6 +80,7 @@ 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);
......@@ -91,8 +100,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,
......@@ -107,11 +116,6 @@ 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));
......@@ -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() {
// The dialog can either be accepted or cancelled, but never both.
DCHECK(confirm_callback_);
......@@ -178,6 +194,12 @@ 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,6 +46,13 @@ 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;
......@@ -72,7 +79,6 @@ 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));
......@@ -84,10 +90,6 @@ 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>(
......@@ -128,6 +130,20 @@ 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,7 +58,6 @@ 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));
......@@ -78,11 +77,6 @@ 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));
......@@ -123,6 +117,7 @@ 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());
......@@ -138,6 +133,17 @@ 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.
......@@ -145,6 +151,21 @@ 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,10 +46,16 @@ class ChromeCleanerDialog
void Show(Browser* browser);
// views::DialogDelegateView:
// views::WidgetDelegate overrides.
ui::ModalType GetModalType() const override;
base::string16 GetWindowTitle() const 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(
safe_browsing::ChromeCleanerController::IdleReason idle_reason) override;
void OnScanning() override;
......@@ -71,7 +77,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* const cleaner_controller_;
safe_browsing::ChromeCleanerController* cleaner_controller_ = nullptr;
views::LabelButton* details_button_ = nullptr;
views::Checkbox* logs_permission_checkbox_ = nullptr;
......
......@@ -22,10 +22,6 @@ 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));
......@@ -45,11 +41,6 @@ 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,
......@@ -80,10 +71,31 @@ 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,11 +44,20 @@ 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,20 +28,17 @@ namespace chrome {
void ShowSettingsResetPrompt(
Browser* browser,
safe_browsing::SettingsResetPromptController* controller) {
SettingsResetPromptDialog* dialog =
new SettingsResetPromptDialog(browser, controller);
SettingsResetPromptDialog* dialog = new SettingsResetPromptDialog(controller);
// The dialog will delete itself, as implemented in
// |DialogDelegateView::DeleteDelegate()|, when its widget is closed.
dialog->Show();
dialog->Show(browser);
}
} // namespace chrome
SettingsResetPromptDialog::SettingsResetPromptDialog(
Browser* browser,
safe_browsing::SettingsResetPromptController* controller)
: browser_(browser), controller_(controller) {
DCHECK(browser_);
: browser_(nullptr), controller_(controller) {
DCHECK(controller_);
SetShowIcon(false);
......@@ -67,16 +64,11 @@ 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* const dialog_label =
views::StyledLabel* dialog_label =
AddChildView(std::make_unique<views::StyledLabel>());
dialog_label->SetText(controller_->GetMainText());
dialog_label->SetTextContext(views::style::CONTEXT_DIALOG_BODY_TEXT);
......@@ -93,16 +85,37 @@ SettingsResetPromptDialog::~SettingsResetPromptDialog() {
controller_->Close();
}
void SettingsResetPromptDialog::Show() {
void SettingsResetPromptDialog::Show(Browser* browser) {
DCHECK(browser);
DCHECK(controller_);
BrowserView* const browser_view =
BrowserView::GetBrowserViewForBrowser(browser_);
browser_ = browser;
BrowserView* 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,6 +17,10 @@ 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
......@@ -24,18 +28,22 @@ class SettingsResetPromptController;
// operation.
class SettingsResetPromptDialog : public views::DialogDelegateView {
public:
SettingsResetPromptDialog(
Browser* browser,
explicit SettingsResetPromptDialog(
safe_browsing::SettingsResetPromptController* controller);
~SettingsResetPromptDialog() override;
void Show();
void Show(Browser* browser);
// views::DialogDelegateView:
// views::WidgetDelegate overrides.
ui::ModalType GetModalType() const override;
base::string16 GetWindowTitle() const override;
bool ShouldShowCloseButton() const override;
// views::View overrides.
gfx::Size CalculatePreferredSize() const override;
private:
Browser* const browser_;
Browser* browser_;
safe_browsing::SettingsResetPromptController* controller_;
DISALLOW_COPY_AND_ASSIGN(SettingsResetPromptDialog);
......
......@@ -180,10 +180,9 @@ 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();
dialog_->Show(browser());
}
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