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

Side by Side Diff: chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.mm

Issue 1935663002: New origin security indicator icons. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Respond to comments, and get the colors right on Mac OS X. Created 4 years, 7 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
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/cocoa/omnibox/omnibox_view_mac.h" 5 #include "chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.h"
6 6
7 #include <Carbon/Carbon.h> // kVK_Return 7 #include <Carbon/Carbon.h> // kVK_Return
8 8
9 #include "base/mac/foundation_util.h" 9 #include "base/mac/foundation_util.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 } 168 }
169 169
170 // static 170 // static
171 NSColor* OmniboxViewMac::BaseTextColor(bool in_dark_mode) { 171 NSColor* OmniboxViewMac::BaseTextColor(bool in_dark_mode) {
172 if (!ui::MaterialDesignController::IsModeMaterial()) { 172 if (!ui::MaterialDesignController::IsModeMaterial()) {
173 return [NSColor darkGrayColor]; 173 return [NSColor darkGrayColor];
174 } 174 }
175 return skia::SkColorToCalibratedNSColor(BaseTextColorSkia(in_dark_mode)); 175 return skia::SkColorToCalibratedNSColor(BaseTextColorSkia(in_dark_mode));
176 } 176 }
177 177
178 // static
179 SkColor OmniboxViewMac::GetSecureTextColorSkia(
180 security_state::SecurityStateModel::SecurityLevel security_level,
181 bool in_dark_mode) {
182 return skia::NSDeviceColorToSkColor(
183 GetSecureTextColor(security_level, in_dark_mode));
184 }
185
186 // static
187 NSColor* OmniboxViewMac::GetSecureTextColor(
188 security_state::SecurityStateModel::SecurityLevel security_level,
189 bool in_dark_mode) {
190 NSColor* color;
191 if (security_level == security_state::SecurityStateModel::EV_SECURE ||
192 security_level == security_state::SecurityStateModel::SECURE) {
193 color = SecureSchemeColor(in_dark_mode);
194 } else if (security_level ==
195 security_state::SecurityStateModel::SECURITY_ERROR) {
196 color = SecurityErrorSchemeColor(in_dark_mode);
197 } else if (security_level ==
198 security_state::SecurityStateModel::SECURITY_WARNING) {
199 color = SecurityWarningSchemeColor(in_dark_mode);
200 } else {
201 NOTREACHED();
202 color = BaseTextColor(in_dark_mode);
Evan Stade 2016/05/19 17:58:49 I'm often told not to handle NOTREACHED
Peter Kasting 2016/05/19 18:36:19 Yeah. And in general looking at this makes it cle
palmer 2016/05/19 18:40:40 This is borrowed from the pre-existing code (compa
Peter Kasting 2016/05/19 18:43:21 Please do fix, here and/or there, as possible.
palmer 2016/05/19 19:55:44 Fixed here in Cocoa. The Views code by estade/est
203 }
204 return color;
205 }
206
178 OmniboxViewMac::OmniboxViewMac(OmniboxEditController* controller, 207 OmniboxViewMac::OmniboxViewMac(OmniboxEditController* controller,
179 Profile* profile, 208 Profile* profile,
180 CommandUpdater* command_updater, 209 CommandUpdater* command_updater,
181 AutocompleteTextField* field) 210 AutocompleteTextField* field)
182 : OmniboxView( 211 : OmniboxView(
183 controller, 212 controller,
184 base::WrapUnique(new ChromeOmniboxClient(controller, profile))), 213 base::WrapUnique(new ChromeOmniboxClient(controller, profile))),
185 profile_(profile), 214 profile_(profile),
186 popup_view_(new OmniboxPopupViewMac(this, model(), field)), 215 popup_view_(new OmniboxPopupViewMac(this, model(), field)),
187 field_(field), 216 field_(field),
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 // TODO(shess): GTK has this as a member var, figure out why. 620 // TODO(shess): GTK has this as a member var, figure out why.
592 // [Could it be to not change if no change? If so, I'm guessing 621 // [Could it be to not change if no change? If so, I'm guessing
593 // AppKit may already handle that.] 622 // AppKit may already handle that.]
594 const security_state::SecurityStateModel::SecurityLevel security_level = 623 const security_state::SecurityStateModel::SecurityLevel security_level =
595 controller()->GetToolbarModel()->GetSecurityLevel(false); 624 controller()->GetToolbarModel()->GetSecurityLevel(false);
596 625
597 // Emphasize the scheme for security UI display purposes (if necessary). 626 // Emphasize the scheme for security UI display purposes (if necessary).
598 if (!model()->user_input_in_progress() && model()->CurrentTextIsURL() && 627 if (!model()->user_input_in_progress() && model()->CurrentTextIsURL() &&
599 scheme.is_nonempty() && 628 scheme.is_nonempty() &&
600 (security_level != security_state::SecurityStateModel::NONE)) { 629 (security_level != security_state::SecurityStateModel::NONE)) {
601 NSColor* color; 630 NSColor* color = GetSecureTextColor(security_level, in_dark_mode);
Evan Stade 2016/05/19 17:58:49 no need for this local var
palmer 2016/05/19 18:40:40 Done.
602 if (security_level == security_state::SecurityStateModel::EV_SECURE || 631 if (security_level == security_state::SecurityStateModel::SECURITY_ERROR) {
603 security_level == security_state::SecurityStateModel::SECURE) {
604 color = SecureSchemeColor(in_dark_mode);
605 } else if (security_level ==
606 security_state::SecurityStateModel::SECURITY_ERROR) {
607 color = SecurityErrorSchemeColor(in_dark_mode);
608 // Add a strikethrough through the scheme. 632 // Add a strikethrough through the scheme.
609 [attributedString addAttribute:NSStrikethroughStyleAttributeName 633 [attributedString addAttribute:NSStrikethroughStyleAttributeName
610 value:[NSNumber numberWithInt:NSUnderlineStyleSingle] 634 value:[NSNumber numberWithInt:NSUnderlineStyleSingle]
611 range:ComponentToNSRange(scheme)]; 635 range:ComponentToNSRange(scheme)];
612 } else if (security_level ==
613 security_state::SecurityStateModel::SECURITY_WARNING) {
614 color = SecurityWarningSchemeColor(in_dark_mode);
615 } else {
616 NOTREACHED();
617 color = BaseTextColor(in_dark_mode);
618 } 636 }
619 [attributedString addAttribute:NSForegroundColorAttributeName 637 [attributedString addAttribute:NSForegroundColorAttributeName
620 value:color 638 value:color
621 range:ComponentToNSRange(scheme)]; 639 range:ComponentToNSRange(scheme)];
622 } 640 }
623 } 641 }
624 642
625 void OmniboxViewMac::OnTemporaryTextMaybeChanged( 643 void OmniboxViewMac::OnTemporaryTextMaybeChanged(
626 const base::string16& display_text, 644 const base::string16& display_text,
627 bool save_original_selection, 645 bool save_original_selection,
(...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after
1133 1151
1134 NSUInteger OmniboxViewMac::GetTextLength() const { 1152 NSUInteger OmniboxViewMac::GetTextLength() const {
1135 return [field_ currentEditor] ? [[[field_ currentEditor] string] length] : 1153 return [field_ currentEditor] ? [[[field_ currentEditor] string] length] :
1136 [[field_ stringValue] length]; 1154 [[field_ stringValue] length];
1137 } 1155 }
1138 1156
1139 bool OmniboxViewMac::IsCaretAtEnd() const { 1157 bool OmniboxViewMac::IsCaretAtEnd() const {
1140 const NSRange selection = GetSelectedRange(); 1158 const NSRange selection = GetSelectedRange();
1141 return NSMaxRange(selection) == GetTextLength(); 1159 return NSMaxRange(selection) == GetTextLength();
1142 } 1160 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698