Commit 5e4214a4 authored by stkhapugin@chromium.org's avatar stkhapugin@chromium.org Committed by Commit Bot

[UIRefresh] Tint leading image view of omnibox.

Adds a tint to the leading image view, and moves color- and font-related
code from coordinator to view controller.

Bug: 819235
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: Icd9c6f54d6d8b6e35eb9bc4803b42a3dbfd0bbf6
Reviewed-on: https://chromium-review.googlesource.com/1099380
Commit-Queue: Stepan Khapugin <stkhapugin@chromium.org>
Reviewed-by: default avatarMark Cogan <marq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567219}
parent 828bc740
...@@ -19,7 +19,8 @@ ...@@ -19,7 +19,8 @@
- (instancetype)initWithFrame:(CGRect)frame - (instancetype)initWithFrame:(CGRect)frame
font:(UIFont*)font font:(UIFont*)font
textColor:(UIColor*)textColor textColor:(UIColor*)textColor
tintColor:(UIColor*)tintColor NS_DESIGNATED_INITIALIZER; textFieldTint:(UIColor*)textFieldTint
iconTint:(UIColor*)iconTint NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithFrame:(CGRect)frame NS_UNAVAILABLE; - (instancetype)initWithFrame:(CGRect)frame NS_UNAVAILABLE;
- (instancetype)initWithCoder:(NSCoder*)aDecoder NS_UNAVAILABLE; - (instancetype)initWithCoder:(NSCoder*)aDecoder NS_UNAVAILABLE;
......
...@@ -58,13 +58,14 @@ const CGFloat kTextFieldLeadingOffsetImage = 6; ...@@ -58,13 +58,14 @@ const CGFloat kTextFieldLeadingOffsetImage = 6;
- (instancetype)initWithFrame:(CGRect)frame - (instancetype)initWithFrame:(CGRect)frame
font:(UIFont*)font font:(UIFont*)font
textColor:(UIColor*)textColor textColor:(UIColor*)textColor
tintColor:(UIColor*)tintColor { textFieldTint:(UIColor*)textFieldTint
iconTint:(UIColor*)iconTint {
self = [super initWithFrame:frame]; self = [super initWithFrame:frame];
if (self) { if (self) {
_textField = [[OmniboxTextFieldIOS alloc] initWithFrame:frame _textField = [[OmniboxTextFieldIOS alloc] initWithFrame:frame
font:font font:font
textColor:textColor textColor:textColor
tintColor:tintColor]; tintColor:textFieldTint];
[self addSubview:_textField]; [self addSubview:_textField];
_leadingTextfieldConstraint = [_textField.leadingAnchor _leadingTextfieldConstraint = [_textField.leadingAnchor
...@@ -88,7 +89,7 @@ const CGFloat kTextFieldLeadingOffsetImage = 6; ...@@ -88,7 +89,7 @@ const CGFloat kTextFieldLeadingOffsetImage = 6;
UILayoutConstraintAxisHorizontal]; UILayoutConstraintAxisHorizontal];
[self createLeadingImageView]; [self createLeadingImageView];
_leadingImageView.tintColor = tintColor ?: [UIColor blackColor]; _leadingImageView.tintColor = iconTint;
} }
return self; return self;
} }
...@@ -123,6 +124,13 @@ const CGFloat kTextFieldLeadingOffsetImage = 6; ...@@ -123,6 +124,13 @@ const CGFloat kTextFieldLeadingOffsetImage = 6;
[self.leadingImageView setImage:image]; [self.leadingImageView setImage:image];
} }
- (void)setIncognito:(BOOL)incognito {
_incognito = incognito;
self.textField.incognito = incognito;
}
#pragma mark - private
- (void)createLeadingImageView { - (void)createLeadingImageView {
_leadingImageView = [[UIImageView alloc] init]; _leadingImageView = [[UIImageView alloc] init];
_leadingImageView.translatesAutoresizingMaskIntoConstraints = NO; _leadingImageView.translatesAutoresizingMaskIntoConstraints = NO;
......
...@@ -17,20 +17,11 @@ ...@@ -17,20 +17,11 @@
#include "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_ios.h" #include "ios/chrome/browser/ui/omnibox/popup/omnibox_popup_view_ios.h"
#import "ios/chrome/browser/ui/toolbar/keyboard_assist/toolbar_assistive_keyboard_delegate.h" #import "ios/chrome/browser/ui/toolbar/keyboard_assist/toolbar_assistive_keyboard_delegate.h"
#import "ios/chrome/browser/ui/toolbar/keyboard_assist/toolbar_assistive_keyboard_views.h" #import "ios/chrome/browser/ui/toolbar/keyboard_assist/toolbar_assistive_keyboard_views.h"
#import "ios/chrome/browser/ui/uikit_ui_util.h"
#import "ios/third_party/material_components_ios/src/components/Typography/src/MaterialTypography.h"
#if !defined(__has_feature) || !__has_feature(objc_arc) #if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support." #error "This file requires ARC support."
#endif #endif
namespace {
// Font size used in the omnibox.
const CGFloat kFontSize = 19.0f;
} // namespace
@interface OmniboxCoordinator () @interface OmniboxCoordinator ()
// Object taking care of adding the accessory views to the keyboard. // Object taking care of adding the accessory views to the keyboard.
@property(nonatomic, strong) @property(nonatomic, strong)
...@@ -59,16 +50,8 @@ const CGFloat kFontSize = 19.0f; ...@@ -59,16 +50,8 @@ const CGFloat kFontSize = 19.0f;
- (void)start { - (void)start {
BOOL isIncognito = self.browserState->IsOffTheRecord(); BOOL isIncognito = self.browserState->IsOffTheRecord();
UIColor* textColor = self.viewController =
isIncognito ? [UIColor whiteColor] : [UIColor colorWithWhite:0 alpha:0.7]; [[OmniboxViewController alloc] initWithIncognito:isIncognito];
UIColor* tintColor =
isIncognito ? [UIColor whiteColor] : [UIColor blackColor];
self.viewController = [[OmniboxViewController alloc]
initWithFont:[UIFont systemFontOfSize:kFontSize]
textColor:textColor
tintColor:tintColor
incognito:isIncognito];
self.mediator = [[OmniboxMediator alloc] init]; self.mediator = [[OmniboxMediator alloc] init];
self.mediator.consumer = self.viewController; self.mediator.consumer = self.viewController;
...@@ -78,9 +61,6 @@ const CGFloat kFontSize = 19.0f; ...@@ -78,9 +61,6 @@ const CGFloat kFontSize = 19.0f;
self.textField, self.editController, self.mediator, self.browserState); self.textField, self.editController, self.mediator, self.browserState);
// Configure the textfield. // Configure the textfield.
SetA11yLabelAndUiAutomationName(self.textField, IDS_ACCNAME_LOCATION,
@"Address");
self.textField.incognito = isIncognito;
self.textField.suggestionCommandsEndpoint = self.textField.suggestionCommandsEndpoint =
static_cast<id<OmniboxSuggestionCommands>>(self.dispatcher); static_cast<id<OmniboxSuggestionCommands>>(self.dispatcher);
......
...@@ -17,10 +17,7 @@ ...@@ -17,10 +17,7 @@
@property(nonatomic, readonly, strong) OmniboxTextFieldIOS* textField; @property(nonatomic, readonly, strong) OmniboxTextFieldIOS* textField;
// Designated initializer. // Designated initializer.
- (instancetype)initWithFont:(UIFont*)font - (instancetype)initWithIncognito:(BOOL)isIncognito;
textColor:(UIColor*)textColor
tintColor:(UIColor*)tintColor
incognito:(BOOL)isIncognito;
@end @end
......
...@@ -8,40 +8,36 @@ ...@@ -8,40 +8,36 @@
#import "ios/chrome/browser/ui/omnibox/omnibox_container_view.h" #import "ios/chrome/browser/ui/omnibox/omnibox_container_view.h"
#include "ios/chrome/browser/ui/ui_util.h" #include "ios/chrome/browser/ui/ui_util.h"
#include "ios/chrome/browser/ui/uikit_ui_util.h" #include "ios/chrome/browser/ui/uikit_ui_util.h"
#import "ios/chrome/browser/ui/uikit_ui_util.h"
#include "ui/base/l10n/l10n_util.h" #include "ui/base/l10n/l10n_util.h"
#if !defined(__has_feature) || !__has_feature(objc_arc) #if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support." #error "This file requires ARC support."
#endif #endif
namespace {
// Font size used in the omnibox.
const CGFloat kFontSize = 19.0f;
} // namespace
@interface OmniboxViewController () @interface OmniboxViewController ()
// Override of UIViewController's view with a different type. // Override of UIViewController's view with a different type.
@property(nonatomic, strong) OmniboxContainerView* view; @property(nonatomic, strong) OmniboxContainerView* view;
@property(nonatomic, strong) UIFont* textFieldFont;
@property(nonatomic, strong) UIColor* textFieldTintColor;
@property(nonatomic, strong) UIColor* textFieldTextColor;
@property(nonatomic, assign) BOOL incognito; @property(nonatomic, assign) BOOL incognito;
@end @end
@implementation OmniboxViewController @implementation OmniboxViewController
@synthesize textFieldFont = _textFieldFont;
@synthesize textFieldTintColor = _textFieldTintColor;
@synthesize textFieldTextColor = _textFieldTextColor;
@synthesize incognito = _incognito; @synthesize incognito = _incognito;
@dynamic view; @dynamic view;
- (instancetype)initWithFont:(UIFont*)font - (instancetype)initWithIncognito:(BOOL)isIncognito {
textColor:(UIColor*)textColor
tintColor:(UIColor*)tintColor
incognito:(BOOL)isIncognito {
self = [super init]; self = [super init];
if (self) { if (self) {
_textFieldFont = font;
_textFieldTextColor = textColor;
_textFieldTintColor = tintColor;
_incognito = isIncognito; _incognito = isIncognito;
} }
return self; return self;
...@@ -50,12 +46,24 @@ ...@@ -50,12 +46,24 @@
#pragma mark - UIViewController #pragma mark - UIViewController
- (void)loadView { - (void)loadView {
self.view = UIColor* textColor = self.incognito ? [UIColor whiteColor]
[[OmniboxContainerView alloc] initWithFrame:CGRectZero : [UIColor colorWithWhite:0 alpha:0.7];
font:self.textFieldFont UIColor* textFieldTintColor =
textColor:self.textFieldTextColor self.incognito ? [UIColor whiteColor] : [UIColor blackColor];
tintColor:self.textFieldTintColor]; UIColor* iconTintColor = self.incognito
? [UIColor whiteColor]
: [UIColor colorWithWhite:0 alpha:0.7];
self.view = [[OmniboxContainerView alloc]
initWithFrame:CGRectZero
font:[UIFont systemFontOfSize:kFontSize]
textColor:textColor
textFieldTint:textFieldTintColor
iconTint:iconTintColor];
self.view.incognito = self.incognito; self.view.incognito = self.incognito;
SetA11yLabelAndUiAutomationName(self.textField, IDS_ACCNAME_LOCATION,
@"Address");
} }
- (void)viewDidLoad { - (void)viewDidLoad {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment