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

Side by Side Diff: ios/chrome/browser/ui/ntp/new_tab_page_bar_button.mm

Issue 2881183002: Revert of Replace ObjCPropertyReleaser with ReleaseProperties() project-wide. (Closed)
Patch Set: Created 3 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 #import "ios/chrome/browser/ui/ntp/new_tab_page_bar_button.h" 5 #import "ios/chrome/browser/ui/ntp/new_tab_page_bar_button.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/mac/objc_release_properties.h" 8 #include "base/mac/objc_property_releaser.h"
9 #import "ios/chrome/browser/ui/ntp/new_tab_page_bar_item.h" 9 #import "ios/chrome/browser/ui/ntp/new_tab_page_bar_item.h"
10 #import "ios/chrome/browser/ui/uikit_ui_util.h" 10 #import "ios/chrome/browser/ui/uikit_ui_util.h"
11 #import "ios/third_party/material_components_ios/src/components/Typography/src/M aterialTypography.h" 11 #import "ios/third_party/material_components_ios/src/components/Typography/src/M aterialTypography.h"
12 12
13 namespace { 13 namespace {
14 14
15 const int kButtonColor = 0x333333; 15 const int kButtonColor = 0x333333;
16 const int kButtonSelectedColor = 0x4285F4; 16 const int kButtonSelectedColor = 0x4285F4;
17 17
18 } // anonymous namespace 18 } // anonymous namespace
19 19
20 @interface NewTabPageBarButton () { 20 @interface NewTabPageBarButton () {
21 UIColor* _color; 21 UIColor* _color;
22 UIColor* _selectedColor; 22 UIColor* _selectedColor;
23 UIColor* _incognitoColor; 23 UIColor* _incognitoColor;
24 UIColor* _incognitoSelectedColor; 24 UIColor* _incognitoSelectedColor;
25 UIColor* _interpolatedColor; 25 UIColor* _interpolatedColor;
26 UIColor* _interpolatedSelectedColor; 26 UIColor* _interpolatedSelectedColor;
27 27
28 UIImage* _image; 28 UIImage* _image;
29 NSString* _title; 29 NSString* _title;
30 base::mac::ObjCPropertyReleaser _propertyReleaser_NewTabPageBarButton;
30 } 31 }
31 32
32 @property(nonatomic, retain) UIColor* color; 33 @property(nonatomic, retain) UIColor* color;
33 @property(nonatomic, retain) UIColor* selectedColor; 34 @property(nonatomic, retain) UIColor* selectedColor;
34 @property(nonatomic, retain) UIColor* incognitoColor; 35 @property(nonatomic, retain) UIColor* incognitoColor;
35 @property(nonatomic, retain) UIColor* incognitoSelectedColor; 36 @property(nonatomic, retain) UIColor* incognitoSelectedColor;
36 @property(nonatomic, retain) UIColor* interpolatedColor; 37 @property(nonatomic, retain) UIColor* interpolatedColor;
37 @property(nonatomic, retain) UIColor* interpolatedSelectedColor; 38 @property(nonatomic, retain) UIColor* interpolatedSelectedColor;
38 @property(nonatomic, retain) UIImage* image; 39 @property(nonatomic, retain) UIImage* image;
39 @property(nonatomic, copy) NSString* title; 40 @property(nonatomic, copy) NSString* title;
(...skipping 14 matching lines...) Expand all
54 @synthesize interpolatedSelectedColor = _interpolatedSelectedColor; 55 @synthesize interpolatedSelectedColor = _interpolatedSelectedColor;
55 @synthesize image = _image; 56 @synthesize image = _image;
56 @synthesize title = _title; 57 @synthesize title = _title;
57 58
58 + (instancetype)buttonWithItem:(NewTabPageBarItem*)item { 59 + (instancetype)buttonWithItem:(NewTabPageBarItem*)item {
59 DCHECK(item); 60 DCHECK(item);
60 DCHECK(item.title); 61 DCHECK(item.title);
61 DCHECK(item.image); 62 DCHECK(item.image);
62 NewTabPageBarButton* button = 63 NewTabPageBarButton* button =
63 [[self class] buttonWithType:UIButtonTypeCustom]; 64 [[self class] buttonWithType:UIButtonTypeCustom];
65 button->_propertyReleaser_NewTabPageBarButton.Init(
66 button, [NewTabPageBarButton class]);
64 67
65 button.title = item.title; 68 button.title = item.title;
66 button.image = 69 button.image =
67 [item.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; 70 [item.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
68 button.color = UIColorFromRGB(kButtonColor, 1.0); 71 button.color = UIColorFromRGB(kButtonColor, 1.0);
69 button.selectedColor = UIColorFromRGB(kButtonSelectedColor, 1.0); 72 button.selectedColor = UIColorFromRGB(kButtonSelectedColor, 1.0);
70 button.incognitoColor = [UIColor colorWithWhite:1 alpha:0.5]; 73 button.incognitoColor = [UIColor colorWithWhite:1 alpha:0.5];
71 button.incognitoSelectedColor = [UIColor whiteColor]; 74 button.incognitoSelectedColor = [UIColor whiteColor];
72 75
73 button.autoresizingMask = UIViewAutoresizingFlexibleWidth; 76 button.autoresizingMask = UIViewAutoresizingFlexibleWidth;
74 button.adjustsImageWhenHighlighted = NO; 77 button.adjustsImageWhenHighlighted = NO;
75 button.accessibilityLabel = item.title; 78 button.accessibilityLabel = item.title;
76 button.titleLabel.font = [MDCTypography body2Font]; 79 button.titleLabel.font = [MDCTypography body2Font];
77 button.titleLabel.adjustsFontSizeToFitWidth = YES; 80 button.titleLabel.adjustsFontSizeToFitWidth = YES;
78 button.titleLabel.minimumScaleFactor = 0.6; 81 button.titleLabel.minimumScaleFactor = 0.6;
79 82
80 [button useIncognitoColorScheme:0]; 83 [button useIncognitoColorScheme:0];
81 [button setContentToDisplay:new_tab_page_bar_button::ContentType::TEXT]; 84 [button setContentToDisplay:new_tab_page_bar_button::ContentType::TEXT];
82 return button; 85 return button;
83 } 86 }
84 87
85 - (void)dealloc {
86 base::mac::ReleaseProperties(self);
87 [super dealloc];
88 }
89
90 - (void)useIncognitoColorScheme:(CGFloat)percentage { 88 - (void)useIncognitoColorScheme:(CGFloat)percentage {
91 DCHECK(percentage >= 0 && percentage <= 1); 89 DCHECK(percentage >= 0 && percentage <= 1);
92 self.interpolatedColor = 90 self.interpolatedColor =
93 InterpolateFromColorToColor(_color, _incognitoColor, percentage); 91 InterpolateFromColorToColor(_color, _incognitoColor, percentage);
94 self.interpolatedSelectedColor = InterpolateFromColorToColor( 92 self.interpolatedSelectedColor = InterpolateFromColorToColor(
95 _selectedColor, _incognitoSelectedColor, percentage); 93 _selectedColor, _incognitoSelectedColor, percentage);
96 94
97 [self setTitleColor:_interpolatedColor forState:UIControlStateNormal]; 95 [self setTitleColor:_interpolatedColor forState:UIControlStateNormal];
98 [self setTitleColor:_interpolatedSelectedColor 96 [self setTitleColor:_interpolatedSelectedColor
99 forState:UIControlStateSelected]; 97 forState:UIControlStateSelected];
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 [super setSelected:selected]; 129 [super setSelected:selected];
132 [self refreshTintColor]; 130 [self refreshTintColor];
133 } 131 }
134 132
135 - (void)setHighlighted:(BOOL)highlighted { 133 - (void)setHighlighted:(BOOL)highlighted {
136 [super setHighlighted:highlighted]; 134 [super setHighlighted:highlighted];
137 [self refreshTintColor]; 135 [self refreshTintColor];
138 } 136 }
139 137
140 @end 138 @end
OLDNEW
« no previous file with comments | « ios/chrome/browser/ui/ntp/new_tab_page_bar.mm ('k') | ios/chrome/browser/ui/ntp/new_tab_page_bar_item.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698