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

Unified Diff: ios/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm

Issue 2741883002: [ios] Use WebStateList to back the tab grid. (Closed)
Patch Set: Make readonly reference property. Created 3 years, 9 months 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/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm
diff --git a/ios/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm b/ios/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm
index 9ee9700b5b41eb6a12677446277f2dbadc36421c..2ae53750627fb37dd0a2c75e3e3d7693e2eb8294 100644
--- a/ios/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm
+++ b/ios/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm
@@ -105,7 +105,9 @@ const CGFloat kToolbarHeight = 64.0f;
- (NSInteger)collectionView:(UICollectionView*)collectionView
numberOfItemsInSection:(NSInteger)section {
- NSInteger items = [self.dataSource numberOfTabsInTabGrid];
+ int tabs = [self.dataSource numberOfTabsInTabGrid];
+ DCHECK_LE(tabs, NSIntegerMax);
sdefresne 2017/03/14 09:04:08 This is unnecessary, NSInteger is at least as larg
edchin 2017/03/14 16:02:42 Done.
+ NSInteger items = static_cast<NSInteger>(tabs);
// HACK: Do not make showing noTabsOverlay a side effect of the dataSource
// callback.
if (items) {
@@ -124,10 +126,15 @@ const CGFloat kToolbarHeight = 64.0f;
forIndexPath:indexPath]);
cell.delegate = self;
[cell setSessionType:TabSwitcherSessionType::REGULAR_SESSION];
- [cell setAppearanceForTabTitle:[self.dataSource titleAtIndex:indexPath.item]
+ DCHECK_LE(indexPath.item, INT_MAX);
+ int item = static_cast<int>(indexPath.item);
+ [cell setAppearanceForTabTitle:[self.dataSource titleAtIndex:item]
favicon:nil
cellSize:CGSizeZero];
- [cell setSelected:(indexPath.item == [self.dataSource indexOfActiveTab])];
+ int tab = [self.dataSource indexOfActiveTab];
+ DCHECK_LE(tab, NSIntegerMax);
sdefresne 2017/03/14 09:04:08 ditto, remove the DCHECK and cast here (int -> NSI
+ NSInteger index = static_cast<NSInteger>(tab);
+ [cell setSelected:(indexPath.item == index)];
return cell;
}
@@ -162,13 +169,13 @@ const CGFloat kToolbarHeight = 64.0f;
}
- (void)createNewTab:(id)sender {
- // PLACEHOLDER: The new WebStateList data structure will have implications
- // on how new tabs are created.
NSInteger index = [self.grid numberOfItemsInSection:0];
NSIndexPath* indexPath = [NSIndexPath indexPathForItem:index inSection:0];
auto updateBlock = ^{
// Unselect current selected item.
- NSInteger selectedIndex = [self.dataSource indexOfActiveTab];
+ int index = [self.dataSource indexOfActiveTab];
+ DCHECK_LE(index, NSIntegerMax);
sdefresne 2017/03/14 09:04:08 ditto, remove the DCHECK and cast here (int -> NSI
+ NSInteger selectedIndex = static_cast<NSInteger>(index);
NSIndexPath* selectedIndexPath =
[NSIndexPath indexPathForItem:selectedIndex inSection:0];
[self.grid reloadItemsAtIndexPaths:@[ selectedIndexPath ]];
@@ -189,7 +196,9 @@ const CGFloat kToolbarHeight = 64.0f;
}
- (void)cellPressed:(UICollectionViewCell*)cell {
- NSInteger selectedIndex = [self.dataSource indexOfActiveTab];
+ int index = [self.dataSource indexOfActiveTab];
+ DCHECK_LE(index, NSIntegerMax);
sdefresne 2017/03/14 09:04:09 ditto, remove the DCHECK and cast here (int -> NSI
+ NSInteger selectedIndex = static_cast<NSInteger>(index);
NSIndexPath* newSelectedIndexPath = [self.grid indexPathForCell:cell];
[self.tabCommandHandler showTabAtIndexPath:newSelectedIndexPath];
if (newSelectedIndexPath.item != selectedIndex) {

Powered by Google App Engine
This is Rietveld 408576698