| Index: chrome/browser/ui/views/location_bar/location_bar_view.cc
|
| diff --git a/chrome/browser/ui/views/location_bar/location_bar_view.cc b/chrome/browser/ui/views/location_bar/location_bar_view.cc
|
| index 4e706add01f95e8234c1ade429b9ef996cc46e3a..3d1cc0261f971489cc44408c64bf195354786e82 100644
|
| --- a/chrome/browser/ui/views/location_bar/location_bar_view.cc
|
| +++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc
|
| @@ -16,6 +16,7 @@
|
| #include "chrome/browser/chrome_to_mobile_service_factory.h"
|
| #include "chrome/browser/command_updater.h"
|
| #include "chrome/browser/defaults.h"
|
| +#include "chrome/browser/extensions/extension_action_util.h"
|
| #include "chrome/browser/extensions/extension_service.h"
|
| #include "chrome/browser/extensions/extension_system.h"
|
| #include "chrome/browser/extensions/location_bar_controller.h"
|
| @@ -113,6 +114,8 @@ const int kBorderCornerRadius = 2;
|
|
|
| const int kDesktopItemPadding = 3;
|
| const int kDesktopEdgeItemPadding = kDesktopItemPadding;
|
| +const int kDesktopScriptBadgeItemPadding = 9;
|
| +const int kDesktopScriptBadgeEdgeItemPadding = kDesktopScriptBadgeItemPadding;
|
|
|
| const int kTouchItemPadding = 8;
|
| const int kTouchEdgeItemPadding = kTouchItemPadding;
|
| @@ -369,13 +372,17 @@ SkColor LocationBarView::GetColor(ToolbarModel::SecurityLevel security_level,
|
| // static
|
| int LocationBarView::GetItemPadding() {
|
| return (ui::GetDisplayLayout() == ui::LAYOUT_TOUCH) ?
|
| - kTouchItemPadding : kDesktopItemPadding;
|
| + kTouchItemPadding :
|
| + extensions::switch_utils::AreScriptBadgesEnabled() ?
|
| + kDesktopScriptBadgeItemPadding : kDesktopItemPadding;
|
| }
|
|
|
| // static
|
| int LocationBarView::GetEdgeItemPadding() {
|
| return (ui::GetDisplayLayout() == ui::LAYOUT_TOUCH) ?
|
| - kTouchEdgeItemPadding : kDesktopEdgeItemPadding;
|
| + kTouchEdgeItemPadding :
|
| + extensions::switch_utils::AreScriptBadgesEnabled() ?
|
| + kDesktopScriptBadgeEdgeItemPadding : kDesktopEdgeItemPadding;
|
| }
|
|
|
| // DropdownBarHostDelegate
|
| @@ -911,6 +918,7 @@ void LocationBarView::OnPaint(gfx::Canvas* canvas) {
|
| radius, paint);
|
| if (action_box_button_view_)
|
| PaintActionBoxBackground(canvas, bounds);
|
| + PaintPageActionBackgrounds(canvas);
|
| } else {
|
| canvas->FillRect(bounds, color);
|
| }
|
| @@ -1215,6 +1223,29 @@ void LocationBarView::PaintActionBoxBackground(gfx::Canvas* canvas,
|
| action_box_button_view_->GetBorderColor());
|
| }
|
|
|
| +void LocationBarView::PaintPageActionBackgrounds(gfx::Canvas* canvas) {
|
| + for (PageActionViews::const_iterator
|
| + page_action_view = page_action_views_.begin();
|
| + page_action_view != page_action_views_.end();
|
| + ++page_action_view) {
|
| + gfx::Rect bounds = (*page_action_view)->bounds();
|
| + int horizontal_padding = GetItemPadding() -
|
| + (*page_action_view)->GetBuiltInHorizontalPadding();
|
| + // Make the bounding rectangle include the whole vertical range of the
|
| + // location bar, and the mid-point pixels between adjacent page actions.
|
| + //
|
| + // For odd horizontal_paddings, "horizontal_padding + 1" includes the
|
| + // mid-point between two page actions in the bounding rectangle. For even
|
| + // paddings, the +1 is dropped, which is right since there is no pixel at
|
| + // the mid-point.
|
| + bounds.Inset(-(horizontal_padding + 1) / 2, 0);
|
| + extensions::PaintBackground(
|
| + *(*page_action_view)->image_view()->page_action(),
|
| + SessionID::IdForTab(GetTabContents()),
|
| + canvas, bounds, *GetThemeProvider());
|
| + }
|
| +}
|
| +
|
| std::string LocationBarView::GetClassName() const {
|
| return kViewClassName;
|
| }
|
|
|