Chromium Code Reviews| Index: chrome/browser/ui/views/extensions/bookmark_app_bubble_view.cc |
| diff --git a/chrome/browser/ui/views/extensions/bookmark_app_bubble_view.cc b/chrome/browser/ui/views/extensions/bookmark_app_bubble_view.cc |
| index 6be015771588aa7ab7085ef3cfc2a9d8718cfe43..8555c6d5ff6416710bfbd8f75d2e15525f06943a 100644 |
| --- a/chrome/browser/ui/views/extensions/bookmark_app_bubble_view.cc |
| +++ b/chrome/browser/ui/views/extensions/bookmark_app_bubble_view.cc |
| @@ -5,6 +5,7 @@ |
| #include "chrome/browser/ui/views/extensions/bookmark_app_bubble_view.h" |
| #include "base/strings/string16.h" |
| +#include "base/strings/string_util.h" |
| #include "base/strings/utf_string_conversions.h" |
| #include "chrome/grit/generated_resources.h" |
| #include "content/public/browser/web_contents.h" |
| @@ -178,6 +179,7 @@ void BookmarkAppBubbleView::Init() { |
| title_tf_ = new views::Textfield(); |
| title_tf_->SetText(web_app_info_.title); |
| + title_tf_->set_controller(this); |
| layout->AddView(title_tf_); |
| layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing); |
| @@ -191,6 +193,7 @@ void BookmarkAppBubbleView::Init() { |
| layout->AddPaddingRow(0, views::kUnrelatedControlVerticalSpacing); |
| AddAccelerator(ui::Accelerator(ui::VKEY_RETURN, ui::EF_NONE)); |
| + UpdateAddButtonState(); |
| } |
| views::View* BookmarkAppBubbleView::GetInitiallyFocusedView() { |
| @@ -221,12 +224,27 @@ void BookmarkAppBubbleView::ButtonPressed(views::Button* sender, |
| HandleButtonPressed(sender); |
| } |
| +void BookmarkAppBubbleView::ContentsChanged( |
| + views::Textfield* sender, |
| + const base::string16& new_contents) { |
| + DCHECK(sender == title_tf_); |
| + UpdateAddButtonState(); |
| +} |
| + |
| void BookmarkAppBubbleView::HandleButtonPressed(views::Button* sender) { |
| if (sender == add_button_) { |
| user_accepted_ = true; |
| - web_app_info_.title = title_tf_->text(); |
| + base::string16 title(title_tf_->text()); |
| + base::TrimWhitespace(title, base::TRIM_ALL, &title); |
| + web_app_info_.title = title; |
| web_app_info_.open_as_window = open_as_window_checkbox_->checked(); |
| } |
| GetWidget()->Close(); |
| } |
| + |
| +void BookmarkAppBubbleView::UpdateAddButtonState() { |
| + base::string16 title(title_tf_->text()); |
| + base::TrimWhitespace(title, base::TRIM_ALL, &title); |
|
Dan Beam
2015/02/06 16:29:28
drive-by nit:
base::string16 GetTrimmedTitle()
benwells
2015/02/06 16:49:28
Done.
|
| + add_button_->SetEnabled(!title.empty()); |
|
Dan Beam
2015/02/06 16:29:28
nit: is this UI only written on views? seems like
benwells
2015/02/06 16:49:28
This is also on cocoa. I haven't made this change
|
| +} |