0

views: use CalculatePreferredSize(SizeBounds) in //chromeos.

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: I15fc9259b2054a4fd3adc3ee44f79dc12531b90b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5482447
Commit-Queue: Weidong Liu <weidongliu@chromium.org>
Reviewed-by: Denis Kuznetsov <antrim@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1291919}
This commit is contained in:
weidongliu
2024-04-24 16:27:28 +00:00
committed by Chromium LUCI CQ
parent 9748c0258a
commit 07bb45ddd9
6 changed files with 17 additions and 9 deletions

@ -282,8 +282,11 @@ void PasswordAuthView::ContentsChanged(const std::u16string& new_contents) {
base::UTF16ToUTF8(login_textfield_->GetText())});
}
gfx::Size PasswordAuthView::CalculatePreferredSize() const {
gfx::Size size = views::View::CalculatePreferredSize();
gfx::Size PasswordAuthView::CalculatePreferredSize(
const views::SizeBounds& available_size) const {
views::SizeBounds content_available_size(available_size);
content_available_size.set_width(kPasswordTotalWidthDp);
gfx::Size size = views::View::CalculatePreferredSize(available_size);
size.set_width(kPasswordTotalWidthDp);
return size;
}

@ -57,7 +57,8 @@ class PasswordAuthView : public FactorAuthView,
// views::View:
bool OnKeyPressed(const ui::KeyEvent& event) override;
gfx::Size CalculatePreferredSize() const override;
gfx::Size CalculatePreferredSize(
const views::SizeBounds& available_size) const override;
// ImeControllerImpl::Observer
void OnCapsLockChanged(bool enabled) override;

@ -128,8 +128,9 @@ void FrameCenterButton::SetText(std::optional<std::u16string> text) {
// (v) The margin between the text and the sub icon (kMarginBetweenContents)
// (vi) The left semicircle of the sub icon (sub_icon_image_->width() / 2)
// (vii) The right semicircle of the sub icon (views::kCaptionButtonWidth / 2)
gfx::Size FrameCenterButton::CalculatePreferredSize() const {
gfx::Size size = views::View::CalculatePreferredSize();
gfx::Size FrameCenterButton::CalculatePreferredSize(
const views::SizeBounds& available_size) const {
gfx::Size size = views::View::CalculatePreferredSize(available_size);
if (chromeos::features::IsJellyEnabled()) {
size.set_width(

@ -43,7 +43,8 @@ class COMPONENT_EXPORT(CHROMEOS_UI_FRAME) FrameCenterButton
// views::View override:
// Unlike other caption buttons, the size should be calculated dynamically as
// this class may have an optional text and sub image.
gfx::Size CalculatePreferredSize() const override;
gfx::Size CalculatePreferredSize(
const views::SizeBounds& available_size) const override;
// views::FrameCaptionButton override:
void DrawHighlight(gfx::Canvas* canvas, cc::PaintFlags flags) override;

@ -149,8 +149,9 @@ views::View::Views NonClientFrameViewBase::GetChildrenInZOrder() {
return header_view_->GetFrameHeader()->GetAdjustedChildrenInZOrder(this);
}
gfx::Size NonClientFrameViewBase::CalculatePreferredSize() const {
gfx::Size pref = frame_->client_view()->GetPreferredSize({});
gfx::Size NonClientFrameViewBase::CalculatePreferredSize(
const views::SizeBounds& available_size) const {
gfx::Size pref = frame_->client_view()->GetPreferredSize(available_size);
gfx::Rect bounds(0, 0, pref.width(), pref.height());
return frame_->non_client_view()
->GetWindowBoundsForClientBounds(bounds)

@ -45,7 +45,8 @@ class NonClientFrameViewBase : public views::NonClientFrameView,
void UpdateWindowTitle() override;
void SizeConstraintsChanged() override;
views::View::Views GetChildrenInZOrder() override;
gfx::Size CalculatePreferredSize() const override;
gfx::Size CalculatePreferredSize(
const views::SizeBounds& available_size) const override;
void Layout(PassKey) override;
gfx::Size GetMinimumSize() const override;
gfx::Size GetMaximumSize() const override;