| Index: chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc
|
| diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc
|
| index ca52a4507855165aeda92a43ae2258eb3510d169..36dd670885b608b662ebaf6211ba21d1e58fa50a 100644
|
| --- a/chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc
|
| +++ b/chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc
|
| @@ -13,8 +13,6 @@
|
| #include "chrome/browser/bookmarks/bookmark_utils.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/ui/bookmarks/bookmark_editor.h"
|
| -#include "chrome/browser/ui/browser.h"
|
| -#include "chrome/browser/ui/browser_list.h"
|
| #include "chrome/browser/ui/views/bookmarks/bookmark_bubble_view_observer.h"
|
| #include "content/public/browser/user_metrics.h"
|
| #include "grit/generated_resources.h"
|
| @@ -41,6 +39,12 @@ namespace {
|
| // Minimum width of the the bubble.
|
| const int kMinBubbleWidth = 350;
|
|
|
| +// Top padding of the bubble.
|
| +const int kBubbleTopPadding = 12;
|
| +
|
| +// Width of the border of a button.
|
| +const int kControlBorderWidth = 2;
|
| +
|
| } // namespace
|
|
|
| // Declared in browser_dialogs.h so callers don't have to depend on our header.
|
| @@ -51,9 +55,14 @@ void ShowBookmarkBubbleView(views::View* anchor_view,
|
| BookmarkBubbleViewObserver* observer,
|
| Profile* profile,
|
| const GURL& url,
|
| - bool newly_bookmarked) {
|
| - BookmarkBubbleView::ShowBubble(anchor_view, observer, profile, url,
|
| - newly_bookmarked);
|
| + bool newly_bookmarked,
|
| + views::View* sync_promo_view) {
|
| + BookmarkBubbleView::ShowBubble(anchor_view,
|
| + observer,
|
| + profile,
|
| + url,
|
| + newly_bookmarked,
|
| + sync_promo_view);
|
| }
|
|
|
| void HideBookmarkBubbleView() {
|
| @@ -75,12 +84,17 @@ void BookmarkBubbleView::ShowBubble(views::View* anchor_view,
|
| BookmarkBubbleViewObserver* observer,
|
| Profile* profile,
|
| const GURL& url,
|
| - bool newly_bookmarked) {
|
| + bool newly_bookmarked,
|
| + views::View* sync_promo_view) {
|
| if (IsShowing())
|
| return;
|
|
|
| - bookmark_bubble_ = new BookmarkBubbleView(anchor_view, observer, profile, url,
|
| - newly_bookmarked);
|
| + bookmark_bubble_ = new BookmarkBubbleView(anchor_view,
|
| + observer,
|
| + profile,
|
| + url,
|
| + newly_bookmarked,
|
| + sync_promo_view);
|
| views::BubbleDelegateView::CreateBubble(bookmark_bubble_)->Show();
|
| // Select the entire title textfield contents when the bubble is first shown.
|
| bookmark_bubble_->title_tf_->SelectAll(true);
|
| @@ -123,7 +137,7 @@ void BookmarkBubbleView::WindowClosing() {
|
|
|
| if (observer_)
|
| observer_->OnBookmarkBubbleHidden();
|
| - }
|
| +}
|
|
|
| bool BookmarkBubbleView::AcceleratorPressed(
|
| const ui::Accelerator& accelerator) {
|
| @@ -172,14 +186,22 @@ void BookmarkBubbleView::Init() {
|
| GridLayout* layout = new GridLayout(this);
|
| SetLayoutManager(layout);
|
|
|
| - const int kTitleColumnSetID = 0;
|
| - ColumnSet* cs = layout->AddColumnSet(kTitleColumnSetID);
|
| + // Column sets used in the layout of the bubble.
|
| + enum ColumnSetID {
|
| + TITLE_COLUMN_SET_ID,
|
| + CONTENT_COLUMN_SET_ID,
|
| + SYNC_PROMO_COLUMN_SET_ID
|
| + };
|
| +
|
| + ColumnSet* cs = layout->AddColumnSet(TITLE_COLUMN_SET_ID);
|
| + cs->AddPaddingColumn(0, views::kButtonHEdgeMarginNew);
|
| cs->AddColumn(GridLayout::CENTER, GridLayout::CENTER, 0, GridLayout::USE_PREF,
|
| 0, 0);
|
| + cs->AddPaddingColumn(0, views::kButtonHEdgeMarginNew);
|
|
|
| // The column layout used for middle and bottom rows.
|
| - const int kFirstColumnSetID = 1;
|
| - cs = layout->AddColumnSet(kFirstColumnSetID);
|
| + cs = layout->AddColumnSet(CONTENT_COLUMN_SET_ID);
|
| + cs->AddPaddingColumn(0, views::kButtonHEdgeMarginNew);
|
| cs->AddColumn(GridLayout::LEADING, GridLayout::CENTER, 0,
|
| GridLayout::USE_PREF, 0, 0);
|
| cs->AddPaddingColumn(0, views::kUnrelatedControlHorizontalSpacing);
|
| @@ -193,12 +215,13 @@ void BookmarkBubbleView::Init() {
|
| cs->AddPaddingColumn(0, views::kRelatedButtonHSpacing);
|
| cs->AddColumn(GridLayout::LEADING, GridLayout::TRAILING, 0,
|
| GridLayout::USE_PREF, 0, 0);
|
| + cs->AddPaddingColumn(0, views::kButtonHEdgeMarginNew);
|
|
|
| - layout->StartRow(0, kTitleColumnSetID);
|
| + layout->StartRow(0, TITLE_COLUMN_SET_ID);
|
| layout->AddView(title_label);
|
| layout->AddPaddingRow(0, views::kUnrelatedControlHorizontalSpacing);
|
|
|
| - layout->StartRow(0, kFirstColumnSetID);
|
| + layout->StartRow(0, CONTENT_COLUMN_SET_ID);
|
| views::Label* label = new views::Label(
|
| l10n_util::GetStringUTF16(IDS_BOOKMARK_BUBBLE_TITLE_TEXT));
|
| layout->AddView(label);
|
| @@ -208,18 +231,35 @@ void BookmarkBubbleView::Init() {
|
|
|
| layout->AddPaddingRow(0, views::kUnrelatedControlHorizontalSpacing);
|
|
|
| - layout->StartRow(0, kFirstColumnSetID);
|
| + layout->StartRow(0, CONTENT_COLUMN_SET_ID);
|
| layout->AddView(combobox_label);
|
| layout->AddView(parent_combobox_, 5, 1);
|
|
|
| layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing);
|
|
|
| - layout->StartRow(0, kFirstColumnSetID);
|
| + layout->StartRow(0, CONTENT_COLUMN_SET_ID);
|
| layout->SkipColumns(2);
|
| layout->AddView(remove_button_);
|
| layout->AddView(edit_button_);
|
| layout->AddView(close_button_);
|
|
|
| + layout->AddPaddingRow(
|
| + 0,
|
| + views::kUnrelatedControlVerticalSpacing - kControlBorderWidth);
|
| +
|
| + if (sync_promo_view_) {
|
| + // The column layout used for the sync promo.
|
| + cs = layout->AddColumnSet(SYNC_PROMO_COLUMN_SET_ID);
|
| + cs->AddColumn(GridLayout::FILL,
|
| + GridLayout::FILL,
|
| + 1,
|
| + GridLayout::USE_PREF,
|
| + 0,
|
| + 0);
|
| + layout->StartRow(0, SYNC_PROMO_COLUMN_SET_ID);
|
| + layout->AddView(sync_promo_view_);
|
| + }
|
| +
|
| AddAccelerator(ui::Accelerator(ui::VKEY_RETURN, ui::EF_NONE));
|
| }
|
|
|
| @@ -227,7 +267,8 @@ BookmarkBubbleView::BookmarkBubbleView(views::View* anchor_view,
|
| BookmarkBubbleViewObserver* observer,
|
| Profile* profile,
|
| const GURL& url,
|
| - bool newly_bookmarked)
|
| + bool newly_bookmarked,
|
| + views::View* sync_promo_view)
|
| : BubbleDelegateView(anchor_view, views::BubbleBorder::TOP_RIGHT),
|
| observer_(observer),
|
| profile_(profile),
|
| @@ -242,13 +283,14 @@ BookmarkBubbleView::BookmarkBubbleView(views::View* anchor_view,
|
| close_button_(NULL),
|
| title_tf_(NULL),
|
| parent_combobox_(NULL),
|
| + sync_promo_view_(sync_promo_view),
|
| remove_bookmark_(false),
|
| apply_edits_(true) {
|
| const SkColor background_color = GetNativeTheme()->GetSystemColor(
|
| ui::NativeTheme::kColorId_DialogBackground);
|
| set_color(background_color);
|
| set_background(views::Background::CreateSolidBackground(background_color));
|
| - set_margins(gfx::Insets(12, 19, 18, 18));
|
| + set_margins(gfx::Insets(kBubbleTopPadding, 0, 0, 0));
|
| // Compensate for built-in vertical padding in the anchor view's image.
|
| set_anchor_view_insets(gfx::Insets(7, 0, 7, 0));
|
| }
|
|
|