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

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: Final (??) Windows and GTK support 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 4e706add01f95e8234c1ade429b9ef996cc46e3a..53baca1aa3af371d0f95a03cbd56ed552bf40536 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() ?
Peter Kasting 2012/09/07 22:29:33 Nit: Chrome frowns on nested ?:s (especially witho
Jeffrey Yasskin 2012/09/11 01:16:56 Done. I don't know what we want for touch, but I'd
+ 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,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
+ // 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