Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6360)

Unified Diff: chrome/browser/ui/views/location_bar/location_bar_view.cc

Issue 10834279: Give request-to-act badges a grey background, and increase spacing to make it fit. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Finish mac support; fix pkasting's comments Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 b38697cf0e84caa3f79f8a4f34f9ca007bfdc93c..ee07c9fab22359f6b8f6c6fef8d730fc0f9daa90 100644
--- a/chrome/browser/ui/views/location_bar/location_bar_view.cc
+++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc
@@ -29,6 +29,7 @@
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_tabstrip.h"
+#include "chrome/browser/ui/omnibox/extension_action_util.h"
#include "chrome/browser/ui/omnibox/omnibox_popup_model.h"
#include "chrome/browser/ui/search/search.h"
#include "chrome/browser/ui/search/search_model.h"
@@ -114,6 +115,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;
@@ -381,14 +384,18 @@ SkColor LocationBarView::GetColor(ToolbarModel::SecurityLevel security_level,
// static
int LocationBarView::GetItemPadding() {
- return (ui::GetDisplayLayout() == ui::LAYOUT_TOUCH) ?
- kTouchItemPadding : kDesktopItemPadding;
+ if (ui::GetDisplayLayout() == ui::LAYOUT_TOUCH)
+ return kTouchItemPadding;
+ return extensions::switch_utils::AreScriptBadgesEnabled() ?
+ kDesktopScriptBadgeItemPadding : kDesktopItemPadding;
}
// static
int LocationBarView::GetEdgeItemPadding() {
- return (ui::GetDisplayLayout() == ui::LAYOUT_TOUCH) ?
- kTouchEdgeItemPadding : kDesktopEdgeItemPadding;
+ if (ui::GetDisplayLayout() == ui::LAYOUT_TOUCH)
+ return kTouchEdgeItemPadding;
+ return extensions::switch_utils::AreScriptBadgesEnabled() ?
+ kDesktopScriptBadgeEdgeItemPadding : kDesktopEdgeItemPadding;
}
// DropdownBarHostDelegate
@@ -942,6 +949,7 @@ void LocationBarView::OnPaint(gfx::Canvas* canvas) {
radius, paint);
if (action_box_button_view_)
PaintActionBoxBackground(canvas, bounds);
+ PaintPageActionBackgrounds(canvas);
} else {
canvas->FillRect(bounds, color);
}
@@ -1247,6 +1255,31 @@ 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
Peter Kasting 2012/09/11 22:27:47 Does this mean that the items' bounds might overla
Jeffrey Yasskin 2012/09/11 23:05:28 I believe this doesn't affect the code that detect
+ // paddings, the +1 is dropped, which is right since there is no pixel at
+ // the mid-point.
+ bounds.Inset(-(horizontal_padding + 1) / 2, 0);
+ ToolbarModel::SecurityLevel security_level = model_->GetSecurityLevel();
+ extensions::PaintExtensionActionBackground(
+ *(*page_action_view)->image_view()->page_action(),
+ SessionID::IdForTab(GetTabContents()),
+ canvas, bounds,
+ GetColor(security_level, TEXT), GetColor(security_level, BACKGROUND));
+ }
+}
+
std::string LocationBarView::GetClassName() const {
return kViewClassName;
}

Powered by Google App Engine
This is Rietveld 408576698