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

Side by Side Diff: ios/chrome/browser/ui/ntp/new_tab_page_controller.mm

Issue 2610923005: Replace ObjCPropertyReleaser with ReleaseProperties() project-wide. (Closed)
Patch Set: Rebase Created 3 years, 7 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/ntp/new_tab_page_controller.h" 5 #import "ios/chrome/browser/ui/ntp/new_tab_page_controller.h"
6 6
7 #import <QuartzCore/QuartzCore.h> 7 #import <QuartzCore/QuartzCore.h>
8 8
9 #import "base/ios/weak_nsobject.h" 9 #import "base/ios/weak_nsobject.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "base/mac/objc_property_releaser.h" 11 #include "base/mac/objc_release_properties.h"
12 #include "base/metrics/user_metrics.h" 12 #include "base/metrics/user_metrics.h"
13 #include "base/metrics/user_metrics_action.h" 13 #include "base/metrics/user_metrics_action.h"
14 #include "components/prefs/pref_service.h" 14 #include "components/prefs/pref_service.h"
15 #include "components/search_engines/template_url_service.h" 15 #include "components/search_engines/template_url_service.h"
16 #include "components/strings/grit/components_strings.h" 16 #include "components/strings/grit/components_strings.h"
17 #include "components/sync_sessions/synced_session.h" 17 #include "components/sync_sessions/synced_session.h"
18 #include "ios/chrome/browser/browser_state/chrome_browser_state.h" 18 #include "ios/chrome/browser/browser_state/chrome_browser_state.h"
19 #include "ios/chrome/browser/pref_names.h" 19 #include "ios/chrome/browser/pref_names.h"
20 #include "ios/chrome/browser/search_engines/template_url_service_factory.h" 20 #include "ios/chrome/browser/search_engines/template_url_service_factory.h"
21 #include "ios/chrome/browser/sync/sync_setup_service.h" 21 #include "ios/chrome/browser/sync/sync_setup_service.h"
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 // Dominant color cache. Key: (NSString*)url, val: (UIColor*)dominantColor. 124 // Dominant color cache. Key: (NSString*)url, val: (UIColor*)dominantColor.
125 NSMutableDictionary* dominantColorCache_; // Weak, owned by bvc. 125 NSMutableDictionary* dominantColorCache_; // Weak, owned by bvc.
126 126
127 // Delegate to focus and blur the omnibox. 127 // Delegate to focus and blur the omnibox.
128 base::WeakNSProtocol<id<OmniboxFocuser>> focuser_; 128 base::WeakNSProtocol<id<OmniboxFocuser>> focuser_;
129 129
130 // Delegate to fetch the ToolbarModel and current web state from. 130 // Delegate to fetch the ToolbarModel and current web state from.
131 base::WeakNSProtocol<id<WebToolbarDelegate>> webToolbarDelegate_; 131 base::WeakNSProtocol<id<WebToolbarDelegate>> webToolbarDelegate_;
132 132
133 base::scoped_nsobject<TabModel> tabModel_; 133 base::scoped_nsobject<TabModel> tabModel_;
134
135 base::mac::ObjCPropertyReleaser propertyReleaser_NewTabPageController_;
136 } 134 }
137 135
138 // Load and bring panel into view. 136 // Load and bring panel into view.
139 - (void)showPanel:(NewTabPageBarItem*)item; 137 - (void)showPanel:(NewTabPageBarItem*)item;
140 // Load panel on demand. 138 // Load panel on demand.
141 - (BOOL)loadPanel:(NewTabPageBarItem*)item; 139 - (BOOL)loadPanel:(NewTabPageBarItem*)item;
142 // After a panel changes, update metrics and prefs information. 140 // After a panel changes, update metrics and prefs information.
143 - (void)panelChanged:(NewTabPageBarItem*)item; 141 - (void)panelChanged:(NewTabPageBarItem*)item;
144 // Update current controller and tab bar index. Used to call reload. 142 // Update current controller and tab bar index. Used to call reload.
145 - (void)updateCurrentController:(NewTabPageBarItem*)item 143 - (void)updateCurrentController:(NewTabPageBarItem*)item
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 ntpObserver:(id<NewTabPageControllerObserver>)ntpObserver 189 ntpObserver:(id<NewTabPageControllerObserver>)ntpObserver
192 browserState:(ios::ChromeBrowserState*)browserState 190 browserState:(ios::ChromeBrowserState*)browserState
193 colorCache:(NSMutableDictionary*)colorCache 191 colorCache:(NSMutableDictionary*)colorCache
194 webToolbarDelegate:(id<WebToolbarDelegate>)webToolbarDelegate 192 webToolbarDelegate:(id<WebToolbarDelegate>)webToolbarDelegate
195 tabModel:(TabModel*)tabModel 193 tabModel:(TabModel*)tabModel
196 parentViewController:(UIViewController*)parentViewController 194 parentViewController:(UIViewController*)parentViewController
197 dispatcher:(id)dispatcher { 195 dispatcher:(id)dispatcher {
198 self = [super initWithNibName:nil url:url]; 196 self = [super initWithNibName:nil url:url];
199 if (self) { 197 if (self) {
200 DCHECK(browserState); 198 DCHECK(browserState);
201 propertyReleaser_NewTabPageController_.Init(self,
202 [NewTabPageController class]);
203 browserState_ = browserState; 199 browserState_ = browserState;
204 loader_ = loader; 200 loader_ = loader;
205 newTabPageObserver_ = ntpObserver; 201 newTabPageObserver_ = ntpObserver;
206 parentViewController_ = parentViewController; 202 parentViewController_ = parentViewController;
207 dispatcher_ = dispatcher; 203 dispatcher_ = dispatcher;
208 focuser_.reset(focuser); 204 focuser_.reset(focuser);
209 webToolbarDelegate_.reset(webToolbarDelegate); 205 webToolbarDelegate_.reset(webToolbarDelegate);
210 tabModel_.reset([tabModel retain]); 206 tabModel_.reset([tabModel retain]);
211 dominantColorCache_ = colorCache; 207 dominantColorCache_ = colorCache;
212 self.title = l10n_util::GetNSString(IDS_NEW_TAB_TITLE); 208 self.title = l10n_util::GetNSString(IDS_NEW_TAB_TITLE);
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 // CRWNativeContent leaks, this will not be called. 306 // CRWNativeContent leaks, this will not be called.
311 // TODO(crbug.com/708319): Also call -removeFromParentViewController for 307 // TODO(crbug.com/708319): Also call -removeFromParentViewController for
312 // open tabs and incognito here. 308 // open tabs and incognito here.
313 [googleLandingController_ removeFromParentViewController]; 309 [googleLandingController_ removeFromParentViewController];
314 [bookmarkController_ removeFromParentViewController]; 310 [bookmarkController_ removeFromParentViewController];
315 311
316 [googleLandingController_ setDelegate:nil]; 312 [googleLandingController_ setDelegate:nil];
317 [bookmarkController_ setDelegate:nil]; 313 [bookmarkController_ setDelegate:nil];
318 [openTabsController_ setDelegate:nil]; 314 [openTabsController_ setDelegate:nil];
319 [[NSNotificationCenter defaultCenter] removeObserver:self]; 315 [[NSNotificationCenter defaultCenter] removeObserver:self];
316 base::mac::ReleaseProperties(self);
320 [super dealloc]; 317 [super dealloc];
321 } 318 }
322 319
323 #pragma mark - CRWNativeContent 320 #pragma mark - CRWNativeContent
324 321
325 - (void)willBeDismissed { 322 - (void)willBeDismissed {
326 // This methods is called by //web immediately before |self|'s view is removed 323 // This methods is called by //web immediately before |self|'s view is removed
327 // from the view hierarchy, making it an ideal spot to intiate view controller 324 // from the view hierarchy, making it an ideal spot to intiate view controller
328 // containment methods. 325 // containment methods.
329 // TODO(crbug.com/708319): Also call -willMoveToParentViewController:nil for 326 // TODO(crbug.com/708319): Also call -willMoveToParentViewController:nil for
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after
740 737
741 - (void)updateNtpBarShadowForPanelController: 738 - (void)updateNtpBarShadowForPanelController:
742 (id<NewTabPagePanelProtocol>)ntpPanelController { 739 (id<NewTabPagePanelProtocol>)ntpPanelController {
743 if (currentController_ != ntpPanelController) 740 if (currentController_ != ntpPanelController)
744 return; 741 return;
745 [self.ntpView.tabBar 742 [self.ntpView.tabBar
746 setShadowAlpha:[ntpPanelController alphaForBottomShadow]]; 743 setShadowAlpha:[ntpPanelController alphaForBottomShadow]];
747 } 744 }
748 745
749 @end 746 @end
OLDNEW
« no previous file with comments | « ios/chrome/browser/ui/ntp/new_tab_page_bar_item.mm ('k') | ios/chrome/browser/ui/ntp/new_tab_page_view.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698