Commit b052c8e6 authored by oshima@chromium.org's avatar oshima@chromium.org

Remove builtin_padding from LocationBarLayout

This depends on
https://codereview.chromium.org/247193002/

BUG=None

Review URL: https://codereview.chromium.org/250793004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266456 0039d316-1c4b-4281-b951-d872f2087c98
parent 656a261f
......@@ -18,7 +18,6 @@ struct LocationBarDecoration {
double max_fraction,
int edge_item_padding,
int item_padding,
int builtin_padding,
views::View* view);
// The y position of the view inside its parent.
......@@ -43,10 +42,6 @@ struct LocationBarDecoration {
// Padding to use if the decoration follows another decoration.
int item_padding;
// Padding built into the decoration and that should be removed, on
// both sides, during layout.
int builtin_padding;
views::View* view;
// The width computed by the layout process.
......@@ -59,7 +54,6 @@ LocationBarDecoration::LocationBarDecoration(int y,
double max_fraction,
int edge_item_padding,
int item_padding,
int builtin_padding,
views::View* view)
: y(y),
height(height),
......@@ -67,7 +61,6 @@ LocationBarDecoration::LocationBarDecoration(int y,
max_fraction(max_fraction),
edge_item_padding(edge_item_padding),
item_padding(item_padding),
builtin_padding(builtin_padding),
view(view),
computed_width(0) {
DCHECK((max_fraction == 0.0) || (!auto_collapse && (max_fraction > 0.0)));
......@@ -91,20 +84,18 @@ void LocationBarLayout::AddDecoration(int y,
double max_fraction,
int edge_item_padding,
int item_padding,
int builtin_padding,
views::View* view) {
decorations_.push_back(new LocationBarDecoration(
y, height, auto_collapse, max_fraction, edge_item_padding, item_padding,
builtin_padding, view));
view));
}
void LocationBarLayout::AddDecoration(int y,
int height,
int builtin_padding,
views::View* view) {
decorations_.push_back(new LocationBarDecoration(
y, height, false, 0, LocationBarView::kItemPadding,
LocationBarView::kItemPadding, builtin_padding, view));
LocationBarView::kItemPadding, view));
}
void LocationBarLayout::LayoutPass1(int* entry_width) {
......@@ -113,7 +104,7 @@ void LocationBarLayout::LayoutPass1(int* entry_width) {
++i) {
// Autocollapsing decorations are ignored in this pass.
if (!(*i)->auto_collapse) {
*entry_width -= -2 * (*i)->builtin_padding +
*entry_width -=
(first_item ? (*i)->edge_item_padding : (*i)->item_padding);
}
first_item = false;
......@@ -145,7 +136,7 @@ void LocationBarLayout::LayoutPass3(gfx::Rect* bounds, int* available_width) {
++i) {
// Collapse decorations if needed.
if ((*i)->auto_collapse) {
int padding = -2 * (*i)->builtin_padding +
int padding =
(first_visible ? (*i)->edge_item_padding : (*i)->item_padding);
// Try preferred size, if it fails try minimum size, if it fails collapse.
(*i)->computed_width = (*i)->view->GetPreferredSize().width();
......@@ -165,18 +156,15 @@ void LocationBarLayout::LayoutPass3(gfx::Rect* bounds, int* available_width) {
// Layout visible decorations.
if (!(*i)->view->visible())
continue;
int padding = -(*i)->builtin_padding +
int padding =
(first_visible ? (*i)->edge_item_padding : (*i)->item_padding);
first_visible = false;
int x = (position_ == LEFT_EDGE) ? (bounds->x() + padding) :
(bounds->right() - padding - (*i)->computed_width);
(*i)->view->SetBounds(x, (*i)->y, (*i)->computed_width, (*i)->height);
bounds->set_width(bounds->width() - padding - (*i)->computed_width +
(*i)->builtin_padding);
if (position_ == LEFT_EDGE) {
bounds->set_x(
bounds->x() + padding + (*i)->computed_width - (*i)->builtin_padding);
}
bounds->set_width(bounds->width() - padding - (*i)->computed_width);
if (position_ == LEFT_EDGE)
bounds->set_x(bounds->x() + padding + (*i)->computed_width);
}
bounds->set_width(bounds->width() - item_edit_padding_);
if (position_ == LEFT_EDGE)
......
......@@ -38,7 +38,6 @@ class LocationBarLayout {
// - |edge_item_padding|, the padding between the omnibox edge and the item,
// if the item is the first one drawn;
// - |item_padding|, the padding between the previous item and this one;
// - |builtin_padding|, any padding directly built into the item;
// - The |view| corresponding to this decoration, a weak pointer.
// Note that |auto_collapse| can be true if and only if |max_fraction| is 0.
void AddDecoration(int y,
......@@ -47,11 +46,10 @@ class LocationBarLayout {
double max_fraction,
int edge_item_padding,
int item_padding,
int builtin_padding,
views::View* view);
// Add a non-resizable decoration with standard padding.
void AddDecoration(int y, int height, int builtin_padding, views::View* view);
void AddDecoration(int y, int height, views::View* view);
// First pass of decoration layout process. Pass the full width of the
// location bar in |entry_width|. This pass will adjust it to account for
......
......@@ -792,7 +792,7 @@ void LocationBarView::Layout() {
const int bubble_height = std::max(location_height - (kBubblePadding * 2), 0);
if (!keyword.empty() && !is_keyword_hint) {
leading_decorations.AddDecoration(bubble_location_y, bubble_height, true, 0,
kBubblePadding, kItemPadding, 0,
kBubblePadding, kItemPadding,
selected_keyword_view_);
if (selected_keyword_view_->keyword() != keyword) {
selected_keyword_view_->SetKeyword(keyword);
......@@ -819,47 +819,40 @@ void LocationBarView::Layout() {
const double kMaxBubbleFraction = 0.5;
leading_decorations.AddDecoration(bubble_location_y, bubble_height, false,
kMaxBubbleFraction, kBubblePadding,
kItemPadding, 0, ev_bubble_view_);
kItemPadding, ev_bubble_view_);
} else if (!origin_chip_view_->visible()) {
leading_decorations.AddDecoration(
vertical_edge_thickness(), location_height,
0,
location_icon_view_);
}
if (star_view_->visible()) {
trailing_decorations.AddDecoration(
vertical_edge_thickness(), location_height,
0, star_view_);
vertical_edge_thickness(), location_height, star_view_);
}
if (translate_icon_view_->visible()) {
trailing_decorations.AddDecoration(
vertical_edge_thickness(), location_height,
0,
translate_icon_view_);
vertical_edge_thickness(), location_height, translate_icon_view_);
}
if (open_pdf_in_reader_view_->visible()) {
trailing_decorations.AddDecoration(
vertical_edge_thickness(), location_height,
0,
open_pdf_in_reader_view_);
vertical_edge_thickness(), location_height, open_pdf_in_reader_view_);
}
if (manage_passwords_icon_view_->visible()) {
trailing_decorations.AddDecoration(vertical_edge_thickness(),
location_height, 0,
location_height,
manage_passwords_icon_view_);
}
for (PageActionViews::const_iterator i(page_action_views_.begin());
i != page_action_views_.end(); ++i) {
if ((*i)->visible()) {
trailing_decorations.AddDecoration(
vertical_edge_thickness(), location_height,
0, (*i));
vertical_edge_thickness(), location_height, (*i));
}
}
if (zoom_view_->visible()) {
trailing_decorations.AddDecoration(vertical_edge_thickness(),
location_height, 0, zoom_view_);
location_height, zoom_view_);
}
for (ContentSettingViews::const_reverse_iterator i(
content_setting_views_.rbegin()); i != content_setting_views_.rend();
......@@ -867,24 +860,24 @@ void LocationBarView::Layout() {
if ((*i)->visible()) {
trailing_decorations.AddDecoration(
bubble_location_y, bubble_height, false, 0, kItemPadding,
kItemPadding, 0, (*i));
kItemPadding, (*i));
}
}
if (generated_credit_card_view_->visible()) {
trailing_decorations.AddDecoration(vertical_edge_thickness(),
location_height, 0,
location_height,
generated_credit_card_view_);
}
if (mic_search_view_->visible()) {
trailing_decorations.AddDecoration(vertical_edge_thickness(),
location_height, 0, mic_search_view_);
location_height, mic_search_view_);
}
// Because IMEs may eat the tab key, we don't show "press tab to search" while
// IME composition is in progress.
if (!keyword.empty() && is_keyword_hint && !omnibox_view_->IsImeComposing()) {
trailing_decorations.AddDecoration(vertical_edge_thickness(),
location_height, true, 0, kItemPadding,
kItemPadding, 0, keyword_hint_view_);
kItemPadding, keyword_hint_view_);
if (keyword_hint_view_->keyword() != keyword)
keyword_hint_view_->SetKeyword(keyword);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment