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

Side by Side Diff: ios/chrome/browser/ui/toolbar/tools_menu_button_observer_bridge.mm

Issue 2808873002: [ObjC ARC] Converts ios/chrome/browser/ui/toolbar:toolbar to ARC. (Closed)
Patch Set: feedback Created 3 years, 8 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 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 #import "ios/chrome/browser/ui/toolbar/tools_menu_button_observer_bridge.h" 5 #import "ios/chrome/browser/ui/toolbar/tools_menu_button_observer_bridge.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "components/reading_list/core/reading_list_model.h" 9 #include "components/reading_list/core/reading_list_model.h"
10 #import "ios/chrome/browser/ui/toolbar/toolbar_tools_menu_button.h" 10 #import "ios/chrome/browser/ui/toolbar/toolbar_tools_menu_button.h"
11 11
12 #if !defined(__has_feature) || !__has_feature(objc_arc)
13 #error "This file requires ARC support."
14 #endif
15
12 @interface ToolsMenuButtonObserverBridge () 16 @interface ToolsMenuButtonObserverBridge ()
13 - (void)updateButtonWithModel:(const ReadingListModel*)model; 17 - (void)updateButtonWithModel:(const ReadingListModel*)model;
14 - (void)buttonPressed:(UIButton*)sender; 18 - (void)buttonPressed:(UIButton*)sender;
15 @end 19 @end
16 20
17 @implementation ToolsMenuButtonObserverBridge { 21 @implementation ToolsMenuButtonObserverBridge {
18 base::scoped_nsobject<ToolbarToolsMenuButton> _button; 22 ToolbarToolsMenuButton* _button;
19 ReadingListModel* _model; 23 ReadingListModel* _model;
20 std::unique_ptr<ReadingListModelBridge> _modelBridge; 24 std::unique_ptr<ReadingListModelBridge> _modelBridge;
21 } 25 }
22 26
23 - (instancetype)initWithModel:(ReadingListModel*)readingListModel 27 - (instancetype)initWithModel:(ReadingListModel*)readingListModel
24 toolbarButton:(ToolbarToolsMenuButton*)button { 28 toolbarButton:(ToolbarToolsMenuButton*)button {
25 self = [super init]; 29 self = [super init];
26 if (self) { 30 if (self) {
27 _button.reset([button retain]); 31 _button = button;
28 _model = readingListModel; 32 _model = readingListModel;
29 [_button addTarget:self 33 [_button addTarget:self
30 action:@selector(buttonPressed:) 34 action:@selector(buttonPressed:)
31 forControlEvents:UIControlEventTouchUpInside]; 35 forControlEvents:UIControlEventTouchUpInside];
32 _modelBridge = base::MakeUnique<ReadingListModelBridge>(self, _model); 36 _modelBridge = base::MakeUnique<ReadingListModelBridge>(self, _model);
33 } 37 }
34 return self; 38 return self;
35 } 39 }
36 40
37 - (void)updateButtonWithModel:(const ReadingListModel*)model { 41 - (void)updateButtonWithModel:(const ReadingListModel*)model {
(...skipping 25 matching lines...) Expand all
63 } 67 }
64 68
65 - (void)readingListModel:(const ReadingListModel*)model 69 - (void)readingListModel:(const ReadingListModel*)model
66 didAddEntry:(const GURL&)url 70 didAddEntry:(const GURL&)url
67 entrySource:(reading_list::EntrySource)source { 71 entrySource:(reading_list::EntrySource)source {
68 if (source == reading_list::ADDED_VIA_CURRENT_APP) 72 if (source == reading_list::ADDED_VIA_CURRENT_APP)
69 [_button triggerAnimation]; 73 [_button triggerAnimation];
70 } 74 }
71 75
72 @end 76 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698