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

Unified Diff: ios/chrome/browser/ui/bookmarks/bookmark_interaction_controller.h

Issue 2586993002: Upstream Chrome on iOS source code [3/11]. (Closed)
Patch Set: Created 4 years 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 side-by-side diff with in-line comments
Download patch
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_

Powered by Google App Engine
This is Rietveld 408576698