Index: ios/chrome/browser/ui/bookmarks/bookmark_home_view_controller.mm |
diff --git a/ios/chrome/browser/ui/bookmarks/bookmark_home_view_controller.mm b/ios/chrome/browser/ui/bookmarks/bookmark_home_view_controller.mm |
deleted file mode 100644 |
index cd277517d80e8b279519e0ccb78fa1b85a3ca27f..0000000000000000000000000000000000000000 |
--- a/ios/chrome/browser/ui/bookmarks/bookmark_home_view_controller.mm |
+++ /dev/null |
@@ -1,144 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#import "ios/chrome/browser/ui/bookmarks/bookmark_home_view_controller.h" |
- |
-#include "components/bookmarks/browser/base_bookmark_model_observer.h" |
-#include "components/bookmarks/browser/bookmark_model.h" |
-#include "ios/chrome/browser/bookmarks/bookmark_model_factory.h" |
-#include "ios/chrome/browser/browser_state/chrome_browser_state.h" |
-#import "ios/chrome/browser/ui/bookmarks/bookmark_collection_view.h" |
-#import "ios/chrome/browser/ui/url_loader.h" |
- |
-#if !defined(__has_feature) || !__has_feature(objc_arc) |
-#error "This file requires ARC support." |
-#endif |
- |
-using bookmarks::BookmarkNode; |
- |
-@interface BookmarkHomeViewController () |
- |
-// Redefined to be readwrite. |
-@property(nonatomic, strong, readwrite) NSMutableArray* editIndexPaths; |
- |
-// Returns the parent, if all the bookmarks are siblings. |
-// Otherwise returns the mobile_node. |
-+ (const BookmarkNode*) |
-defaultMoveFolderFromBookmarks:(const std::set<const BookmarkNode*>&)bookmarks |
- model:(bookmarks::BookmarkModel*)model; |
-@end |
- |
-@implementation BookmarkHomeViewController |
-@synthesize delegate = _delegate; |
-@synthesize editIndexPaths = _editIndexPaths; |
-@synthesize editing = _editing; |
-@synthesize bookmarks = _bookmarks; |
-@synthesize loader = _loader; |
-@synthesize browserState = _browserState; |
- |
-- (instancetype)initWithLoader:(id<UrlLoader>)loader |
- browserState:(ios::ChromeBrowserState*)browserState { |
- DCHECK(browserState); |
- self = [super initWithNibName:nil bundle:nil]; |
- if (self) { |
- _browserState = browserState->GetOriginalChromeBrowserState(); |
- _loader = loader; |
- |
- _bookmarks = ios::BookmarkModelFactory::GetForBrowserState(_browserState); |
- _editIndexPaths = [[NSMutableArray alloc] init]; |
- |
- [self resetEditNodes]; |
- } |
- return self; |
-} |
- |
-- (void)loadView { |
- CGRect frame = [[UIScreen mainScreen] bounds]; |
- self.view = [[UIView alloc] initWithFrame:frame]; |
-} |
- |
-- (void)resetEditNodes { |
- _editNodes = std::set<const BookmarkNode*>(); |
- _editNodesOrdered = std::vector<const BookmarkNode*>(); |
- [self.editIndexPaths removeAllObjects]; |
-} |
- |
-- (void)insertEditNode:(const BookmarkNode*)node |
- atIndexPath:(NSIndexPath*)indexPath { |
- if (_editNodes.find(node) != _editNodes.end()) |
- return; |
- _editNodes.insert(node); |
- _editNodesOrdered.push_back(node); |
- if (indexPath) { |
- [self.editIndexPaths addObject:indexPath]; |
- } else { |
- // We insert null if we don't have the cell to keep the index valid. |
- [self.editIndexPaths addObject:[NSNull null]]; |
- } |
-} |
- |
-- (void)removeEditNode:(const BookmarkNode*)node |
- atIndexPath:(NSIndexPath*)indexPath { |
- if (_editNodes.find(node) == _editNodes.end()) |
- return; |
- |
- _editNodes.erase(node); |
- std::vector<const BookmarkNode*>::iterator it = |
- std::find(_editNodesOrdered.begin(), _editNodesOrdered.end(), node); |
- DCHECK(it != _editNodesOrdered.end()); |
- _editNodesOrdered.erase(it); |
- if (indexPath) { |
- [self.editIndexPaths removeObject:indexPath]; |
- } else { |
- // If we don't have the cell, we remove it by using its index. |
- const NSUInteger index = std::distance(_editNodesOrdered.begin(), it); |
- if (index < self.editIndexPaths.count) { |
- [self.editIndexPaths removeObjectAtIndex:index]; |
- } |
- } |
-} |
- |
-- (void)setEditing:(BOOL)editing animated:(BOOL)animated { |
- if (_editing == editing) |
- return; |
- |
- _editing = editing; |
- |
- // Only reset the editing state when leaving edit mode. This allows subclasses |
- // to add nodes for editing before entering edit mode. |
- if (!editing) |
- [self resetEditNodes]; |
-} |
- |
-- (void)dismissModals:(BOOL)animated { |
- // Do nothing in base class. |
-} |
- |
-+ (const BookmarkNode*) |
-defaultMoveFolderFromBookmarks:(const std::set<const BookmarkNode*>&)bookmarks |
- model:(bookmarks::BookmarkModel*)model { |
- if (bookmarks.size() == 0) |
- return model->mobile_node(); |
- const BookmarkNode* firstParent = (*(bookmarks.begin()))->parent(); |
- for (const BookmarkNode* node : bookmarks) { |
- if (node->parent() != firstParent) |
- return model->mobile_node(); |
- } |
- |
- return firstParent; |
-} |
- |
-@end |
- |
-@implementation BookmarkHomeViewController (PrivateAPIExposedForTesting) |
- |
-- (const std::set<const BookmarkNode*>&)editNodes { |
- return _editNodes; |
-} |
- |
-- (void)setEditNodes:(const std::set<const BookmarkNode*>&)editNodes { |
- _editNodes = editNodes; |
-} |
- |
-@end |