| Index: chrome/browser/chromeos/frame/bubble_frame_view.cc
|
| diff --git a/chrome/browser/chromeos/frame/bubble_frame_view.cc b/chrome/browser/chromeos/frame/bubble_frame_view.cc
|
| index e8cadede7b82e7e2728b2eb6ace4584212ae6d14..becfb78913fa9ba91786fdd62ded105060757a5f 100644
|
| --- a/chrome/browser/chromeos/frame/bubble_frame_view.cc
|
| +++ b/chrome/browser/chromeos/frame/bubble_frame_view.cc
|
| @@ -38,10 +38,12 @@ BubbleFrameView::BubbleFrameView(views::Window* frame,
|
| close_button_(NULL) {
|
| set_border(new BubbleBorder(BubbleBorder::NONE));
|
|
|
| - title_ = new views::Label(frame_->GetDelegate()->GetWindowTitle());
|
| - title_->SetHorizontalAlignment(views::Label::ALIGN_LEFT);
|
| - title_->SetFont(title_->font().DeriveFont(1, gfx::Font::BOLD));
|
| - AddChildView(title_);
|
| + if (frame_->GetDelegate()->ShouldShowWindowTitle()) {
|
| + title_ = new views::Label(frame_->GetDelegate()->GetWindowTitle());
|
| + title_->SetHorizontalAlignment(views::Label::ALIGN_LEFT);
|
| + title_->SetFont(title_->font().DeriveFont(1, gfx::Font::BOLD));
|
| + AddChildView(title_);
|
| + }
|
|
|
| if (style_ & BubbleWindow::STYLE_XBAR) {
|
| ResourceBundle& rb = ResourceBundle::GetSharedInstance();
|
| @@ -66,16 +68,20 @@ gfx::Rect BubbleFrameView::GetBoundsForClientView() const {
|
| gfx::Rect BubbleFrameView::GetWindowBoundsForClientBounds(
|
| const gfx::Rect& client_bounds) const {
|
| gfx::Insets insets = GetInsets();
|
| - gfx::Size title_size = title_->GetPreferredSize();
|
| + gfx::Size title_size;
|
| + if (title_) {
|
| + title_size = title_->GetPreferredSize();
|
| + }
|
|
|
| gfx::Size close_button_size = gfx::Size();
|
| if (close_button_) {
|
| close_button_size = close_button_->GetPreferredSize();
|
| }
|
|
|
| - int top_height = insets.top() +
|
| - std::max(title_size.height(), close_button_size.height()) +
|
| - kTitleContentPadding;
|
| + int top_height = insets.top();
|
| + if (title_size.height() > 0 || close_button_size.height() > 0)
|
| + top_height += std::max(title_size.height(), close_button_size.height()) +
|
| + kTitleContentPadding;
|
| return gfx::Rect(std::max(0, client_bounds.x() - insets.left()),
|
| std::max(0, client_bounds.y() - top_height),
|
| client_bounds.width() + insets.width(),
|
| @@ -118,27 +124,33 @@ gfx::Size BubbleFrameView::GetPreferredSize() {
|
| void BubbleFrameView::Layout() {
|
| gfx::Insets insets = GetInsets();
|
|
|
| - gfx::Size title_size = title_->GetPreferredSize();
|
| + gfx::Size title_size;
|
| + if (title_) {
|
| + title_size = title_->GetPreferredSize();
|
| + }
|
|
|
| gfx::Size close_button_size = gfx::Size();
|
| if (close_button_) {
|
| close_button_size = close_button_->GetPreferredSize();
|
| }
|
|
|
| - title_->SetBounds(
|
| - insets.left(), insets.top(),
|
| - std::max(0, width() - insets.width() - close_button_size.width()),
|
| - title_size.height());
|
| + if (title_) {
|
| + title_->SetBounds(
|
| + insets.left(), insets.top(),
|
| + std::max(0, width() - insets.width() - close_button_size.width()),
|
| + title_size.height());
|
| + }
|
|
|
| if (close_button_) {
|
| close_button_->SetBounds(
|
| - width() - insets.right() - close_button_size.width(), insets.top(),
|
| + width() - insets.right() - close_button_size.width(), insets.top(),
|
| close_button_size.width(), close_button_size.height());
|
| }
|
|
|
| - int top_height = insets.top() +
|
| - std::max(title_size.height(), close_button_size.height()) +
|
| - kTitleContentPadding;
|
| + int top_height = insets.top();
|
| + if (title_size.height() > 0 || close_button_size.height() > 0)
|
| + top_height += std::max(title_size.height(), close_button_size.height()) +
|
| + kTitleContentPadding;
|
| client_view_bounds_.SetRect(insets.left(), top_height,
|
| std::max(0, width() - insets.width()),
|
| std::max(0, height() - top_height - insets.bottom()));
|
|
|