summaryrefslogtreecommitdiffstats
path: root/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/autocomplete/autocomplete_edit_view_mac.mm')
-rw-r--r--chrome/browser/autocomplete/autocomplete_edit_view_mac.mm101
1 files changed, 33 insertions, 68 deletions
diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm b/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm
index 61ff69dd..81a3daf 100644
--- a/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm
+++ b/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm
@@ -9,7 +9,6 @@
#include "app/clipboard/clipboard.h"
#include "app/clipboard/scoped_clipboard_writer.h"
#include "app/resource_bundle.h"
-#include "base/nsimage_cache_mac.h"
#include "base/string_util.h"
#include "base/sys_string_conversions.h"
#include "base/utf_string_conversions.h"
@@ -21,7 +20,6 @@
#include "chrome/browser/tab_contents/tab_contents.h"
#include "chrome/browser/toolbar_model.h"
#include "grit/generated_resources.h"
-#include "grit/theme_resources.h"
#include "net/base/escape.h"
// Focus-handling between |field_| and |model_| is a bit subtle.
@@ -63,6 +61,15 @@ const NSColor* ColorWithRGBBytes(int rr, int gg, int bb) {
blue:static_cast<float>(bb)/255.0
alpha:1.0];
}
+const NSColor* SecureBackgroundColor() {
+ return ColorWithRGBBytes(255, 245, 195); // Yellow
+}
+const NSColor* NormalBackgroundColor() {
+ return [NSColor controlBackgroundColor];
+}
+const NSColor* InsecureBackgroundColor() {
+ return [NSColor controlBackgroundColor];
+}
const NSColor* HostTextColor() {
return [NSColor blackColor];
@@ -70,14 +77,11 @@ const NSColor* HostTextColor() {
const NSColor* BaseTextColor() {
return [NSColor darkGrayColor];
}
-const NSColor* EVSecureSchemeColor() {
- return ColorWithRGBBytes(0x07, 0x95, 0x00);
-}
const NSColor* SecureSchemeColor() {
- return ColorWithRGBBytes(0x00, 0x0e, 0x95);
+ return ColorWithRGBBytes(0x00, 0x96, 0x14);
}
-const NSColor* SecurityErrorSchemeColor() {
- return ColorWithRGBBytes(0xa2, 0x00, 0x00);
+const NSColor* InsecureSchemeColor() {
+ return ColorWithRGBBytes(0xc8, 0x00, 0x00);
}
// Store's the model and view state across tab switches.
@@ -121,57 +125,20 @@ NSRange ComponentToNSRange(const url_parse::Component& component) {
} // namespace
-// static
-NSImage* AutocompleteEditViewMac::ImageForResource(int resource_id) {
- NSString* image_name = nil;
-
- switch(resource_id) {
- // From the autocomplete popup, or the star icon at the RHS of the
- // text field.
- case IDR_OMNIBOX_STAR: image_name = @"omnibox_star.pdf"; break;
- case IDR_OMNIBOX_STAR_LIT: image_name = @"omnibox_star_lit.pdf"; break;
-
- // Values from |AutocompleteMatch::TypeToIcon()|.
- case IDR_OMNIBOX_SEARCH: image_name = @"omnibox_search.pdf"; break;
- case IDR_OMNIBOX_HTTP: image_name = @"omnibox_http.pdf"; break;
- case IDR_OMNIBOX_HISTORY: image_name = @"omnibox_history.pdf"; break;
- case IDR_OMNIBOX_MORE: image_name = @"omnibox_more.pdf"; break;
-
- // Values from |ToolbarModel::GetIcon()|.
- case IDR_OMNIBOX_HTTPS_VALID:
- image_name = @"omnibox_https_valid.pdf"; break;
- case IDR_OMNIBOX_HTTPS_WARNING:
- image_name = @"omnibox_https_warning.pdf"; break;
- case IDR_OMNIBOX_HTTPS_INVALID:
- image_name = @"omnibox_https_invalid.pdf"; break;
- }
-
- if (image_name) {
- if (NSImage* image = nsimage_cache::ImageNamed(image_name)) {
- return image;
- } else {
- NOTREACHED()
- << "Missing image for " << base::SysNSStringToUTF8(image_name);
- }
- }
-
- ResourceBundle& rb = ResourceBundle::GetSharedInstance();
- return rb.GetNSImageNamed(resource_id);
-}
-
// TODO(shess): AutocompletePopupViewMac doesn't really need an
// NSTextField. It wants to know where the position the popup, what
// font to use, and it also needs to be able to attach the popup to
// the window |field_| is in.
AutocompleteEditViewMac::AutocompleteEditViewMac(
AutocompleteEditController* controller,
+ const BubblePositioner* bubble_positioner,
ToolbarModel* toolbar_model,
Profile* profile,
CommandUpdater* command_updater,
AutocompleteTextField* field)
: model_(new AutocompleteEditModel(this, controller, profile)),
- popup_view_(new AutocompletePopupViewMac(this, model_.get(), profile,
- field)),
+ popup_view_(new AutocompletePopupViewMac(
+ this, model_.get(), bubble_positioner, profile, field)),
controller_(controller),
toolbar_model_(toolbar_model),
command_updater_(command_updater),
@@ -305,17 +272,6 @@ std::wstring AutocompleteEditViewMac::GetText() const {
return base::SysNSStringToWide([field_ stringValue]);
}
-bool AutocompleteEditViewMac::IsEditingOrEmpty() const {
- return model_->user_input_in_progress() ||
- ([[field_ stringValue] length] == 0);
-}
-
-int AutocompleteEditViewMac::GetIcon() const {
- return IsEditingOrEmpty() ?
- AutocompleteMatch::TypeToIcon(model_->CurrentTextType()) :
- toolbar_model_->GetIcon();
-}
-
void AutocompleteEditViewMac::SetUserText(const std::wstring& text,
const std::wstring& display_text,
bool update_popup) {
@@ -454,23 +410,32 @@ void AutocompleteEditViewMac::SetText(const std::wstring& display_text) {
// TODO(shess): GTK has this as a member var, figure out why.
// [Could it be to not change if no change? If so, I'm guessing
// AppKit may already handle that.]
- const ToolbarModel::SecurityLevel security_level =
- toolbar_model_->GetSecurityLevel();
+ const ToolbarModel::SecurityLevel scheme_security_level =
+ toolbar_model_->GetSchemeSecurityLevel();
+
+ if (scheme_security_level == ToolbarModel::SECURE) {
+ [field_ setBackgroundColor:SecureBackgroundColor()];
+ } else if (scheme_security_level == ToolbarModel::NORMAL) {
+ [field_ setBackgroundColor:NormalBackgroundColor()];
+ } else if (scheme_security_level == ToolbarModel::INSECURE) {
+ [field_ setBackgroundColor:InsecureBackgroundColor()];
+ } else {
+ NOTREACHED() << "Unexpected scheme_security_level: "
+ << scheme_security_level;
+ }
// Emphasize the scheme for security UI display purposes (if necessary).
if (!model_->user_input_in_progress() && scheme.is_nonempty() &&
- (security_level != ToolbarModel::NONE)) {
+ (scheme_security_level != ToolbarModel::NORMAL)) {
NSColor* color;
- if (security_level == ToolbarModel::EV_SECURE) {
- color = EVSecureSchemeColor();
- } else if (security_level == ToolbarModel::SECURITY_ERROR) {
- color = SecurityErrorSchemeColor();
+ if (scheme_security_level == ToolbarModel::SECURE) {
+ color = SecureSchemeColor();
+ } else {
+ color = InsecureSchemeColor();
// Add a strikethrough through the scheme.
[as addAttribute:NSStrikethroughStyleAttributeName
value:[NSNumber numberWithInt:NSUnderlineStyleSingle]
range:ComponentToNSRange(scheme)];
- } else {
- color = SecureSchemeColor();
}
[as addAttribute:NSForegroundColorAttributeName value:color
range:ComponentToNSRange(scheme)];