0

views: use CalculatePreferredSize(SizeBounds) in //ui/message_center.

In order to ensure implementation consistency and avoid oversights, we
should unify CalculatePreferredSize() and GetHeightForWidth(). Replace
them with the CalculatePreferredSize(SizeBounds) overload.

Bug: 40232718
Change-Id: I5858a8f8fa6467d44a9628ada4d0116e5ea2202d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5493176
Commit-Queue: Weidong Liu <weidongliu@chromium.org>
Reviewed-by: Justin DeWitt <dewittj@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1294874}
This commit is contained in:
weidongliu
2024-05-01 15:15:32 +00:00
committed by Chromium LUCI CQ
parent 58f48f05ca
commit e98a8bca70
2 changed files with 8 additions and 10 deletions

@ -131,11 +131,10 @@ CompactTitleMessageView::CompactTitleMessageView() {
message_->SetHorizontalAlignment(gfx::ALIGN_RIGHT);
}
gfx::Size CompactTitleMessageView::CalculatePreferredSize() const {
gfx::Size title_size =
title_->GetPreferredSize(views::SizeBounds(title_->width(), {}));
gfx::Size message_size =
message_->GetPreferredSize(views::SizeBounds(message_->width(), {}));
gfx::Size CompactTitleMessageView::CalculatePreferredSize(
const views::SizeBounds& /*available_size*/) const {
gfx::Size title_size = title_->GetPreferredSize();
gfx::Size message_size = message_->GetPreferredSize();
return gfx::Size(title_size.width() + message_size.width() +
kCompactTitleMessageViewSpacing,
std::max(title_size.height(), message_size.height()));
@ -151,10 +150,8 @@ void CompactTitleMessageView::Layout(PassKey) {
// * If they are short enough, the title is left-aligned and the message is
// right-aligned.
const int message_width = std::min(
message_->GetPreferredSize(views::SizeBounds(message_->width(), {}))
.width(),
title_->GetPreferredSize(views::SizeBounds(title_->width(), {})).width() >
0
message_->GetPreferredSize().width(),
title_->GetPreferredSize().width() > 0
? static_cast<int>(kProgressNotificationMessageRatio * width())
: width());
const int title_width =

@ -50,7 +50,8 @@ class CompactTitleMessageView : public views::View {
CompactTitleMessageView& operator=(const CompactTitleMessageView&) = delete;
~CompactTitleMessageView() override;
gfx::Size CalculatePreferredSize() const override;
gfx::Size CalculatePreferredSize(
const views::SizeBounds& /*available_size*/) const override;
void Layout(PassKey) override;
void set_title(const std::u16string& title);