OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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_item.h" | 5 #import "ios/chrome/browser/ui/ntp/new_tab_page_bar_item.h" |
6 | 6 |
7 #include "base/mac/objc_property_releaser.h" | 7 #if !defined(__has_feature) || !__has_feature(objc_arc) |
| 8 #error "This file requires ARC support." |
| 9 #endif |
8 | 10 |
9 @implementation NewTabPageBarItem { | 11 @implementation NewTabPageBarItem |
10 // Title of the button. | |
11 NSString* title_; | |
12 // A numeric identifier. | |
13 NSUInteger identifier_; | |
14 // Tabbar image. | |
15 UIImage* image_; | |
16 // New tab page view. | |
17 __unsafe_unretained UIView* view_; // weak | |
18 base::mac::ObjCPropertyReleaser propertyReleaser_NewTabPageBarItem_; | |
19 } | |
20 | |
21 @synthesize title = title_; | 12 @synthesize title = title_; |
22 @synthesize identifier = identifier_; | 13 @synthesize identifier = identifier_; |
23 @synthesize image = image_; | 14 @synthesize image = image_; |
24 @synthesize view = view_; | 15 @synthesize view = view_; |
25 | 16 |
26 + (NewTabPageBarItem*)newTabPageBarItemWithTitle:(NSString*)title | 17 + (NewTabPageBarItem*)newTabPageBarItemWithTitle:(NSString*)title |
27 identifier:(NSUInteger)identifier | 18 identifier:(NSUInteger)identifier |
28 image:(UIImage*)image { | 19 image:(UIImage*)image { |
29 NewTabPageBarItem* item = [[[NewTabPageBarItem alloc] init] autorelease]; | 20 NewTabPageBarItem* item = [[NewTabPageBarItem alloc] init]; |
30 if (item) { | 21 if (item) { |
31 item.title = title; | 22 item.title = title; |
32 item.identifier = identifier; | 23 item.identifier = identifier; |
33 item.image = image; | 24 item.image = image; |
34 } | 25 } |
35 return item; | 26 return item; |
36 } | 27 } |
37 | 28 |
38 - (id)init { | |
39 self = [super init]; | |
40 if (self) { | |
41 propertyReleaser_NewTabPageBarItem_.Init(self, [NewTabPageBarItem class]); | |
42 } | |
43 return self; | |
44 } | |
45 | |
46 @end | 29 @end |
OLD | NEW |