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

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

Issue 2699223003: [tab_grid] Hack-in new tab FAB action. (Closed)
Patch Set: Address comments. Created 3 years, 10 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 unified diff | Download patch
« no previous file with comments | « ios/clean/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // ====== New Architecture ===== 5 // ====== New Architecture =====
6 // = This code is only used in the new iOS Chrome architecture. = 6 // = This code is only used in the new iOS Chrome architecture. =
7 // ============================================================================ 7 // ============================================================================
8 8
9 #import "ios/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.h" 9 #import "ios/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.h"
10 10
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 - (void)showSettings:(id)sender { 138 - (void)showSettings:(id)sender {
139 [self.settingsCommandHandler showSettings]; 139 [self.settingsCommandHandler showSettings];
140 } 140 }
141 141
142 #pragma mark - TabGridActions 142 #pragma mark - TabGridActions
143 143
144 - (void)showTabGrid:(id)sender { 144 - (void)showTabGrid:(id)sender {
145 [self.tabGridCommandHandler showTabGrid]; 145 [self.tabGridCommandHandler showTabGrid];
146 } 146 }
147 147
148 - (void)createNewTab:(id)sender {
149 // PLACEHOLDER: The new WebStateList data structure will have implications
150 // on how new tabs are created.
151 NSInteger index = [self.grid numberOfItemsInSection:0];
152 NSIndexPath* indexPath = [NSIndexPath indexPathForItem:index inSection:0];
153 auto updateBlock = ^{
154 [self.tabCommandHandler createNewTabAtIndexPath:indexPath];
155 [self.tabCommandHandler showTabAtIndexPath:indexPath];
156 [self.grid insertItemsAtIndexPaths:@[ indexPath ]];
157 };
158 [self.grid performBatchUpdates:updateBlock completion:nil];
159 }
160
148 #pragma mark - SessionCellDelegate 161 #pragma mark - SessionCellDelegate
149 162
150 - (TabSwitcherCache*)tabSwitcherCache { 163 - (TabSwitcherCache*)tabSwitcherCache {
151 // PLACEHOLDER: return image cache. 164 // PLACEHOLDER: return image cache.
152 return nil; 165 return nil;
153 } 166 }
154 167
155 - (void)cellPressed:(UICollectionViewCell*)cell { 168 - (void)cellPressed:(UICollectionViewCell*)cell {
156 [self.tabCommandHandler showTabAtIndexPath:[self.grid indexPathForCell:cell]]; 169 [self.tabCommandHandler showTabAtIndexPath:[self.grid indexPathForCell:cell]];
157 } 170 }
158 171
159 - (void)deleteButtonPressedForCell:(UICollectionViewCell*)cell { 172 - (void)deleteButtonPressedForCell:(UICollectionViewCell*)cell {
160 auto updateBlock = ^{ 173 auto updateBlock = ^{
161 NSIndexPath* indexPath = [self.grid indexPathForCell:cell]; 174 NSIndexPath* indexPath = [self.grid indexPathForCell:cell];
162 [self.tabCommandHandler closeTabAtIndexPath:indexPath]; 175 [self.tabCommandHandler closeTabAtIndexPath:indexPath];
163 [self.grid deleteItemsAtIndexPaths:@[ indexPath ]]; 176 [self.grid deleteItemsAtIndexPaths:@[ indexPath ]];
164 }; 177 };
165 [self.grid performBatchUpdates:updateBlock completion:nil]; 178 [self.grid performBatchUpdates:updateBlock completion:nil];
166 } 179 }
167 180
168 @end 181 @end
OLDNEW
« no previous file with comments | « ios/clean/chrome/browser/ui/tab_grid/tab_grid_coordinator.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698