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

Side by Side Diff: ios/chrome/browser/ui/tools_menu/tools_popup_controller.mm

Issue 2941043002: [ObjC ARC] Converts ios/chrome/browser/ui/tools_menu:tools_menu to ARC. (Closed)
Patch Set: manual review. Created 3 years, 6 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/tools_menu/tools_popup_controller.h" 5 #import "ios/chrome/browser/ui/tools_menu/tools_popup_controller.h"
6 6
7 #import <QuartzCore/QuartzCore.h> 7 #import <QuartzCore/QuartzCore.h>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/mac/scoped_nsobject.h"
11 #include "base/metrics/user_metrics.h" 10 #include "base/metrics/user_metrics.h"
12 #include "base/metrics/user_metrics_action.h" 11 #include "base/metrics/user_metrics_action.h"
13 #include "ios/chrome/browser/ui/commands/ios_command_ids.h" 12 #include "ios/chrome/browser/ui/commands/ios_command_ids.h"
13 #import "ios/chrome/browser/ui/popup_menu/popup_menu_view.h"
14 #include "ios/chrome/browser/ui/rtl_geometry.h" 14 #include "ios/chrome/browser/ui/rtl_geometry.h"
15 #import "ios/chrome/browser/ui/tools_menu/tools_menu_view_controller.h" 15 #import "ios/chrome/browser/ui/tools_menu/tools_menu_view_controller.h"
16 #import "ios/chrome/browser/ui/uikit_ui_util.h" 16 #import "ios/chrome/browser/ui/uikit_ui_util.h"
17 #import "ios/shared/chrome/browser/ui/tools_menu/tools_menu_configuration.h" 17 #import "ios/shared/chrome/browser/ui/tools_menu/tools_menu_configuration.h"
18 18
19 #if !defined(__has_feature) || !__has_feature(objc_arc)
20 #error "This file requires ARC support."
21 #endif
22
19 using base::UserMetricsAction; 23 using base::UserMetricsAction;
20 24
21 NSString* const kToolsMenuTableViewId = @"kToolsMenuTableViewId"; 25 NSString* const kToolsMenuTableViewId = @"kToolsMenuTableViewId";
22 26
23 namespace { 27 namespace {
24 28
25 const CGFloat kToolsPopupMenuWidth = 280.0; 29 const CGFloat kToolsPopupMenuWidth = 280.0;
26 const CGFloat kToolsPopupMenuTrailingOffset = 4; 30 const CGFloat kToolsPopupMenuTrailingOffset = 4;
27 31
28 // Inset for the shadows of the contained views. 32 // Inset for the shadows of the contained views.
29 NS_INLINE UIEdgeInsets TabHistoryPopupMenuInsets() { 33 NS_INLINE UIEdgeInsets TabHistoryPopupMenuInsets() {
30 return UIEdgeInsetsMake(9, 11, 12, 11); 34 return UIEdgeInsetsMake(9, 11, 12, 11);
31 } 35 }
32 36
33 } // namespace 37 } // namespace
34 38
35 @interface ToolsPopupController ()<ToolsPopupTableDelegate> { 39 @interface ToolsPopupController ()<ToolsPopupTableDelegate> {
36 base::scoped_nsobject<ToolsMenuViewController> _toolsMenuViewController; 40 ToolsMenuViewController* _toolsMenuViewController;
37 // Container view of the menu items table. 41 // Container view of the menu items table.
38 base::scoped_nsobject<UIView> _toolsTableViewContainer; 42 UIView* _toolsTableViewContainer;
39 } 43 }
40 @end 44 @end
41 45
42 @implementation ToolsPopupController 46 @implementation ToolsPopupController
43 @synthesize isCurrentPageBookmarked = _isCurrentPageBookmarked; 47 @synthesize isCurrentPageBookmarked = _isCurrentPageBookmarked;
44 48
45 - (instancetype)initWithConfiguration:(ToolsMenuConfiguration*)configuration { 49 - (instancetype)initWithConfiguration:(ToolsMenuConfiguration*)configuration {
46 DCHECK(configuration.displayView); 50 DCHECK(configuration.displayView);
47 self = [super initWithParentView:configuration.displayView]; 51 self = [super initWithParentView:configuration.displayView];
48 if (self) { 52 if (self) {
49 _toolsMenuViewController.reset([[ToolsMenuViewController alloc] init]); 53 _toolsMenuViewController = [[ToolsMenuViewController alloc] init];
50 _toolsTableViewContainer.reset([[_toolsMenuViewController view] retain]); 54 _toolsTableViewContainer = [_toolsMenuViewController view];
51 [_toolsTableViewContainer layer].cornerRadius = 2; 55 [_toolsTableViewContainer layer].cornerRadius = 2;
52 [_toolsTableViewContainer layer].masksToBounds = YES; 56 [_toolsTableViewContainer layer].masksToBounds = YES;
53 [_toolsMenuViewController initializeMenuWithConfiguration:configuration]; 57 [_toolsMenuViewController initializeMenuWithConfiguration:configuration];
54 58
55 UIEdgeInsets popupInsets = TabHistoryPopupMenuInsets(); 59 UIEdgeInsets popupInsets = TabHistoryPopupMenuInsets();
56 CGFloat popupWidth = kToolsPopupMenuWidth; 60 CGFloat popupWidth = kToolsPopupMenuWidth;
57 61
58 CGPoint origin = CGPointMake(CGRectGetMidX(configuration.sourceRect), 62 CGPoint origin = CGPointMake(CGRectGetMidX(configuration.sourceRect),
59 CGRectGetMidY(configuration.sourceRect)); 63 CGRectGetMidY(configuration.sourceRect));
60 64
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 [toolsButton setImageEdgeInsets:configuration.toolsButtonInsets]; 111 [toolsButton setImageEdgeInsets:configuration.toolsButtonInsets];
108 [outsideAnimationView addSubview:toolsButton]; 112 [outsideAnimationView addSubview:toolsButton];
109 } 113 }
110 } 114 }
111 return self; 115 return self;
112 } 116 }
113 117
114 - (void)dealloc { 118 - (void)dealloc {
115 [_toolsTableViewContainer removeFromSuperview]; 119 [_toolsTableViewContainer removeFromSuperview];
116 [_toolsMenuViewController setDelegate:nil]; 120 [_toolsMenuViewController setDelegate:nil];
117 [super dealloc];
118 } 121 }
119 122
120 - (void)fadeInPopupFromSource:(CGPoint)source 123 - (void)fadeInPopupFromSource:(CGPoint)source
121 toDestination:(CGPoint)destination { 124 toDestination:(CGPoint)destination {
122 [_toolsMenuViewController animateContentIn]; 125 [_toolsMenuViewController animateContentIn];
123 [super fadeInPopupFromSource:source toDestination:destination]; 126 [super fadeInPopupFromSource:source toDestination:destination];
124 } 127 }
125 128
126 - (void)dismissAnimatedWithCompletion:(void (^)(void))completion { 129 - (void)dismissAnimatedWithCompletion:(void (^)(void))completion {
127 [_toolsMenuViewController hideContent]; 130 [_toolsMenuViewController hideContent];
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 default: 233 default:
231 NOTREACHED(); 234 NOTREACHED();
232 break; 235 break;
233 } 236 }
234 237
235 // Close the menu. 238 // Close the menu.
236 [self.delegate dismissPopupMenu:self]; 239 [self.delegate dismissPopupMenu:self];
237 } 240 }
238 241
239 @end 242 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698