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

Unified Diff: ios/chrome/browser/ui/history/history_entry_item.h

Issue 2590473002: Upstream Chrome on iOS source code [5/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/history/history_entry_item.h
diff --git a/ios/chrome/browser/ui/history/history_entry_item.h b/ios/chrome/browser/ui/history/history_entry_item.h
new file mode 100644
index 0000000000000000000000000000000000000000..ebbcb5ee86174ac388e7b436c64cf21f1417861f
--- /dev/null
+++ b/ios/chrome/browser/ui/history/history_entry_item.h
@@ -0,0 +1,88 @@
+// Copyright 2016 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_HISTORY_HISTORY_ENTRY_ITEM_H_
+#define IOS_CHROME_BROWSER_UI_HISTORY_HISTORY_ENTRY_ITEM_H_
+
+#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h"
+#import "ios/third_party/material_components_ios/src/components/Collections/src/MaterialCollections.h"
+
+namespace base {
+class Time;
+} // namespace base
+
+namespace history {
+struct HistoryEntry;
+} // namespace history
+
+namespace ios {
+class ChromeBrowserState;
+} // namespace ios
+
+@class FaviconView;
+@protocol FaviconViewProviderDelegate;
+class GURL;
+@class HistoryEntryItem;
+
+// Delegate for HistoryEntryItem. Handles actions invoked as custom
+// accessibility actions.
+@protocol HistoryEntryItemDelegate
+// Called when custom accessibility action to delete the entry is invoked.
+- (void)historyEntryItemDidRequestDelete:(HistoryEntryItem*)item;
+// Called when custom accessibility action to open the entry in a new tab is
+// invoked.
+- (void)historyEntryItemDidRequestOpenInNewTab:(HistoryEntryItem*)item;
+// Called when custom accessibility action to open the entry in a new incognito
+// tab is invoked.
+- (void)historyEntryItemDidRequestOpenInNewIncognitoTab:(HistoryEntryItem*)item;
+// Called when custom accessibility action to copy the entry's URL is invoked.
+- (void)historyEntryItemDidRequestCopy:(HistoryEntryItem*)item;
+// Called when the view associated with the HistoryEntryItem should be updated.
+- (void)historyEntryItemShouldUpdateView:(HistoryEntryItem*)item;
+@end
+
+// Model object for the cell that displays a history entry.
+@interface HistoryEntryItem : CollectionViewItem
+
+// Text for the content view. Rendered at the top trailing the favicon.
+@property(nonatomic, copy) NSString* text;
+// Detail text for content view. Rendered below text.
+@property(nonatomic, copy) NSString* detailText;
+// Text for the time stamp. Rendered aligned to trailing edge at same level as
+// |text|.
+@property(nonatomic, copy) NSString* timeText;
+// URL of the associated history entry.
+@property(nonatomic, assign) GURL URL;
+// Timestamp of the associated history entry.
+@property(nonatomic, assign) base::Time timestamp;
+
+// The |delegate| is notified when the favicon has loaded, and may be nil.
+- (instancetype)initWithType:(NSInteger)type
+ historyEntry:(const history::HistoryEntry&)entry
+ browserState:(ios::ChromeBrowserState*)browserState
+ delegate:(id<HistoryEntryItemDelegate>)delegate
+ NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithType:(NSInteger)type NS_UNAVAILABLE;
+
+// HistoryEntryItems are equal if they have the same URL and
+// timestamp.
+- (BOOL)isEqualToHistoryEntryItem:(HistoryEntryItem*)item;
+
+@end
+
+// Cell that renders a history entry.
+@interface HistoryEntryCell : MDCCollectionViewCell
+
+// View for displaying the favicon for the history entry.
+@property(nonatomic, retain) UIView* faviconViewContainer;
+// Text label for history entry title.
+@property(nonatomic, readonly, retain) UILabel* textLabel;
+// Text label for history entry URL.
+@property(nonatomic, readonly, retain) UILabel* detailTextLabel;
+// Text label for history entry timestamp.
+@property(nonatomic, readonly, retain) UILabel* timeLabel;
+
+@end
+
+#endif // IOS_CHROME_BROWSER_UI_HISTORY_HISTORY_ENTRY_ITEM_H_
« no previous file with comments | « ios/chrome/browser/ui/history/history_entry_inserter_unittest.mm ('k') | ios/chrome/browser/ui/history/history_entry_item.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698