| Index: chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
|
| diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
|
| index 9e89bc90cdb452254da1ad7fdacb48287714c193..fb40bef2bf19584b5dbd3d79364e379c28428c51 100644
|
| --- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
|
| +++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
|
| @@ -957,10 +957,13 @@ void BookmarkBarView::Loaded(BookmarkModel* model, bool ids_reassigned) {
|
| DCHECK(model_->other_node());
|
| other_bookmarked_button_->SetAccessibleName(model_->other_node()->GetTitle());
|
| other_bookmarked_button_->SetText(model_->other_node()->GetTitle());
|
| + apps_page_shortcut_->SetAccessibleName(model_->apps_node()->GetTitle());
|
| + apps_page_shortcut_->SetText(model_->apps_node()->GetTitle());
|
| UpdateColors();
|
| UpdateOtherBookmarksVisibility();
|
| other_bookmarked_button_->SetEnabled(true);
|
| -
|
| + UpdateAppsPageShortcutVisibility();
|
| + apps_page_shortcut_->SetEnabled(true);
|
| Layout();
|
| SchedulePaint();
|
| }
|
| @@ -1224,13 +1227,14 @@ void BookmarkBarView::Init() {
|
| AddChildView(other_bookmarked_button_);
|
|
|
| apps_page_shortcut_ = CreateAppsPageShortcutButton();
|
| + // We'll re-enable when the model is loaded.
|
| + other_bookmarked_button_->SetEnabled(false);
|
| AddChildView(apps_page_shortcut_);
|
| profile_pref_registrar_.Init(browser_->profile()->GetPrefs());
|
| profile_pref_registrar_.Add(
|
| prefs::kShowAppsShortcutInBookmarkBar,
|
| base::Bind(&BookmarkBarView::OnAppsPageShortcutVisibilityChanged,
|
| base::Unretained(this)));
|
| - apps_page_shortcut_->SetVisible(ShouldShowAppsShortcut());
|
|
|
| bookmarks_separator_view_ = new ButtonSeparatorView();
|
| AddChildView(bookmarks_separator_view_);
|
| @@ -1327,8 +1331,7 @@ views::View* BookmarkBarView::CreateBookmarkButton(const BookmarkNode* node) {
|
| }
|
|
|
| views::TextButton* BookmarkBarView::CreateAppsPageShortcutButton() {
|
| - views::TextButton* button = new ShortcutButton(
|
| - this, l10n_util::GetStringUTF16(IDS_BOOKMARK_BAR_APPS_SHORTCUT_NAME));
|
| + views::TextButton* button = new ShortcutButton(this, string16());
|
| button->SetTooltipText(l10n_util::GetStringUTF16(
|
| IDS_BOOKMARK_BAR_APPS_SHORTCUT_TOOLTIP));
|
| button->set_id(VIEW_ID_BOOKMARK_BAR_ELEMENT);
|
| @@ -1658,6 +1661,19 @@ void BookmarkBarView::UpdateOtherBookmarksVisibility() {
|
| SchedulePaint();
|
| }
|
|
|
| +void BookmarkBarView::UpdateAppsPageShortcutVisibility() {
|
| + bool visible = model_->IsLoaded() &&
|
| + chrome::search::IsInstantExtendedAPIEnabled() &&
|
| + browser_->profile()->GetPrefs()->GetBoolean(
|
| + prefs::kShowAppsShortcutInBookmarkBar);
|
| + if (visible == apps_page_shortcut_->visible())
|
| + return;
|
| + apps_page_shortcut_->SetVisible(visible);
|
| + UpdateBookmarksSeparatorVisibility();
|
| + Layout();
|
| + SchedulePaint();
|
| +}
|
| +
|
| void BookmarkBarView::UpdateBookmarksSeparatorVisibility() {
|
| // Ash does not paint the bookmarks separator line because it looks odd on
|
| // the flat background. We keep it present for layout, but don't draw it.
|
| @@ -1809,15 +1825,7 @@ gfx::Size BookmarkBarView::LayoutItems(bool compute_bounds_only) {
|
| return prefsize;
|
| }
|
|
|
| -bool BookmarkBarView::ShouldShowAppsShortcut() const {
|
| - return chrome::search::IsInstantExtendedAPIEnabled() &&
|
| - browser_->profile()->GetPrefs()->GetBoolean(
|
| - prefs::kShowAppsShortcutInBookmarkBar);
|
| -}
|
| -
|
| void BookmarkBarView::OnAppsPageShortcutVisibilityChanged() {
|
| DCHECK(apps_page_shortcut_);
|
| - apps_page_shortcut_->SetVisible(ShouldShowAppsShortcut());
|
| - UpdateBookmarksSeparatorVisibility();
|
| - Layout();
|
| + UpdateAppsPageShortcutVisibility();
|
| }
|
|
|