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

Unified Diff: ios/chrome/browser/ui/ntp/recent_tabs/recent_tabs_table_view_controller.h

Issue 2589803002: Upstream Chrome on iOS source code [6/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/ntp/recent_tabs/recent_tabs_table_view_controller.h
diff --git a/ios/chrome/browser/ui/ntp/recent_tabs/recent_tabs_table_view_controller.h b/ios/chrome/browser/ui/ntp/recent_tabs/recent_tabs_table_view_controller.h
new file mode 100644
index 0000000000000000000000000000000000000000..ba6e4345596314d83093f8c56e1382b6e9529aa7
--- /dev/null
+++ b/ios/chrome/browser/ui/ntp/recent_tabs/recent_tabs_table_view_controller.h
@@ -0,0 +1,73 @@
+// 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.
+
+#ifndef IOS_CHROME_BROWSER_UI_NTP_RECENT_TABS_RECENT_TABS_TABLE_VIEW_CONTROLLER_H_
+#define IOS_CHROME_BROWSER_UI_NTP_RECENT_TABS_RECENT_TABS_TABLE_VIEW_CONTROLLER_H_
+
+#import "ios/chrome/browser/ui/ntp/new_tab_page_panel_protocol.h"
+
+#import "ios/chrome/browser/ui/ntp/recent_tabs/recent_tabs_panel_controller.h"
+#import "ios/chrome/browser/ui/ntp/recent_tabs/sessions_sync_user_state.h"
+
+namespace sessions {
+class TabRestoreService;
+}
+
+namespace ios {
+class ChromeBrowserState;
+}
+
+@protocol RecentTabsTableViewControllerDelegate<NSObject>
+// Tells the delegate when the table view content scrolled or changed size.
+- (void)recentTabsTableViewContentMoved:(UITableView*)tableView;
+@end
+
+// Controls the content of a UITableView.
+//
+// The UITableView can contain the following different sections:
+// A/ Closed tabs section.
+// This section lists all the local tabs that were recently closed.
+// A*/ Separator section.
+// This section contains only a single cell that acts as a separator.
+// B/ Other Devices section.
+// Depending on the user state, the section will either contain a view
+// offering the user to sign in, a view to activate sync, or a view to inform
+// the user that they can turn on sync on other devices.
+// C/ Session section.
+// This section shows the sessions from other devices.
+//
+// Section A is always present, followed by section A*.
+// Depending on the user sync state, either section B or section C will be
+// presented.
+@interface RecentTabsTableViewController
+ : UITableViewController<UIGestureRecognizerDelegate>
+
+@property(nonatomic, assign) id<RecentTabsTableViewControllerDelegate>
+ delegate; // weak
+
+// Designated initializer. The controller opens link with |loader|.
+// |browserState|
+// and |loader| must not be nil.
+- (instancetype)initWithBrowserState:(ios::ChromeBrowserState*)browserState
+ loader:(id<UrlLoader>)loader;
+
+// Refreshes the table view to match the current sync state.
+- (void)refreshUserState:(SessionsSyncUserState)state;
+
+// Refreshes the recently closed tab section.
+- (void)refreshRecentlyClosedTabs;
+
+// Sets the service used to populate the closed tab section. Can be used to nil
+// the service in case it is not available anymore.
+- (void)setTabRestoreService:(sessions::TabRestoreService*)tabRestoreService;
+
+// Sets whether scroll to top is enabled.
+- (void)setScrollsToTop:(BOOL)enabled;
+
+// Dismisses any outstanding modal user interface elements.
+- (void)dismissModals;
+
+@end
+
+#endif // IOS_CHROME_BROWSER_UI_NTP_RECENT_TABS_RECENT_TABS_TABLE_VIEW_CONTROLLER_H_

Powered by Google App Engine
This is Rietveld 408576698