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

Side by Side Diff: chrome/browser/ui/views/location_bar/location_bar_view.cc

Issue 2682803003: Gtk3: Add themable location bar border color (Closed)
Patch Set: add location_bar_border_color local Created 3 years, 10 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 unified diff | Download patch
« no previous file with comments | « chrome/browser/ui/views/location_bar/location_bar_view.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/location_bar/location_bar_view.h" 5 #include "chrome/browser/ui/views/location_bar/location_bar_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 9
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
11 #include "base/memory/ptr_util.h" 11 #include "base/memory/ptr_util.h"
12 #include "base/strings/utf_string_conversions.h" 12 #include "base/strings/utf_string_conversions.h"
13 #include "build/build_config.h" 13 #include "build/build_config.h"
14 #include "chrome/app/chrome_command_ids.h" 14 #include "chrome/app/chrome_command_ids.h"
15 #include "chrome/browser/command_updater.h" 15 #include "chrome/browser/command_updater.h"
16 #include "chrome/browser/defaults.h" 16 #include "chrome/browser/defaults.h"
17 #include "chrome/browser/extensions/api/omnibox/omnibox_api.h" 17 #include "chrome/browser/extensions/api/omnibox/omnibox_api.h"
18 #include "chrome/browser/extensions/extension_action.h" 18 #include "chrome/browser/extensions/extension_action.h"
19 #include "chrome/browser/extensions/extension_action_manager.h" 19 #include "chrome/browser/extensions/extension_action_manager.h"
20 #include "chrome/browser/extensions/extension_util.h" 20 #include "chrome/browser/extensions/extension_util.h"
21 #include "chrome/browser/extensions/location_bar_controller.h" 21 #include "chrome/browser/extensions/location_bar_controller.h"
22 #include "chrome/browser/extensions/tab_helper.h" 22 #include "chrome/browser/extensions/tab_helper.h"
23 #include "chrome/browser/profiles/profile.h" 23 #include "chrome/browser/profiles/profile.h"
24 #include "chrome/browser/search_engines/template_url_service_factory.h" 24 #include "chrome/browser/search_engines/template_url_service_factory.h"
25 #include "chrome/browser/themes/theme_properties.h" 25 #include "chrome/browser/themes/theme_properties.h"
26 #include "chrome/browser/themes/theme_service.h"
26 #include "chrome/browser/translate/chrome_translate_client.h" 27 #include "chrome/browser/translate/chrome_translate_client.h"
27 #include "chrome/browser/translate/translate_service.h" 28 #include "chrome/browser/translate/translate_service.h"
28 #include "chrome/browser/ui/autofill/save_card_bubble_controller_impl.h" 29 #include "chrome/browser/ui/autofill/save_card_bubble_controller_impl.h"
29 #include "chrome/browser/ui/browser.h" 30 #include "chrome/browser/ui/browser.h"
30 #include "chrome/browser/ui/browser_finder.h" 31 #include "chrome/browser/ui/browser_finder.h"
31 #include "chrome/browser/ui/browser_window.h" 32 #include "chrome/browser/ui/browser_window.h"
32 #include "chrome/browser/ui/content_settings/content_setting_bubble_model.h" 33 #include "chrome/browser/ui/content_settings/content_setting_bubble_model.h"
33 #include "chrome/browser/ui/layout_constants.h" 34 #include "chrome/browser/ui/layout_constants.h"
34 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h" 35 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h"
35 #include "chrome/browser/ui/tabs/tab_strip_model.h" 36 #include "chrome/browser/ui/tabs/tab_strip_model.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 #include "ui/views/controls/label.h" 96 #include "ui/views/controls/label.h"
96 #include "ui/views/widget/widget.h" 97 #include "ui/views/widget/widget.h"
97 98
98 #if !defined(OS_CHROMEOS) 99 #if !defined(OS_CHROMEOS)
99 #include "chrome/browser/ui/views/first_run_bubble.h" 100 #include "chrome/browser/ui/views/first_run_bubble.h"
100 #endif 101 #endif
101 102
102 using content::WebContents; 103 using content::WebContents;
103 using views::View; 104 using views::View;
104 105
105 namespace {
106
107 // The border color, drawn on top of the toolbar.
108 const SkColor kBorderColor = SkColorSetA(SK_ColorBLACK, 0x4D);
109
110 } // namespace
111
112 106
113 // LocationBarView ----------------------------------------------------------- 107 // LocationBarView -----------------------------------------------------------
114 108
115 // static 109 // static
116 const char LocationBarView::kViewClassName[] = "LocationBarView"; 110 const char LocationBarView::kViewClassName[] = "LocationBarView";
117 111
118 LocationBarView::LocationBarView(Browser* browser, 112 LocationBarView::LocationBarView(Browser* browser,
119 Profile* profile, 113 Profile* profile,
120 CommandUpdater* command_updater, 114 CommandUpdater* command_updater,
121 Delegate* delegate, 115 Delegate* delegate,
(...skipping 30 matching lines...) Expand all
152 if (template_url_service_) 146 if (template_url_service_)
153 template_url_service_->RemoveObserver(this); 147 template_url_service_->RemoveObserver(this);
154 148
155 zoom::ZoomEventManager::GetForBrowserContext(profile()) 149 zoom::ZoomEventManager::GetForBrowserContext(profile())
156 ->RemoveZoomEventManagerObserver(this); 150 ->RemoveZoomEventManagerObserver(this);
157 } 151 }
158 152
159 //////////////////////////////////////////////////////////////////////////////// 153 ////////////////////////////////////////////////////////////////////////////////
160 // LocationBarView, public: 154 // LocationBarView, public:
161 155
162 // static
163 SkColor LocationBarView::GetOpaqueBorderColor(bool incognito) {
164 return color_utils::GetResultingPaintColor(
165 kBorderColor, ThemeProperties::GetDefaultColor(
166 ThemeProperties::COLOR_TOOLBAR, incognito));
167 }
168
169 void LocationBarView::Init() { 156 void LocationBarView::Init() {
170 // We need to be in a Widget, otherwise GetNativeTheme() may change and we're 157 // We need to be in a Widget, otherwise GetNativeTheme() may change and we're
171 // not prepared for that. 158 // not prepared for that.
172 DCHECK(GetWidget()); 159 DCHECK(GetWidget());
173 160
174 // Make sure children with layers are clipped. See http://crbug.com/589497 161 // Make sure children with layers are clipped. See http://crbug.com/589497
175 SetPaintToLayer(); 162 SetPaintToLayer();
176 layer()->SetFillsBoundsOpaquely(false); 163 layer()->SetFillsBoundsOpaquely(false);
177 layer()->SetMasksToBounds(true); 164 layer()->SetMasksToBounds(true);
178 165
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 case DEEMPHASIZED_TEXT: 284 case DEEMPHASIZED_TEXT:
298 return color_utils::AlphaBlend(GetColor(TEXT), GetColor(BACKGROUND), 128); 285 return color_utils::AlphaBlend(GetColor(TEXT), GetColor(BACKGROUND), 128);
299 286
300 case SECURITY_CHIP_TEXT: 287 case SECURITY_CHIP_TEXT:
301 return GetSecureTextColor(GetToolbarModel()->GetSecurityLevel(false)); 288 return GetSecureTextColor(GetToolbarModel()->GetSecurityLevel(false));
302 } 289 }
303 NOTREACHED(); 290 NOTREACHED();
304 return gfx::kPlaceholderColor; 291 return gfx::kPlaceholderColor;
305 } 292 }
306 293
294 SkColor LocationBarView::GetOpaqueBorderColor(bool incognito) {
Peter Kasting 2017/02/11 10:18:46 Should be const
295 return color_utils::GetResultingPaintColor(
296 GetBorderColor(), ThemeProperties::GetDefaultColor(
297 ThemeProperties::COLOR_TOOLBAR, incognito));
298 }
299
307 SkColor LocationBarView::GetSecureTextColor( 300 SkColor LocationBarView::GetSecureTextColor(
308 security_state::SecurityLevel security_level) const { 301 security_state::SecurityLevel security_level) const {
309 if (security_level == security_state::SECURE_WITH_POLICY_INSTALLED_CERT) { 302 if (security_level == security_state::SECURE_WITH_POLICY_INSTALLED_CERT) {
310 return GetColor(DEEMPHASIZED_TEXT); 303 return GetColor(DEEMPHASIZED_TEXT);
311 } 304 }
312 305
313 SkColor text_color = GetColor(TEXT); 306 SkColor text_color = GetColor(TEXT);
314 if (!color_utils::IsDark(GetColor(BACKGROUND))) { 307 if (!color_utils::IsDark(GetColor(BACKGROUND))) {
315 if ((security_level == security_state::EV_SECURE) || 308 if ((security_level == security_state::EV_SECURE) ||
316 (security_level == security_state::SECURE)) { 309 (security_level == security_state::SECURE)) {
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
607 600
608 void LocationBarView::OnNativeThemeChanged(const ui::NativeTheme* theme) { 601 void LocationBarView::OnNativeThemeChanged(const ui::NativeTheme* theme) {
609 RefreshLocationIcon(); 602 RefreshLocationIcon();
610 if (is_popup_mode_) { 603 if (is_popup_mode_) {
611 set_background( 604 set_background(
612 views::Background::CreateSolidBackground(GetColor(BACKGROUND))); 605 views::Background::CreateSolidBackground(GetColor(BACKGROUND)));
613 } else { 606 } else {
614 // This border color will be blended on top of the toolbar (which may use an 607 // This border color will be blended on top of the toolbar (which may use an
615 // image in the case of themes). 608 // image in the case of themes).
616 set_background( 609 set_background(
617 new BackgroundWith1PxBorder(GetColor(BACKGROUND), kBorderColor)); 610 new BackgroundWith1PxBorder(GetColor(BACKGROUND), GetBorderColor()));
618 } 611 }
619 SchedulePaint(); 612 SchedulePaint();
620 } 613 }
621 614
622 void LocationBarView::Update(const WebContents* contents) { 615 void LocationBarView::Update(const WebContents* contents) {
623 RefreshContentSettingViews(); 616 RefreshContentSettingViews();
624 RefreshZoomView(); 617 RefreshZoomView();
625 RefreshPageActionViews(); 618 RefreshPageActionViews();
626 RefreshTranslateIcon(); 619 RefreshTranslateIcon();
627 RefreshSaveCreditCardIconView(); 620 RefreshSaveCreditCardIconView();
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 655
663 //////////////////////////////////////////////////////////////////////////////// 656 ////////////////////////////////////////////////////////////////////////////////
664 // LocationBarView, private: 657 // LocationBarView, private:
665 658
666 int LocationBarView::IncrementalMinimumWidth(views::View* view) const { 659 int LocationBarView::IncrementalMinimumWidth(views::View* view) const {
667 return view->visible() ? (GetLayoutConstant(LOCATION_BAR_ELEMENT_PADDING) + 660 return view->visible() ? (GetLayoutConstant(LOCATION_BAR_ELEMENT_PADDING) +
668 view->GetMinimumSize().width()) 661 view->GetMinimumSize().width())
669 : 0; 662 : 0;
670 } 663 }
671 664
665 SkColor LocationBarView::GetBorderColor() {
Peter Kasting 2017/02/11 10:18:46 Should be const
666 return GetThemeProvider()->GetColor(
667 ThemeProperties::COLOR_LOCATION_BAR_BORDER);
668 }
669
672 int LocationBarView::GetHorizontalEdgeThickness() const { 670 int LocationBarView::GetHorizontalEdgeThickness() const {
673 return is_popup_mode_ 671 return is_popup_mode_
674 ? 0 672 ? 0
675 : BackgroundWith1PxBorder::kLocationBarBorderThicknessDip; 673 : BackgroundWith1PxBorder::kLocationBarBorderThicknessDip;
676 } 674 }
677 675
678 int LocationBarView::GetTotalVerticalPadding() const { 676 int LocationBarView::GetTotalVerticalPadding() const {
679 return BackgroundWith1PxBorder::kLocationBarBorderThicknessDip + 677 return BackgroundWith1PxBorder::kLocationBarBorderThicknessDip +
680 GetLayoutConstant(LOCATION_BAR_ELEMENT_PADDING); 678 GetLayoutConstant(LOCATION_BAR_ELEMENT_PADDING);
681 } 679 }
(...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after
1190 // LocationBarView, private TemplateURLServiceObserver implementation: 1188 // LocationBarView, private TemplateURLServiceObserver implementation:
1191 1189
1192 void LocationBarView::OnTemplateURLServiceChanged() { 1190 void LocationBarView::OnTemplateURLServiceChanged() {
1193 template_url_service_->RemoveObserver(this); 1191 template_url_service_->RemoveObserver(this);
1194 template_url_service_ = nullptr; 1192 template_url_service_ = nullptr;
1195 // If the browser is no longer active, let's not show the info bubble, as this 1193 // If the browser is no longer active, let's not show the info bubble, as this
1196 // would make the browser the active window again. 1194 // would make the browser the active window again.
1197 if (omnibox_view_ && omnibox_view_->GetWidget()->IsActive()) 1195 if (omnibox_view_ && omnibox_view_->GetWidget()->IsActive())
1198 ShowFirstRunBubble(); 1196 ShowFirstRunBubble();
1199 } 1197 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/location_bar/location_bar_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698