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

Side by Side Diff: chrome/browser/autocomplete/autocomplete_edit_view_mac.mm

Issue 1056002: Omnibox M5 work, part 1: Security changes... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/autocomplete/autocomplete_edit_view_mac.h" 5 #include "chrome/browser/autocomplete/autocomplete_edit_view_mac.h"
6 6
7 #include <Carbon/Carbon.h> // kVK_Return 7 #include <Carbon/Carbon.h> // kVK_Return
8 8
9 #include "app/clipboard/clipboard.h" 9 #include "app/clipboard/clipboard.h"
10 #include "app/clipboard/scoped_clipboard_writer.h" 10 #include "app/clipboard/scoped_clipboard_writer.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 // the same values easily. 54 // the same values easily.
55 const NSColor* ColorWithRGBBytes(int rr, int gg, int bb) { 55 const NSColor* ColorWithRGBBytes(int rr, int gg, int bb) {
56 DCHECK_LE(rr, 255); 56 DCHECK_LE(rr, 255);
57 DCHECK_LE(bb, 255); 57 DCHECK_LE(bb, 255);
58 DCHECK_LE(gg, 255); 58 DCHECK_LE(gg, 255);
59 return [NSColor colorWithCalibratedRed:static_cast<float>(rr)/255.0 59 return [NSColor colorWithCalibratedRed:static_cast<float>(rr)/255.0
60 green:static_cast<float>(gg)/255.0 60 green:static_cast<float>(gg)/255.0
61 blue:static_cast<float>(bb)/255.0 61 blue:static_cast<float>(bb)/255.0
62 alpha:1.0]; 62 alpha:1.0];
63 } 63 }
64 const NSColor* SecureBackgroundColor() {
65 return ColorWithRGBBytes(255, 245, 195); // Yellow
66 }
67 const NSColor* NormalBackgroundColor() {
68 return [NSColor controlBackgroundColor];
69 }
70 const NSColor* InsecureBackgroundColor() {
71 return [NSColor controlBackgroundColor];
72 }
73 64
74 const NSColor* HostTextColor() { 65 const NSColor* HostTextColor() {
75 return [NSColor blackColor]; 66 return [NSColor blackColor];
76 } 67 }
77 const NSColor* BaseTextColor() { 68 const NSColor* BaseTextColor() {
78 return [NSColor darkGrayColor]; 69 return [NSColor darkGrayColor];
79 } 70 }
71 const NSColor* EVSecureSchemeColor() {
72 return ColorWithRGBBytes(0x07, 0x95, 0x00);
73 }
80 const NSColor* SecureSchemeColor() { 74 const NSColor* SecureSchemeColor() {
81 return ColorWithRGBBytes(0x00, 0x96, 0x14); 75 return ColorWithRGBBytes(0x00, 0x0e, 0x95);
82 } 76 }
83 const NSColor* InsecureSchemeColor() { 77 const NSColor* SecurityErrorSchemeColor() {
84 return ColorWithRGBBytes(0xc8, 0x00, 0x00); 78 return ColorWithRGBBytes(0xa2, 0x00, 0x00);
85 } 79 }
86 80
87 // Store's the model and view state across tab switches. 81 // Store's the model and view state across tab switches.
88 struct AutocompleteEditViewMacState { 82 struct AutocompleteEditViewMacState {
89 AutocompleteEditViewMacState(const AutocompleteEditModel::State model_state, 83 AutocompleteEditViewMacState(const AutocompleteEditModel::State model_state,
90 const bool has_focus, const NSRange& selection) 84 const bool has_focus, const NSRange& selection)
91 : model_state(model_state), 85 : model_state(model_state),
92 has_focus(has_focus), 86 has_focus(has_focus),
93 selection(selection) { 87 selection(selection) {
94 } 88 }
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 [as addAttribute:NSForegroundColorAttributeName value:BaseTextColor() 397 [as addAttribute:NSForegroundColorAttributeName value:BaseTextColor()
404 range:NSMakeRange(0, [as length])]; 398 range:NSMakeRange(0, [as length])];
405 399
406 [as addAttribute:NSForegroundColorAttributeName value:HostTextColor() 400 [as addAttribute:NSForegroundColorAttributeName value:HostTextColor()
407 range:ComponentToNSRange(host)]; 401 range:ComponentToNSRange(host)];
408 } 402 }
409 403
410 // TODO(shess): GTK has this as a member var, figure out why. 404 // TODO(shess): GTK has this as a member var, figure out why.
411 // [Could it be to not change if no change? If so, I'm guessing 405 // [Could it be to not change if no change? If so, I'm guessing
412 // AppKit may already handle that.] 406 // AppKit may already handle that.]
413 const ToolbarModel::SecurityLevel scheme_security_level = 407 const ToolbarModel::SecurityLevel security_level =
414 toolbar_model_->GetSchemeSecurityLevel(); 408 toolbar_model_->GetSecurityLevel();
415
416 if (scheme_security_level == ToolbarModel::SECURE) {
417 [field_ setBackgroundColor:SecureBackgroundColor()];
418 } else if (scheme_security_level == ToolbarModel::NORMAL) {
419 [field_ setBackgroundColor:NormalBackgroundColor()];
420 } else if (scheme_security_level == ToolbarModel::INSECURE) {
421 [field_ setBackgroundColor:InsecureBackgroundColor()];
422 } else {
423 NOTREACHED() << "Unexpected scheme_security_level: "
424 << scheme_security_level;
425 }
426 409
427 // Emphasize the scheme for security UI display purposes (if necessary). 410 // Emphasize the scheme for security UI display purposes (if necessary).
428 if (!model_->user_input_in_progress() && scheme.is_nonempty() && 411 if (!model_->user_input_in_progress() && scheme.is_nonempty() &&
429 (scheme_security_level != ToolbarModel::NORMAL)) { 412 (security_level != ToolbarModel::NONE)) {
430 NSColor* color; 413 NSColor* color;
431 if (scheme_security_level == ToolbarModel::SECURE) { 414 if (security_level == ToolbarModel::EV_SECURE) {
432 color = SecureSchemeColor(); 415 color = EVSecureSchemeColor();
433 } else { 416 } else if (security_level == ToolbarModel::SECURITY_ERROR) {
434 color = InsecureSchemeColor(); 417 color = SecurityErrorSchemeColor();
435 // Add a strikethrough through the scheme. 418 // Add a strikethrough through the scheme.
436 [as addAttribute:NSStrikethroughStyleAttributeName 419 [as addAttribute:NSStrikethroughStyleAttributeName
437 value:[NSNumber numberWithInt:NSUnderlineStyleSingle] 420 value:[NSNumber numberWithInt:NSUnderlineStyleSingle]
438 range:ComponentToNSRange(scheme)]; 421 range:ComponentToNSRange(scheme)];
422 } else {
423 color = SecureSchemeColor();
439 } 424 }
440 [as addAttribute:NSForegroundColorAttributeName value:color 425 [as addAttribute:NSForegroundColorAttributeName value:color
441 range:ComponentToNSRange(scheme)]; 426 range:ComponentToNSRange(scheme)];
442 } 427 }
443 428
444 [field_ setAttributedStringValue:as]; 429 [field_ setAttributedStringValue:as];
445 430
446 // TODO(shess): This may be an appropriate place to call: 431 // TODO(shess): This may be an appropriate place to call:
447 // controller_->OnChanged(); 432 // controller_->OnChanged();
448 // In the current implementation, this tells LocationBarViewMac to 433 // In the current implementation, this tells LocationBarViewMac to
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after
860 clipboard->ReadBookmark(NULL, &url_str); 845 clipboard->ReadBookmark(NULL, &url_str);
861 // pass resulting url string through GURL to normalize 846 // pass resulting url string through GURL to normalize
862 GURL url(url_str); 847 GURL url(url_str);
863 if (url.is_valid()) { 848 if (url.is_valid()) {
864 return UTF8ToWide(url.spec()); 849 return UTF8ToWide(url.spec());
865 } 850 }
866 } 851 }
867 852
868 return std::wstring(); 853 return std::wstring();
869 } 854 }
OLDNEW
« no previous file with comments | « chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc ('k') | chrome/browser/autocomplete/autocomplete_edit_view_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698