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

Side by Side Diff: ios/chrome/browser/ui/history/tab_history_view_controller.mm

Issue 2624963003: [ObjC ARC] Converts ios/chrome/browser/ui/history:history to ARC. (Closed)
Patch Set: Reparent and fix tests Created 3 years, 11 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #import "ios/chrome/browser/ui/history/tab_history_view_controller.h" 5 #import "ios/chrome/browser/ui/history/tab_history_view_controller.h"
6 6
7 #import "base/ios/weak_nsobject.h" 7 #import "base/ios/weak_nsobject.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/mac/foundation_util.h" 9 #include "base/mac/foundation_util.h"
10 #include "base/mac/objc_property_releaser.h"
11 #include "base/mac/scoped_nsobject.h" 10 #include "base/mac/scoped_nsobject.h"
12 #include "base/strings/sys_string_conversions.h" 11 #include "base/strings/sys_string_conversions.h"
13 #import "ios/chrome/browser/ui/commands/UIKit+ChromeExecuteCommand.h" 12 #import "ios/chrome/browser/ui/commands/UIKit+ChromeExecuteCommand.h"
14 #include "ios/chrome/browser/ui/commands/ios_command_ids.h" 13 #include "ios/chrome/browser/ui/commands/ios_command_ids.h"
15 #import "ios/chrome/browser/ui/history/tab_history_cell.h" 14 #import "ios/chrome/browser/ui/history/tab_history_cell.h"
16 #include "ios/chrome/browser/ui/rtl_geometry.h" 15 #include "ios/chrome/browser/ui/rtl_geometry.h"
17 #import "ios/third_party/material_components_ios/src/components/Ink/src/Material Ink.h" 16 #import "ios/third_party/material_components_ios/src/components/Ink/src/Material Ink.h"
18 #import "ios/web/navigation/crw_session_entry.h" 17 #import "ios/web/navigation/crw_session_entry.h"
19 #include "ios/web/public/favicon_status.h" 18 #include "ios/web/public/favicon_status.h"
20 #include "ios/web/public/navigation_item.h" 19 #include "ios/web/public/navigation_item.h"
21 #include "ui/gfx/image/image.h" 20 #include "ui/gfx/image/image.h"
22 21
22 #if !defined(__has_feature) || !__has_feature(objc_arc)
23 #error "This file requires ARC support."
24 #endif
25
23 namespace { 26 namespace {
24 27
25 // Visible percentage of the last visible row on the Tools menu if the 28 // Visible percentage of the last visible row on the Tools menu if the
26 // Tools menu is scrollable. 29 // Tools menu is scrollable.
27 const CGFloat kLastRowVisiblePercentage = 0.6; 30 const CGFloat kLastRowVisiblePercentage = 0.6;
28 // Reuse identifier for cells. 31 // Reuse identifier for cells.
29 NSString* cellIdentifier = @"TabHistoryCell"; 32 NSString* cellIdentifier = @"TabHistoryCell";
30 NSString* footerIdentifier = @"Footer"; 33 NSString* footerIdentifier = @"Footer";
31 NSString* headerIdentifier = @"Header"; 34 NSString* headerIdentifier = @"Header";
32 // Height of rows. 35 // Height of rows.
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 @interface TabHistoryViewController ()<MDCInkTouchControllerDelegate> { 222 @interface TabHistoryViewController ()<MDCInkTouchControllerDelegate> {
220 base::scoped_nsobject<MDCInkTouchController> _inkTouchController; 223 base::scoped_nsobject<MDCInkTouchController> _inkTouchController;
221 base::scoped_nsobject<NSArray> _partitionedEntries; 224 base::scoped_nsobject<NSArray> _partitionedEntries;
222 base::scoped_nsobject<NSArray> _sessionEntries; 225 base::scoped_nsobject<NSArray> _sessionEntries;
223 } 226 }
224 @end 227 @end
225 228
226 @implementation TabHistoryViewController 229 @implementation TabHistoryViewController
227 230
228 - (NSArray*)sessionEntries { 231 - (NSArray*)sessionEntries {
229 return [[_sessionEntries retain] autorelease]; 232 return _sessionEntries;
230 } 233 }
231 234
232 #pragma mark Public Methods 235 #pragma mark Public Methods
233 236
234 - (CGFloat)optimalHeight:(CGFloat)suggestedHeight { 237 - (CGFloat)optimalHeight:(CGFloat)suggestedHeight {
235 DCHECK(suggestedHeight >= kCellHeight); 238 DCHECK(suggestedHeight >= kCellHeight);
236 CGFloat optimalHeight = 0; 239 CGFloat optimalHeight = 0;
237 240
238 for (NSArray* sectionArray in _partitionedEntries.get()) { 241 for (NSArray* sectionArray in _partitionedEntries.get()) {
239 NSUInteger sectionItemCount = [sectionArray count]; 242 NSUInteger sectionItemCount = [sectionArray count];
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 iconImage = image.ToUIImage(); 366 iconImage = image.ToUIImage();
364 else 367 else
365 iconImage = [UIImage imageNamed:@"default_favicon"]; 368 iconImage = [UIImage imageNamed:@"default_favicon"];
366 369
367 [[header iconView] setImage:iconImage]; 370 [[header iconView] setImage:iconImage];
368 371
369 return header; 372 return header;
370 } 373 }
371 374
372 - (void)setSessionEntries:(NSArray*)sessionEntries { 375 - (void)setSessionEntries:(NSArray*)sessionEntries {
373 _sessionEntries.reset([sessionEntries retain]); 376 _sessionEntries.reset(sessionEntries);
374 377
375 std::string previousHost; 378 std::string previousHost;
376 379
377 NSMutableArray* sectionArray = [NSMutableArray array]; 380 NSMutableArray* sectionArray = [NSMutableArray array];
378 NSMutableArray* partitionedEntries = [NSMutableArray array]; 381 NSMutableArray* partitionedEntries = [NSMutableArray array];
379 382
380 NSInteger numberOfEntries = [_sessionEntries count]; 383 NSInteger numberOfEntries = [_sessionEntries count];
381 for (NSInteger index = 0; index < numberOfEntries; ++index) { 384 for (NSInteger index = 0; index < numberOfEntries; ++index) {
382 CRWSessionEntry* sessionEntry = [_sessionEntries objectAtIndex:index]; 385 CRWSessionEntry* sessionEntry = [_sessionEntries objectAtIndex:index];
383 web::NavigationItem* navigationItem = [sessionEntry navigationItem]; 386 web::NavigationItem* navigationItem = [sessionEntry navigationItem];
(...skipping 15 matching lines...) Expand all
399 previousHost = currentHost; 402 previousHost = currentHost;
400 } 403 }
401 } 404 }
402 405
403 if ([sectionArray count]) 406 if ([sectionArray count])
404 [partitionedEntries addObject:sectionArray]; 407 [partitionedEntries addObject:sectionArray];
405 408
406 if (![partitionedEntries count]) 409 if (![partitionedEntries count])
407 partitionedEntries = nil; 410 partitionedEntries = nil;
408 411
409 _partitionedEntries.reset([partitionedEntries retain]); 412 _partitionedEntries.reset(partitionedEntries);
410 } 413 }
411 414
412 #pragma mark MDCInkTouchControllerDelegate 415 #pragma mark MDCInkTouchControllerDelegate
413 416
414 - (BOOL)inkTouchController:(MDCInkTouchController*)inkTouchController 417 - (BOOL)inkTouchController:(MDCInkTouchController*)inkTouchController
415 shouldProcessInkTouchesAtTouchLocation:(CGPoint)location { 418 shouldProcessInkTouchesAtTouchLocation:(CGPoint)location {
416 NSIndexPath* indexPath = 419 NSIndexPath* indexPath =
417 [self.collectionView indexPathForItemAtPoint:location]; 420 [self.collectionView indexPathForItemAtPoint:location];
418 TabHistoryCell* cell = base::mac::ObjCCastStrict<TabHistoryCell>( 421 TabHistoryCell* cell = base::mac::ObjCCastStrict<TabHistoryCell>(
419 [self.collectionView cellForItemAtIndexPath:indexPath]); 422 [self.collectionView cellForItemAtIndexPath:indexPath]);
420 if (!cell) { 423 if (!cell) {
421 return NO; 424 return NO;
422 } 425 }
423 426
424 // Increase the size of the ink view to cover the collection view from edge 427 // Increase the size of the ink view to cover the collection view from edge
425 // to edge. 428 // to edge.
426 CGRect inkViewFrame = [cell frame]; 429 CGRect inkViewFrame = [cell frame];
427 inkViewFrame.origin.x = 0; 430 inkViewFrame.origin.x = 0;
428 inkViewFrame.size.width = CGRectGetWidth([self.collectionView bounds]); 431 inkViewFrame.size.width = CGRectGetWidth([self.collectionView bounds]);
429 [[inkTouchController defaultInkView] setFrame:inkViewFrame]; 432 [[inkTouchController defaultInkView] setFrame:inkViewFrame];
430 return YES; 433 return YES;
431 } 434 }
432 435
433 @end 436 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698