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

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

Issue 2610923005: Replace ObjCPropertyReleaser with ReleaseProperties() project-wide. (Closed)
Patch Set: Rebase 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_property_releaser.h" 8 #include "base/mac/objc_release_properties.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;
31 } 30 }
32 31
33 @property(nonatomic, retain) UIColor* color; 32 @property(nonatomic, retain) UIColor* color;
34 @property(nonatomic, retain) UIColor* selectedColor; 33 @property(nonatomic, retain) UIColor* selectedColor;
35 @property(nonatomic, retain) UIColor* incognitoColor; 34 @property(nonatomic, retain) UIColor* incognitoColor;
36 @property(nonatomic, retain) UIColor* incognitoSelectedColor; 35 @property(nonatomic, retain) UIColor* incognitoSelectedColor;
37 @property(nonatomic, retain) UIColor* interpolatedColor; 36 @property(nonatomic, retain) UIColor* interpolatedColor;
38 @property(nonatomic, retain) UIColor* interpolatedSelectedColor; 37 @property(nonatomic, retain) UIColor* interpolatedSelectedColor;
39 @property(nonatomic, retain) UIImage* image; 38 @property(nonatomic, retain) UIImage* image;
40 @property(nonatomic, copy) NSString* title; 39 @property(nonatomic, copy) NSString* title;
(...skipping 14 matching lines...) Expand all
55 @synthesize interpolatedSelectedColor = _interpolatedSelectedColor; 54 @synthesize interpolatedSelectedColor = _interpolatedSelectedColor;
56 @synthesize image = _image; 55 @synthesize image = _image;
57 @synthesize title = _title; 56 @synthesize title = _title;
58 57
59 + (instancetype)buttonWithItem:(NewTabPageBarItem*)item { 58 + (instancetype)buttonWithItem:(NewTabPageBarItem*)item {
60 DCHECK(item); 59 DCHECK(item);
61 DCHECK(item.title); 60 DCHECK(item.title);
62 DCHECK(item.image); 61 DCHECK(item.image);
63 NewTabPageBarButton* button = 62 NewTabPageBarButton* button =
64 [[self class] buttonWithType:UIButtonTypeCustom]; 63 [[self class] buttonWithType:UIButtonTypeCustom];
65 button->_propertyReleaser_NewTabPageBarButton.Init(
66 button, [NewTabPageBarButton class]);
67 64
68 button.title = item.title; 65 button.title = item.title;
69 button.image = 66 button.image =
70 [item.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; 67 [item.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
71 button.color = UIColorFromRGB(kButtonColor, 1.0); 68 button.color = UIColorFromRGB(kButtonColor, 1.0);
72 button.selectedColor = UIColorFromRGB(kButtonSelectedColor, 1.0); 69 button.selectedColor = UIColorFromRGB(kButtonSelectedColor, 1.0);
73 button.incognitoColor = [UIColor colorWithWhite:1 alpha:0.5]; 70 button.incognitoColor = [UIColor colorWithWhite:1 alpha:0.5];
74 button.incognitoSelectedColor = [UIColor whiteColor]; 71 button.incognitoSelectedColor = [UIColor whiteColor];
75 72
76 button.autoresizingMask = UIViewAutoresizingFlexibleWidth; 73 button.autoresizingMask = UIViewAutoresizingFlexibleWidth;
77 button.adjustsImageWhenHighlighted = NO; 74 button.adjustsImageWhenHighlighted = NO;
78 button.accessibilityLabel = item.title; 75 button.accessibilityLabel = item.title;
79 button.titleLabel.font = [MDCTypography body2Font]; 76 button.titleLabel.font = [MDCTypography body2Font];
80 button.titleLabel.adjustsFontSizeToFitWidth = YES; 77 button.titleLabel.adjustsFontSizeToFitWidth = YES;
81 button.titleLabel.minimumScaleFactor = 0.6; 78 button.titleLabel.minimumScaleFactor = 0.6;
82 79
83 [button useIncognitoColorScheme:0]; 80 [button useIncognitoColorScheme:0];
84 [button setContentToDisplay:new_tab_page_bar_button::ContentType::TEXT]; 81 [button setContentToDisplay:new_tab_page_bar_button::ContentType::TEXT];
85 return button; 82 return button;
86 } 83 }
87 84
85 - (void)dealloc {
86 base::mac::ReleaseProperties(self);
87 [super dealloc];
88 }
89
88 - (void)useIncognitoColorScheme:(CGFloat)percentage { 90 - (void)useIncognitoColorScheme:(CGFloat)percentage {
89 DCHECK(percentage >= 0 && percentage <= 1); 91 DCHECK(percentage >= 0 && percentage <= 1);
90 self.interpolatedColor = 92 self.interpolatedColor =
91 InterpolateFromColorToColor(_color, _incognitoColor, percentage); 93 InterpolateFromColorToColor(_color, _incognitoColor, percentage);
92 self.interpolatedSelectedColor = InterpolateFromColorToColor( 94 self.interpolatedSelectedColor = InterpolateFromColorToColor(
93 _selectedColor, _incognitoSelectedColor, percentage); 95 _selectedColor, _incognitoSelectedColor, percentage);
94 96
95 [self setTitleColor:_interpolatedColor forState:UIControlStateNormal]; 97 [self setTitleColor:_interpolatedColor forState:UIControlStateNormal];
96 [self setTitleColor:_interpolatedSelectedColor 98 [self setTitleColor:_interpolatedSelectedColor
97 forState:UIControlStateSelected]; 99 forState:UIControlStateSelected];
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 [super setSelected:selected]; 131 [super setSelected:selected];
130 [self refreshTintColor]; 132 [self refreshTintColor];
131 } 133 }
132 134
133 - (void)setHighlighted:(BOOL)highlighted { 135 - (void)setHighlighted:(BOOL)highlighted {
134 [super setHighlighted:highlighted]; 136 [super setHighlighted:highlighted];
135 [self refreshTintColor]; 137 [self refreshTintColor];
136 } 138 }
137 139
138 @end 140 @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