OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/bookmarks/bookmark_home_view_controller.h" | 5 #import "ios/chrome/browser/ui/bookmarks/bookmark_home_view_controller.h" |
6 | 6 |
7 #include "base/mac/objc_property_releaser.h" | |
8 #include "base/mac/scoped_nsobject.h" | |
9 #include "components/bookmarks/browser/base_bookmark_model_observer.h" | 7 #include "components/bookmarks/browser/base_bookmark_model_observer.h" |
10 #include "components/bookmarks/browser/bookmark_model.h" | 8 #include "components/bookmarks/browser/bookmark_model.h" |
11 #include "ios/chrome/browser/bookmarks/bookmark_model_factory.h" | 9 #include "ios/chrome/browser/bookmarks/bookmark_model_factory.h" |
12 #include "ios/chrome/browser/browser_state/chrome_browser_state.h" | 10 #include "ios/chrome/browser/browser_state/chrome_browser_state.h" |
13 #import "ios/chrome/browser/ui/bookmarks/bookmark_collection_view.h" | 11 #import "ios/chrome/browser/ui/bookmarks/bookmark_collection_view.h" |
14 #import "ios/chrome/browser/ui/url_loader.h" | 12 #import "ios/chrome/browser/ui/url_loader.h" |
15 | 13 |
| 14 #if !defined(__has_feature) || !__has_feature(objc_arc) |
| 15 #error "This file requires ARC support." |
| 16 #endif |
| 17 |
16 using bookmarks::BookmarkNode; | 18 using bookmarks::BookmarkNode; |
17 | 19 |
18 @interface BookmarkHomeViewController () { | 20 @interface BookmarkHomeViewController () |
19 base::mac::ObjCPropertyReleaser _propertyReleaser_BookmarkHomeViewController; | |
20 } | |
21 | 21 |
22 // Redefined to be readwrite. | 22 // Redefined to be readwrite. |
23 @property(nonatomic, retain, readwrite) NSMutableArray* editIndexPaths; | 23 @property(nonatomic, strong, readwrite) NSMutableArray* editIndexPaths; |
24 | 24 |
25 // Returns the parent, if all the bookmarks are siblings. | 25 // Returns the parent, if all the bookmarks are siblings. |
26 // Otherwise returns the mobile_node. | 26 // Otherwise returns the mobile_node. |
27 + (const BookmarkNode*) | 27 + (const BookmarkNode*) |
28 defaultMoveFolderFromBookmarks:(const std::set<const BookmarkNode*>&)bookmarks | 28 defaultMoveFolderFromBookmarks:(const std::set<const BookmarkNode*>&)bookmarks |
29 model:(bookmarks::BookmarkModel*)model; | 29 model:(bookmarks::BookmarkModel*)model; |
30 @end | 30 @end |
31 | 31 |
32 @implementation BookmarkHomeViewController | 32 @implementation BookmarkHomeViewController |
33 @synthesize delegate = _delegate; | 33 @synthesize delegate = _delegate; |
34 @synthesize editIndexPaths = _editIndexPaths; | 34 @synthesize editIndexPaths = _editIndexPaths; |
35 @synthesize editing = _editing; | 35 @synthesize editing = _editing; |
36 @synthesize bookmarks = _bookmarks; | 36 @synthesize bookmarks = _bookmarks; |
37 @synthesize loader = _loader; | 37 @synthesize loader = _loader; |
38 @synthesize browserState = _browserState; | 38 @synthesize browserState = _browserState; |
39 | 39 |
40 - (instancetype)initWithLoader:(id<UrlLoader>)loader | 40 - (instancetype)initWithLoader:(id<UrlLoader>)loader |
41 browserState:(ios::ChromeBrowserState*)browserState { | 41 browserState:(ios::ChromeBrowserState*)browserState { |
42 DCHECK(browserState); | 42 DCHECK(browserState); |
43 self = [super initWithNibName:nil bundle:nil]; | 43 self = [super initWithNibName:nil bundle:nil]; |
44 if (self) { | 44 if (self) { |
45 _propertyReleaser_BookmarkHomeViewController.Init( | |
46 self, [BookmarkHomeViewController class]); | |
47 | |
48 _browserState = browserState->GetOriginalChromeBrowserState(); | 45 _browserState = browserState->GetOriginalChromeBrowserState(); |
49 _loader = loader; | 46 _loader = loader; |
50 | 47 |
51 _bookmarks = ios::BookmarkModelFactory::GetForBrowserState(_browserState); | 48 _bookmarks = ios::BookmarkModelFactory::GetForBrowserState(_browserState); |
52 _editIndexPaths = [[NSMutableArray alloc] init]; | 49 _editIndexPaths = [[NSMutableArray alloc] init]; |
53 | 50 |
54 [self resetEditNodes]; | 51 [self resetEditNodes]; |
55 } | 52 } |
56 return self; | 53 return self; |
57 } | 54 } |
58 | 55 |
59 - (void)loadView { | 56 - (void)loadView { |
60 CGRect frame = [[UIScreen mainScreen] bounds]; | 57 CGRect frame = [[UIScreen mainScreen] bounds]; |
61 self.view = | 58 self.view = [[UIView alloc] initWithFrame:frame]; |
62 base::scoped_nsobject<UIView>([[UIView alloc] initWithFrame:frame]); | |
63 } | 59 } |
64 | 60 |
65 - (void)resetEditNodes { | 61 - (void)resetEditNodes { |
66 _editNodes = std::set<const BookmarkNode*>(); | 62 _editNodes = std::set<const BookmarkNode*>(); |
67 _editNodesOrdered = std::vector<const BookmarkNode*>(); | 63 _editNodesOrdered = std::vector<const BookmarkNode*>(); |
68 [self.editIndexPaths removeAllObjects]; | 64 [self.editIndexPaths removeAllObjects]; |
69 } | 65 } |
70 | 66 |
71 - (void)insertEditNode:(const BookmarkNode*)node | 67 - (void)insertEditNode:(const BookmarkNode*)node |
72 atIndexPath:(NSIndexPath*)indexPath { | 68 atIndexPath:(NSIndexPath*)indexPath { |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 | 135 |
140 - (const std::set<const BookmarkNode*>&)editNodes { | 136 - (const std::set<const BookmarkNode*>&)editNodes { |
141 return _editNodes; | 137 return _editNodes; |
142 } | 138 } |
143 | 139 |
144 - (void)setEditNodes:(const std::set<const BookmarkNode*>&)editNodes { | 140 - (void)setEditNodes:(const std::set<const BookmarkNode*>&)editNodes { |
145 _editNodes = editNodes; | 141 _editNodes = editNodes; |
146 } | 142 } |
147 | 143 |
148 @end | 144 @end |
OLD | NEW |