Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(394)

Unified Diff: ui/message_center/views/message_center_view.cc

Issue 18247002: Remove the most obvious dead code from message center. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move MessageCenterButtonBar into cc file to hide implementation. Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/message_center/views/message_center_view.h ('k') | ui/message_center/views/message_popup_bubble.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/message_center/views/message_center_view.cc
diff --git a/ui/message_center/views/message_center_view.cc b/ui/message_center/views/message_center_view.cc
index 59679d5e8e985ea805112ae3183243b31336f8bb..76e5e8b9335d3347dc86d0113dc165bf7e742763 100644
--- a/ui/message_center/views/message_center_view.cc
+++ b/ui/message_center/views/message_center_view.cc
@@ -61,63 +61,7 @@ const int kAnimateClearingNextNotificationDelayMS = 40;
static const int kDefaultFrameRateHz = 60;
static const int kDefaultAnimationDurationMs = 120;
-// PoorMessageCenterButtonBar //////////////////////////////////////////////////
-
-// The view for the buttons at the bottom of the message center window used
-// when kEnableRichNotifications is false (hence the "poor" in the name :-).
-class PoorMessageCenterButtonBar : public MessageCenterButtonBar,
- public views::ButtonListener {
- public:
- PoorMessageCenterButtonBar(MessageCenterView* message_center_view,
- MessageCenter* message_center);
-
- // Overridden from views::ButtonListener:
- virtual void ButtonPressed(views::Button* sender,
- const ui::Event& event) OVERRIDE;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(PoorMessageCenterButtonBar);
-};
-
-PoorMessageCenterButtonBar::PoorMessageCenterButtonBar(
- MessageCenterView* message_center_view, MessageCenter* message_center)
- : MessageCenterButtonBar(message_center_view, message_center) {
- set_background(views::Background::CreateBackgroundPainter(
- true,
- views::Painter::CreateVerticalGradient(kBackgroundLightColor,
- kBackgroundDarkColor)));
- set_border(views::Border::CreateSolidSidedBorder(
- 2, 0, 0, 0, kBorderDarkColor));
-
- views::GridLayout* layout = new views::GridLayout(this);
- SetLayoutManager(layout);
- views::ColumnSet* columns = layout->AddColumnSet(0);
- columns->AddPaddingColumn(100, 0);
- columns->AddColumn(views::GridLayout::TRAILING, views::GridLayout::CENTER,
- 0, /* resize percent */
- views::GridLayout::USE_PREF, 0, 0);
- columns->AddPaddingColumn(0, 4);
-
- ui::ResourceBundle& resource_bundle = ui::ResourceBundle::GetSharedInstance();
- views::LabelButton* close_all_button = new views::LabelButton(
- this, resource_bundle.GetLocalizedString(IDS_MESSAGE_CENTER_CLEAR_ALL));
- close_all_button->SetHorizontalAlignment(gfx::ALIGN_CENTER);
- close_all_button->set_request_focus_on_press(false);
- close_all_button->SetTextColor(views::Button::STATE_NORMAL, kFooterTextColor);
- close_all_button->SetTextColor(views::Button::STATE_HOVERED,
- kButtonTextHoverColor);
-
- layout->AddPaddingRow(0, 4);
- layout->StartRow(0, 0);
- layout->AddView(close_all_button);
- set_close_all_button(close_all_button);
-}
-
-void PoorMessageCenterButtonBar::ButtonPressed(views::Button* sender,
- const ui::Event& event) {
- if (sender == close_all_button())
- message_center_view()->ClearAllNotifications();
-}
+} // namespace
// NotificationCenterButton ////////////////////////////////////////////////////
@@ -167,36 +111,52 @@ void NotificationCenterButton::OnPaintFocusBorder(gfx::Canvas* canvas) {
}
}
-// RichMessageCenterButtonBar //////////////////////////////////////////////////
+// MessageCenterButtonBar //////////////////////////////////////////////////
-// TODO(mukai): Merge this into MessageCenterButtonBar and get rid of
-// PoorMessageCenterButtonBar when the kEnableRichNotifications flag disappears.
-class RichMessageCenterButtonBar : public MessageCenterButtonBar,
- public views::ButtonListener {
+class MessageCenterButtonBar : public views::View,
+ public views::ButtonListener {
public:
- RichMessageCenterButtonBar(MessageCenterView* message_center_view,
- MessageCenter* message_center);
+ MessageCenterButtonBar(MessageCenterView* message_center_view,
+ MessageCenter* message_center);
+ virtual ~MessageCenterButtonBar();
- private:
- // Overridden from MessageCenterButtonBar:
- virtual void SetAllButtonsEnabled(bool enabled) OVERRIDE;
+ virtual void SetAllButtonsEnabled(bool enabled);
+ void SetCloseAllVisible(bool visible);
+ private:
// Overridden from views::View:
virtual void ChildVisibilityChanged(views::View* child) OVERRIDE;
// Overridden from views::ButtonListener:
- virtual void ButtonPressed(views::Button* sender,
- const ui::Event& event) OVERRIDE;
+ virtual void ButtonPressed(views::Button* sender, const ui::Event& event)
+ OVERRIDE;
+ MessageCenterView* message_center_view() const {
+ return message_center_view_;
+ }
+ MessageCenter* message_center() const { return message_center_; }
+ MessageCenterTray* tray() const { return tray_; }
+ views::Button* close_all_button() const { return close_all_button_; }
+ void set_close_all_button(views::Button* button) {
+ close_all_button_ = button;
+ }
+
+ MessageCenterView* message_center_view_; // Weak reference.
+ MessageCenter* message_center_; // Weak reference.
+ MessageCenterTray* tray_; // Weak reference.
+ views::Button* close_all_button_;
NotificationCenterButton* settings_button_;
NotificationCenterButton* quiet_mode_button_;
- DISALLOW_COPY_AND_ASSIGN(RichMessageCenterButtonBar);
+ DISALLOW_COPY_AND_ASSIGN(MessageCenterButtonBar);
};
-RichMessageCenterButtonBar::RichMessageCenterButtonBar(
- MessageCenterView* message_center_view, MessageCenter* message_center)
- : MessageCenterButtonBar(message_center_view, message_center) {
+MessageCenterButtonBar::MessageCenterButtonBar(
+ MessageCenterView* message_center_view,
+ MessageCenter* message_center)
+ : message_center_view_(message_center_view),
+ message_center_(message_center),
+ close_all_button_(NULL) {
if (get_use_acceleration_when_possible())
SetPaintToLayer(true);
set_background(views::Background::CreateSolidBackground(
@@ -265,21 +225,28 @@ RichMessageCenterButtonBar::RichMessageCenterButtonBar(
layout->AddView(button_container);
}
-// Overridden from MessageCenterButtonBar:
-void RichMessageCenterButtonBar::SetAllButtonsEnabled(bool enabled) {
- MessageCenterButtonBar::SetAllButtonsEnabled(enabled);
+MessageCenterButtonBar::~MessageCenterButtonBar() {}
+
+void MessageCenterButtonBar::SetAllButtonsEnabled(bool enabled) {
+ if (close_all_button_)
+ close_all_button_->SetEnabled(enabled);
settings_button_->SetEnabled(enabled);
quiet_mode_button_->SetEnabled(enabled);
}
+void MessageCenterButtonBar::SetCloseAllVisible(bool visible) {
+ if (close_all_button_)
+ close_all_button_->SetVisible(visible);
+}
+
// Overridden from views::View:
-void RichMessageCenterButtonBar::ChildVisibilityChanged(views::View* child) {
+void MessageCenterButtonBar::ChildVisibilityChanged(views::View* child) {
InvalidateLayout();
}
// Overridden from views::ButtonListener:
-void RichMessageCenterButtonBar::ButtonPressed(views::Button* sender,
- const ui::Event& event) {
+void MessageCenterButtonBar::ButtonPressed(views::Button* sender,
+ const ui::Event& event) {
if (sender == close_all_button()) {
message_center_view()->ClearAllNotifications();
} else if (sender == settings_button_) {
@@ -322,11 +289,9 @@ BoundedScrollView::BoundedScrollView(int min_height, int max_height)
set_notify_enter_exit_on_child(true);
// Cancels the default dashed focus border.
set_focus_border(NULL);
- if (IsRichNotificationEnabled()) {
- set_background(views::Background::CreateSolidBackground(
- kMessageCenterBackgroundColor));
- SetVerticalScrollBar(new views::OverlayScrollBar(false));
- }
+ set_background(
+ views::Background::CreateSolidBackground(kMessageCenterBackgroundColor));
+ SetVerticalScrollBar(new views::OverlayScrollBar(false));
}
gfx::Size BoundedScrollView::GetPreferredSize() {
@@ -403,67 +368,20 @@ void NoNotificationMessageView::Layout() {
label_->SetBounds(0, margin, width(), text_height);
}
-} // namespace
-
-// MessageListView /////////////////////////////////////////////////////////////
-
-// Displays a list of messages.
-class MessageListView : public views::View {
- public:
- explicit MessageListView(MessageCenterView* message_center_view);
-
- // The interface for repositioning.
- virtual void AddNotificationAt(views::View* view, int i);
- virtual void RemoveNotificationAt(int i);
- virtual void UpdateNotificationAt(views::View* view, int i);
- virtual void SetRepositionTarget(const gfx::Rect& target_rect) {}
- virtual void ResetRepositionSession() {}
- virtual void ClearAllNotifications(const gfx::Rect& visible_scroll_rect);
-
- protected:
- MessageCenterView* message_center_view() const {
- return message_center_view_;
- }
-
- private:
- MessageCenterView* message_center_view_; // Weak reference.
-
- DISALLOW_COPY_AND_ASSIGN(MessageListView);
-};
-
-MessageListView::MessageListView(MessageCenterView* message_center_view)
- : message_center_view_(message_center_view) {
- views::BoxLayout* layout =
- new views::BoxLayout(views::BoxLayout::kVertical, 0, 0, 1);
- layout->set_spread_blank_space(true);
- SetLayoutManager(layout);
-}
-
-void MessageListView::AddNotificationAt(views::View* view, int i) {
- AddChildViewAt(view, i);
-}
-
-void MessageListView::RemoveNotificationAt(int i) {
- delete child_at(i);
-}
-
-void MessageListView::UpdateNotificationAt(views::View* view, int i) {
- delete child_at(i);
- AddChildViewAt(view, i);
-}
-
-void MessageListView::ClearAllNotifications(
- const gfx::Rect& visible_scroll_rect) {
- message_center_view_->OnAllNotificationsCleared();
-}
-
// Displays a list of messages for rich notifications. It also supports
// repositioning.
-class RichMessageListView : public MessageListView,
- public views::BoundsAnimatorObserver {
+class MessageListView : public views::View,
+ public views::BoundsAnimatorObserver {
public:
- explicit RichMessageListView(MessageCenterView* message_center_view);
- virtual ~RichMessageListView();
+ explicit MessageListView(MessageCenterView* message_center_view);
+ virtual ~MessageListView();
+
+ void AddNotificationAt(views::View* view, int i);
+ void RemoveNotificationAt(int i);
+ void UpdateNotificationAt(views::View* view, int i);
+ void SetRepositionTarget(const gfx::Rect& target_rect);
+ void ResetRepositionSession();
+ void ClearAllNotifications(const gfx::Rect& visible_scroll_rect);
protected:
// Overridden from views::View.
@@ -473,15 +391,6 @@ class RichMessageListView : public MessageListView,
virtual void PaintChildren(gfx::Canvas* canvas) OVERRIDE;
virtual void ReorderChildLayers(ui::Layer* parent_layer) OVERRIDE;
- // Overridden from MessageListView.
- virtual void AddNotificationAt(views::View* view, int i) OVERRIDE;
- virtual void RemoveNotificationAt(int i) OVERRIDE;
- virtual void UpdateNotificationAt(views::View* view, int i) OVERRIDE;
- virtual void SetRepositionTarget(const gfx::Rect& target_rect) OVERRIDE;
- virtual void ResetRepositionSession() OVERRIDE;
- virtual void ClearAllNotifications(
- const gfx::Rect& visible_scroll_rect) OVERRIDE;
-
// Overridden from views::BoundsAnimatorObserver.
virtual void OnBoundsAnimatorProgressed(
views::BoundsAnimator* animator) OVERRIDE;
@@ -489,6 +398,10 @@ class RichMessageListView : public MessageListView,
private:
// Returns the actual index for child of |index|.
+ // MessageListView allows to slide down upper notifications, which means
+ // that the upper ones should come above the lower ones. To achieve this,
+ // inversed order is adopted. The top most notification is the last child,
+ // and the bottom most notification is the first child.
int GetActualIndex(int index);
bool IsValidChild(views::View* child);
void DoUpdateIfPossible();
@@ -498,12 +411,14 @@ class RichMessageListView : public MessageListView,
// Animate clearing one notification.
void AnimateClearingOneNotification();
+ MessageCenterView* message_center_view() const {
+ return message_center_view_;
+ }
+ MessageCenterView* message_center_view_; // Weak reference.
// The top position of the reposition target rectangle.
int reposition_top_;
-
int fixed_height_;
-
bool has_deferred_task_;
bool clear_all_started_;
std::set<views::View*> adding_views_;
@@ -511,18 +426,23 @@ class RichMessageListView : public MessageListView,
std::set<views::View*> deleted_when_done_;
std::list<views::View*> clearing_all_views_;
scoped_ptr<views::BoundsAnimator> animator_;
- base::WeakPtrFactory<RichMessageListView> weak_ptr_factory_;
+ base::WeakPtrFactory<MessageListView> weak_ptr_factory_;
- DISALLOW_COPY_AND_ASSIGN(RichMessageListView);
+ DISALLOW_COPY_AND_ASSIGN(MessageListView);
};
-RichMessageListView::RichMessageListView(MessageCenterView* message_center_view)
- : MessageListView(message_center_view),
+MessageListView::MessageListView(MessageCenterView* message_center_view)
+ : message_center_view_(message_center_view),
reposition_top_(-1),
fixed_height_(0),
has_deferred_task_(false),
clear_all_started_(false),
weak_ptr_factory_(this) {
+ views::BoxLayout* layout =
+ new views::BoxLayout(views::BoxLayout::kVertical, 0, 0, 1);
+ layout->set_spread_blank_space(true);
+ SetLayoutManager(layout);
+
// Set the margin to 0 for the layout. BoxLayout assumes the same margin
// for top and bottom, but the bottom margin here should be smaller
// because of the shadow of message view. Use an empty border instead
@@ -537,12 +457,12 @@ RichMessageListView::RichMessageListView(MessageCenterView* message_center_view)
kMarginBetweenItems - shadow_insets.right() /* right */ ));
}
-RichMessageListView::~RichMessageListView() {
+MessageListView::~MessageListView() {
if (animator_.get())
animator_->RemoveObserver(this);
}
-void RichMessageListView::Layout() {
+void MessageListView::Layout() {
if (animator_.get())
return;
@@ -561,7 +481,7 @@ void RichMessageListView::Layout() {
}
}
-void RichMessageListView::AddNotificationAt(views::View* view, int i) {
+void MessageListView::AddNotificationAt(views::View* view, int i) {
AddChildViewAt(view, GetActualIndex(i));
if (GetContentsBounds().IsEmpty())
return;
@@ -570,7 +490,7 @@ void RichMessageListView::AddNotificationAt(views::View* view, int i) {
DoUpdateIfPossible();
}
-void RichMessageListView::RemoveNotificationAt(int i) {
+void MessageListView::RemoveNotificationAt(int i) {
views::View* child = child_at(GetActualIndex(i));
if (GetContentsBounds().IsEmpty()) {
delete child;
@@ -586,7 +506,7 @@ void RichMessageListView::RemoveNotificationAt(int i) {
}
}
-void RichMessageListView::UpdateNotificationAt(views::View* view, int i) {
+void MessageListView::UpdateNotificationAt(views::View* view, int i) {
int actual_index = GetActualIndex(i);
views::View* child = child_at(actual_index);
if (animator_.get())
@@ -603,7 +523,7 @@ void RichMessageListView::UpdateNotificationAt(views::View* view, int i) {
DoUpdateIfPossible();
}
-gfx::Size RichMessageListView::GetPreferredSize() {
+gfx::Size MessageListView::GetPreferredSize() {
int width = 0;
for (int i = 0; i < child_count(); i++) {
views::View* child = child_at(i);
@@ -615,7 +535,7 @@ gfx::Size RichMessageListView::GetPreferredSize() {
GetHeightForWidth(width + GetInsets().width()));
}
-int RichMessageListView::GetHeightForWidth(int width) {
+int MessageListView::GetHeightForWidth(int width) {
if (fixed_height_ > 0)
return fixed_height_;
@@ -633,7 +553,7 @@ int RichMessageListView::GetHeightForWidth(int width) {
return height + GetInsets().height();
}
-void RichMessageListView::PaintChildren(gfx::Canvas* canvas) {
+void MessageListView::PaintChildren(gfx::Canvas* canvas) {
// Paint in the inversed order. Otherwise upper notification may be
// hidden by the lower one.
for (int i = child_count() - 1; i >= 0; --i) {
@@ -642,7 +562,7 @@ void RichMessageListView::PaintChildren(gfx::Canvas* canvas) {
}
}
-void RichMessageListView::ReorderChildLayers(ui::Layer* parent_layer) {
+void MessageListView::ReorderChildLayers(ui::Layer* parent_layer) {
// Reorder children to stack the last child layer at the top. Otherwise
// upper notification may be hidden by the lower one.
for (int i = 0; i < child_count(); ++i) {
@@ -651,12 +571,12 @@ void RichMessageListView::ReorderChildLayers(ui::Layer* parent_layer) {
}
}
-void RichMessageListView::SetRepositionTarget(const gfx::Rect& target) {
+void MessageListView::SetRepositionTarget(const gfx::Rect& target) {
reposition_top_ = target.y();
fixed_height_ = GetHeightForWidth(width());
}
-void RichMessageListView::ResetRepositionSession() {
+void MessageListView::ResetRepositionSession() {
// Don't call DoUpdateIfPossible(), but let Layout() do the task without
// animation. Reset will cause the change of the bubble size itself, and
// animation from the old location will look weird.
@@ -674,7 +594,7 @@ void RichMessageListView::ResetRepositionSession() {
fixed_height_ = 0;
}
-void RichMessageListView::ClearAllNotifications(
+void MessageListView::ClearAllNotifications(
const gfx::Rect& visible_scroll_rect) {
for (int i = 0; i < child_count(); ++i) {
views::View* child = child_at(i);
@@ -687,7 +607,7 @@ void RichMessageListView::ClearAllNotifications(
DoUpdateIfPossible();
}
-void RichMessageListView::OnBoundsAnimatorProgressed(
+void MessageListView::OnBoundsAnimatorProgressed(
views::BoundsAnimator* animator) {
DCHECK_EQ(animator_.get(), animator);
for (std::set<views::View*>::iterator iter = deleted_when_done_.begin();
@@ -698,8 +618,7 @@ void RichMessageListView::OnBoundsAnimatorProgressed(
}
}
-void RichMessageListView::OnBoundsAnimatorDone(
- views::BoundsAnimator* animator) {
+void MessageListView::OnBoundsAnimatorDone(views::BoundsAnimator* animator) {
STLDeleteContainerPointers(
deleted_when_done_.begin(), deleted_when_done_.end());
deleted_when_done_.clear();
@@ -718,19 +637,19 @@ void RichMessageListView::OnBoundsAnimatorDone(
GetWidget()->SynthesizeMouseMoveEvent();
}
-int RichMessageListView::GetActualIndex(int index) {
+int MessageListView::GetActualIndex(int index) {
for (int i = 0; i < child_count() && i <= index; ++i)
index += IsValidChild(child_at(i)) ? 0 : 1;
return std::min(index, child_count());
}
-bool RichMessageListView::IsValidChild(views::View* child) {
+bool MessageListView::IsValidChild(views::View* child) {
return child->visible() &&
- deleting_views_.find(child) == deleting_views_.end() &&
- deleted_when_done_.find(child) == deleted_when_done_.end();
+ deleting_views_.find(child) == deleting_views_.end() &&
+ deleted_when_done_.find(child) == deleted_when_done_.end();
}
-void RichMessageListView::DoUpdateIfPossible() {
+void MessageListView::DoUpdateIfPossible() {
gfx::Rect child_area = GetContentsBounds();
if (child_area.IsEmpty())
return;
@@ -774,9 +693,7 @@ void RichMessageListView::DoUpdateIfPossible() {
deleting_views_.clear();
}
-void RichMessageListView::AnimateChild(views::View* child,
- int top,
- int height) {
+void MessageListView::AnimateChild(views::View* child, int top, int height) {
gfx::Rect child_area = GetContentsBounds();
if (adding_views_.find(child) != adding_views_.end()) {
child->SetBounds(child_area.right(), top, child_area.width(), height);
@@ -796,7 +713,7 @@ void RichMessageListView::AnimateChild(views::View* child,
}
}
-void RichMessageListView::AnimateClearingOneNotification() {
+void MessageListView::AnimateClearingOneNotification() {
DCHECK(!clearing_all_views_.empty());
clear_all_started_ = true;
@@ -813,35 +730,13 @@ void RichMessageListView::AnimateClearingOneNotification() {
if (!clearing_all_views_.empty()) {
base::MessageLoop::current()->PostDelayedTask(
FROM_HERE,
- base::Bind(&RichMessageListView::AnimateClearingOneNotification,
- weak_ptr_factory_.GetWeakPtr()),
+ base::Bind(&MessageListView::AnimateClearingOneNotification,
+ weak_ptr_factory_.GetWeakPtr()),
base::TimeDelta::FromMilliseconds(
kAnimateClearingNextNotificationDelayMS));
}
}
-// MessageCenterButtonBar //////////////////////////////////////////////////////
-
-MessageCenterButtonBar::MessageCenterButtonBar(
- MessageCenterView* message_center_view, MessageCenter* message_center)
- : message_center_view_(message_center_view),
- message_center_(message_center),
- close_all_button_(NULL) {
-}
-
-MessageCenterButtonBar::~MessageCenterButtonBar() {
-}
-
-void MessageCenterButtonBar::SetAllButtonsEnabled(bool enabled) {
- if (close_all_button_)
- close_all_button_->SetEnabled(enabled);
-}
-
-void MessageCenterButtonBar::SetCloseAllVisible(bool visible) {
- if (close_all_button_)
- close_all_button_->SetVisible(visible);
-}
-
// MessageCenterView ///////////////////////////////////////////////////////////
MessageCenterView::MessageCenterView(MessageCenter* message_center,
@@ -856,10 +751,7 @@ MessageCenterView::MessageCenterView(MessageCenter* message_center,
set_background(views::Background::CreateSolidBackground(
kMessageCenterBackgroundColor));
- if (IsRichNotificationEnabled())
- button_bar_ = new RichMessageCenterButtonBar(this, message_center);
- else
- button_bar_ = new PoorMessageCenterButtonBar(this, message_center);
+ button_bar_ = new MessageCenterButtonBar(this, message_center);
const int button_height = button_bar_->GetPreferredSize().height();
scroller_ = new BoundedScrollView(kMinScrollViewHeight,
@@ -871,8 +763,7 @@ MessageCenterView::MessageCenterView(MessageCenter* message_center,
scroller_->layer()->SetMasksToBounds(true);
}
- message_list_view_ = IsRichNotificationEnabled() ?
- new RichMessageListView(this) : new MessageListView(this);
+ message_list_view_ = new MessageListView(this);
no_notifications_message_view_ = new NoNotificationMessageView();
// Set the default visibility to false, otherwise the notification has slide
// in animation when the center is shown.
@@ -973,7 +864,6 @@ size_t MessageCenterView::NumMessageViewsForTest() const {
}
void MessageCenterView::Layout() {
- int between_child = IsRichNotificationEnabled() ? 0 : 1;
int button_height = button_bar_->GetHeightForWidth(width());
// Skip unnecessary re-layout of contents during the resize animation.
if (settings_transition_animation_ &&
@@ -983,9 +873,8 @@ void MessageCenterView::Layout() {
return;
}
- scroller_->SetBounds(0, 0, width(), height() - button_height - between_child);
- settings_view_->SetBounds(
- 0, 0, width(), height() - button_height - between_child);
+ scroller_->SetBounds(0, 0, width(), height() - button_height);
+ settings_view_->SetBounds(0, 0, width(), height() - button_height);
bool is_scrollable = false;
if (scroller_->visible())
« no previous file with comments | « ui/message_center/views/message_center_view.h ('k') | ui/message_center/views/message_popup_bubble.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698