| Index: chrome/browser/ui/views/about_chrome_view.cc
|
| diff --git a/chrome/browser/ui/views/about_chrome_view.cc b/chrome/browser/ui/views/about_chrome_view.cc
|
| index 0e005a60d0b9428be01e3553fc041f6833e3fb97..ed05d5df2f0a2ec059f8e162343e52807abe8578 100644
|
| --- a/chrome/browser/ui/views/about_chrome_view.cc
|
| +++ b/chrome/browser/ui/views/about_chrome_view.cc
|
| @@ -33,6 +33,7 @@
|
| #include "ui/base/l10n/l10n_util.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| #include "ui/gfx/canvas.h"
|
| +#include "views/controls/button/text_button.h"
|
| #include "views/controls/link.h"
|
| #include "views/controls/textfield/textfield.h"
|
| #include "views/controls/throbber.h"
|
| @@ -401,16 +402,26 @@ void AboutChromeView::Layout() {
|
| timeout_indicator_.SetBounds(throbber_topleft_x, throbber_topleft_y,
|
| sz.width(), sz.height());
|
|
|
| - // The update label should be at the bottom of the screen, to the right of
|
| - // the throbber. We specify width to the end of the dialog because it contains
|
| - // variable length messages.
|
| + // The update label should be at the bottom of the screen, to the right of the
|
| + // throbber. It vertically lines up with the ok button, so we make sure it
|
| + // doesn't extend into the ok button.
|
| sz = update_label_.GetPreferredSize();
|
| int update_label_x = throbber_->x() + throbber_->width() +
|
| views::kRelatedControlHorizontalSpacing;
|
| + views::DialogClientView* dialog_client_view = GetDialogClientView();
|
| + int max_x = parent_bounds.width();
|
| + if (dialog_client_view->ok_button() &&
|
| + dialog_client_view->ok_button()->IsVisible()) {
|
| + max_x = std::min(dialog_client_view->ok_button()->x(), max_x);
|
| + }
|
| + if (dialog_client_view->cancel_button() &&
|
| + dialog_client_view->cancel_button()->IsVisible()) {
|
| + max_x = std::min(dialog_client_view->cancel_button()->x(), max_x);
|
| + }
|
| update_label_.SetHorizontalAlignment(views::Label::ALIGN_LEFT);
|
| update_label_.SetBounds(update_label_x,
|
| throbber_topleft_y + 1,
|
| - parent_bounds.width() - update_label_x,
|
| + std::min(max_x - update_label_x, sz.width()),
|
| sz.height());
|
| }
|
|
|
|
|