Commit c9bd8336 authored by Tetsui Ohkubo's avatar Tetsui Ohkubo Committed by Commit Bot

Relayout on battery status change.

A child label of BatteryView can change their visibility and size.
Also, EnterpriseManagedView can change its visibility.
We have to explicitly call Layout() in ChildPreferredSizeChanged() &
ChildVisibilityChanged().

TEST=manual (connect/disconnect power cable while opening the tray)
BUG=none

Change-Id: Ia1c16669bcdce0740510b7c255642d7985763225
Reviewed-on: https://chromium-review.googlesource.com/959944Reviewed-by: default avatarYoshiki Iguchi <yoshiki@chromium.org>
Commit-Queue: Tetsui Ohkubo <tetsui@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543644}
parent 2161fb90
......@@ -100,6 +100,10 @@ class BatteryView : public views::View, public PowerStatus::Observer {
BatteryView();
~BatteryView() override;
// views::View:
void ChildPreferredSizeChanged(views::View* child) override;
void ChildVisibilityChanged(views::View* child) override;
// PowerStatus::Observer:
void OnPowerStatusChanged() override;
......@@ -142,6 +146,14 @@ BatteryView::~BatteryView() {
PowerStatus::Get()->RemoveObserver(this);
}
void BatteryView::ChildPreferredSizeChanged(views::View* child) {
PreferredSizeChanged();
}
void BatteryView::ChildVisibilityChanged(views::View* child) {
PreferredSizeChanged();
}
void BatteryView::OnPowerStatusChanged() {
Update();
}
......@@ -270,4 +282,12 @@ UnifiedSystemInfoView::UnifiedSystemInfoView()
UnifiedSystemInfoView::~UnifiedSystemInfoView() = default;
void UnifiedSystemInfoView::ChildVisibilityChanged(views::View* child) {
Layout();
}
void UnifiedSystemInfoView::ChildPreferredSizeChanged(views::View* child) {
Layout();
}
} // namespace ash
......@@ -18,6 +18,10 @@ class ASH_EXPORT UnifiedSystemInfoView : public views::View {
UnifiedSystemInfoView();
~UnifiedSystemInfoView() override;
// views::View:
void ChildPreferredSizeChanged(views::View* child) override;
void ChildVisibilityChanged(views::View* child) override;
private:
FRIEND_TEST_ALL_PREFIXES(UnifiedSystemInfoViewTest, EnterpriseManagedVisible);
FRIEND_TEST_ALL_PREFIXES(UnifiedSystemInfoViewTest,
......
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