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 @@
- (instancetype)initWithFrame:(CGRect)frame
font:(UIFont*)font
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)initWithCoder:(NSCoder*)aDecoder NS_UNAVAILABLE;
......
......@@ -58,13 +58,14 @@ const CGFloat kTextFieldLeadingOffsetImage = 6;
- (instancetype)initWithFrame:(CGRect)frame
font:(UIFont*)font
textColor:(UIColor*)textColor
tintColor:(UIColor*)tintColor {
textFieldTint:(UIColor*)textFieldTint
iconTint:(UIColor*)iconTint {
self = [super initWithFrame:frame];
if (self) {
_textField = [[OmniboxTextFieldIOS alloc] initWithFrame:frame
font:font
textColor:textColor
tintColor:tintColor];
tintColor:textFieldTint];
[self addSubview:_textField];
_leadingTextfieldConstraint = [_textField.leadingAnchor
......@@ -88,7 +89,7 @@ const CGFloat kTextFieldLeadingOffsetImage = 6;
UILayoutConstraintAxisHorizontal];
[self createLeadingImageView];
_leadingImageView.tintColor = tintColor ?: [UIColor blackColor];
_leadingImageView.tintColor = iconTint;
}
return self;
}
......@@ -123,6 +124,13 @@ const CGFloat kTextFieldLeadingOffsetImage = 6;
[self.leadingImageView setImage:image];
}
- (void)setIncognito:(BOOL)incognito {
_incognito = incognito;
self.textField.incognito = incognito;
}
#pragma mark - private
- (void)createLeadingImageView {
_leadingImageView = [[UIImageView alloc] init];
_leadingImageView.translatesAutoresizingMaskIntoConstraints = NO;
......
......@@ -17,20 +17,11 @@
#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_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)
#error "This file requires ARC support."
#endif
namespace {
// Font size used in the omnibox.
const CGFloat kFontSize = 19.0f;
} // namespace
@interface OmniboxCoordinator ()
// Object taking care of adding the accessory views to the keyboard.
@property(nonatomic, strong)
......@@ -59,16 +50,8 @@ const CGFloat kFontSize = 19.0f;
- (void)start {
BOOL isIncognito = self.browserState->IsOffTheRecord();
UIColor* textColor =
isIncognito ? [UIColor whiteColor] : [UIColor colorWithWhite:0 alpha:0.7];
UIColor* tintColor =
isIncognito ? [UIColor whiteColor] : [UIColor blackColor];
self.viewController = [[OmniboxViewController alloc]
initWithFont:[UIFont systemFontOfSize:kFontSize]
textColor:textColor
tintColor:tintColor
incognito:isIncognito];
self.viewController =
[[OmniboxViewController alloc] initWithIncognito:isIncognito];
self.mediator = [[OmniboxMediator alloc] init];
self.mediator.consumer = self.viewController;
......@@ -78,9 +61,6 @@ const CGFloat kFontSize = 19.0f;
self.textField, self.editController, self.mediator, self.browserState);
// Configure the textfield.
SetA11yLabelAndUiAutomationName(self.textField, IDS_ACCNAME_LOCATION,
@"Address");
self.textField.incognito = isIncognito;
self.textField.suggestionCommandsEndpoint =
static_cast<id<OmniboxSuggestionCommands>>(self.dispatcher);
......
......@@ -17,10 +17,7 @@
@property(nonatomic, readonly, strong) OmniboxTextFieldIOS* textField;
// Designated initializer.
- (instancetype)initWithFont:(UIFont*)font
textColor:(UIColor*)textColor
tintColor:(UIColor*)tintColor
incognito:(BOOL)isIncognito;
- (instancetype)initWithIncognito:(BOOL)isIncognito;
@end
......
......@@ -8,40 +8,36 @@
#import "ios/chrome/browser/ui/omnibox/omnibox_container_view.h"
#include "ios/chrome/browser/ui/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"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif
namespace {
// Font size used in the omnibox.
const CGFloat kFontSize = 19.0f;
} // namespace
@interface OmniboxViewController ()
// Override of UIViewController's view with a different type.
@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;
@end
@implementation OmniboxViewController
@synthesize textFieldFont = _textFieldFont;
@synthesize textFieldTintColor = _textFieldTintColor;
@synthesize textFieldTextColor = _textFieldTextColor;
@synthesize incognito = _incognito;
@dynamic view;
- (instancetype)initWithFont:(UIFont*)font
textColor:(UIColor*)textColor
tintColor:(UIColor*)tintColor
incognito:(BOOL)isIncognito {
- (instancetype)initWithIncognito:(BOOL)isIncognito {
self = [super init];
if (self) {
_textFieldFont = font;
_textFieldTextColor = textColor;
_textFieldTintColor = tintColor;
_incognito = isIncognito;
}
return self;
......@@ -50,12 +46,24 @@
#pragma mark - UIViewController
- (void)loadView {
self.view =
[[OmniboxContainerView alloc] initWithFrame:CGRectZero
font:self.textFieldFont
textColor:self.textFieldTextColor
tintColor:self.textFieldTintColor];
UIColor* textColor = self.incognito ? [UIColor whiteColor]
: [UIColor colorWithWhite:0 alpha:0.7];
UIColor* textFieldTintColor =
self.incognito ? [UIColor whiteColor] : [UIColor blackColor];
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;
SetA11yLabelAndUiAutomationName(self.textField, IDS_ACCNAME_LOCATION,
@"Address");
}
- (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