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 eb0f26496df35594792cf95bb26162c0b0fdaab7..f683c93f6dd9f22ff2e310538b3fd2018ea416e5 100644 |
--- a/chrome/browser/ui/views/location_bar/location_bar_view.cc |
+++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc |
@@ -339,8 +339,7 @@ SkColor LocationBarView::GetColor( |
SkColor LocationBarView::GetSecureTextColor( |
SecurityStateModel::SecurityLevel security_level) const { |
- bool inverted = |
- color_utils::GetLuminanceForColor(GetColor(BACKGROUND)) < 128; |
+ bool inverted = color_utils::IsDark(GetColor(BACKGROUND)); |
SkColor color; |
switch (security_level) { |
case SecurityStateModel::EV_SECURE: |
@@ -792,6 +791,7 @@ void LocationBarView::OnNativeThemeChanged(const ui::NativeTheme* theme) { |
if (!ui::MaterialDesignController::IsModeMaterial()) |
return; |
+ RefreshLocationIcon(); |
set_background(new BackgroundWith1PxBorder( |
GetColor(BACKGROUND), SkColorSetARGB(0x4D, 0x00, 0x00, 0x00), |
is_popup_mode_)); |
@@ -868,6 +868,21 @@ int LocationBarView::VerticalPadding() const { |
kPopupEdgeThickness : GetLayoutConstant(LOCATION_BAR_VERTICAL_PADDING); |
} |
+void LocationBarView::RefreshLocationIcon() { |
+ // |omnibox_view_| may not be ready yet. |
Peter Kasting
2015/11/17 21:27:03
If you really need this conditional, this comment
Evan Stade
2015/11/17 22:57:21
Done.
|
+ if (!omnibox_view_) |
+ return; |
+ |
+ if (ui::MaterialDesignController::IsModeMaterial()) { |
+ location_icon_view_->SetImage(gfx::CreateVectorIcon( |
+ omnibox_view_->GetVectorIcon(color_utils::IsDark(GetColor(BACKGROUND))), |
+ 16, color_utils::DeriveDefaultIconColor(GetColor(TEXT)))); |
+ } else { |
+ location_icon_view_->SetImage( |
+ *GetThemeProvider()->GetImageSkiaNamed(omnibox_view_->GetIcon())); |
+ } |
+} |
+ |
bool LocationBarView::RefreshContentSettingViews() { |
bool visibility_changed = false; |
for (ContentSettingViews::const_iterator i(content_setting_views_.begin()); |
@@ -1357,11 +1372,7 @@ void LocationBarView::AnimationEnded(const gfx::Animation* animation) { |
// LocationBarView, private OmniboxEditController implementation: |
void LocationBarView::OnChanged() { |
- location_icon_view_->SetImage( |
- ui::MaterialDesignController::IsModeMaterial() |
- ? gfx::CreateVectorIcon(omnibox_view_->GetVectorIcon(), 16, |
- gfx::kChromeIconGrey) |
- : *GetThemeProvider()->GetImageSkiaNamed(omnibox_view_->GetIcon())); |
+ RefreshLocationIcon(); |
location_icon_view_->ShowTooltip(!GetOmniboxView()->IsEditingOrEmpty()); |
Layout(); |