| Index: ios/chrome/browser/ui/bookmarks/bookmark_interaction_controller.h
|
| diff --git a/ios/chrome/browser/ui/bookmarks/bookmark_interaction_controller.h b/ios/chrome/browser/ui/bookmarks/bookmark_interaction_controller.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7a0aa79df48a0cb16b16cb350389704d971fb23e
|
| --- /dev/null
|
| +++ b/ios/chrome/browser/ui/bookmarks/bookmark_interaction_controller.h
|
| @@ -0,0 +1,67 @@
|
| +// Copyright 2013 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.
|
| +#ifndef IOS_CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_INTERACTION_CONTROLLER_H_
|
| +#define IOS_CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_INTERACTION_CONTROLLER_H_
|
| +
|
| +#import <UIKit/UIKit.h>
|
| +
|
| +@class Tab;
|
| +@protocol UrlLoader;
|
| +
|
| +namespace bookmarks {
|
| +class BookmarkNode;
|
| +} // namespace bookmarks
|
| +
|
| +namespace ios {
|
| +class ChromeBrowserState;
|
| +} // namespace ios
|
| +
|
| +namespace user_prefs {
|
| +class PrefRegistrySyncable;
|
| +} // namespace user_prefs
|
| +
|
| +// The BookmarkInteractionController abstracts the management of the various
|
| +// UIViewControllers used to create, remove and edit a bookmark. Its main entry
|
| +// point is called when the user taps on the star icon.
|
| +@interface BookmarkInteractionController : NSObject
|
| +
|
| +// Registers the feature preferences.
|
| ++ (void)registerBrowserStatePrefs:(user_prefs::PrefRegistrySyncable*)registry;
|
| +
|
| +// Accesses the default folder for new bookmarks. The default folder is Mobile
|
| +// Bookmarks.
|
| ++ (const bookmarks::BookmarkNode*)folderForNewBookmarksInBrowserState:
|
| + (ios::ChromeBrowserState*)browserState;
|
| ++ (void)setFolderForNewBookmarks:(const bookmarks::BookmarkNode*)folder
|
| + inBrowserState:(ios::ChromeBrowserState*)browserState;
|
| +
|
| +- (instancetype)initWithBrowserState:(ios::ChromeBrowserState*)browserState
|
| + loader:(id<UrlLoader>)loader
|
| + parentController:(UIViewController*)parentController
|
| + NS_DESIGNATED_INITIALIZER;
|
| +- (instancetype)init NS_UNAVAILABLE;
|
| +
|
| +// Presents the bookmark UI for a single bookmark. The |parentView| and |origin|
|
| +// are hints that may or may not be used in how the UI for a single bookmark
|
| +// will appear.
|
| +// Subclasses must override this method.
|
| +- (void)presentBookmarkForTab:(Tab*)tab
|
| + currentlyBookmarked:(BOOL)bookmarked
|
| + inView:(UIView*)parentView
|
| + originRect:(CGRect)origin;
|
| +
|
| +// Presents the bookmarks browser modally. Subclasses must override this method.
|
| +- (void)presentBookmarks;
|
| +
|
| +// Removes any bookmark modal controller from view if visible. Subclasses must
|
| +// override this method.
|
| +- (void)dismissBookmarkModalControllerAnimated:(BOOL)animated;
|
| +
|
| +// Removes any snackbar related to bookmarks that could have been presented. The
|
| +// default implementation is a no-op.
|
| +- (void)dismissSnackbar;
|
| +
|
| +@end
|
| +
|
| +#endif // IOS_CHROME_BROWSER_UI_BOOKMARKS_BOOKMARK_INTERACTION_CONTROLLER_H_
|
|
|