Files
Simon Hong 7c257e500b [infobar] BraveConfirmInfoBar (3/N): drop InfoBarView base class (#36395)
BraveConfirmInfoBar used to inherit from InfoBarView, so its layout
changed with upstream's features::kInfobarRefresh — vertical centering,
label/link gaps, icon offset and multi-line height all shifted between
the flag-off and flag-on states.

As we're using BraveConfirmInfoBar for our specific info bar only,
we don't need to get suffer from upstream's view change over time.
We can go with our own custom view based on infobars::InfoBar interface.

Replace the base class with direct multi-inheritance from
infobars::InfoBar, views::View and views::ExternalFocusTracker, and
implement Layout / CalculatePreferredSize / OnThemeChanged /
PlatformSpecific* ourselves. The visual is now identical regardless of
the upstream flag and we no longer depend on InfoBarView's internal
structure.

Resolves - subtask of brave/brave-browser#48822

No regressions on existing infobars that uses BraveConfirmInfoBar.
2026-05-14 18:19:39 +09:00
..