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

Unified Diff: ios/chrome/browser/ui/ntp/new_tab_page_controller.h

Issue 2955433002: [ObjC ARC] Converts ios/chrome/browser/ui/ntp:ntp_controller to ARC. (Closed)
Patch Set: Fix eg tests 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ios/chrome/browser/ui/ntp/BUILD.gn ('k') | ios/chrome/browser/ui/ntp/new_tab_page_controller.mm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/chrome/browser/ui/ntp/new_tab_page_controller.h
diff --git a/ios/chrome/browser/ui/ntp/new_tab_page_controller.h b/ios/chrome/browser/ui/ntp/new_tab_page_controller.h
index b4bc70c9b64ff16dab7447a01b416f8c728524c6..92f18a11f8c09f5d6b850e0c6cfbfa3f3b6148ac 100644
--- a/ios/chrome/browser/ui/ntp/new_tab_page_controller.h
+++ b/ios/chrome/browser/ui/ntp/new_tab_page_controller.h
@@ -8,7 +8,6 @@
#import <UIKit/UIKit.h>
#include <string>
-#include "base/mac/scoped_nsobject.h"
#import "ios/chrome/browser/ui/native_content_controller.h"
#import "ios/chrome/browser/ui/ntp/new_tab_page_bar.h"
#import "ios/chrome/browser/ui/ntp/new_tab_page_panel_protocol.h"
@@ -55,15 +54,15 @@ std::string FragmentFromIdentifier(PanelIdentifier panel);
// A controller for the New Tab Page user interface. Supports multiple "panels",
// each with its own controller. The panels are created lazily.
//
-// The scoped_nsobjects instance variables |*Controller_| are instances of
+// The strongly retained instance variables |*Controller_| are instances of
// subclasses of NewTabPagePanelProtocol that are created lazily.
// Each Panel is its own controller with the accessible views are added to the
-// |newTabPageView_|.
+// |ntpView_|.
//
-// newTabPageView_ (aka |ntpView|) is a horizontally scrollable view that
-// contains the *PanelController instances available to the user at the moment.
-// A tab-page bar inside |ntpView| provides direct access to the
-// *PanelControllers on the scrollable view.
+// newTabPageView_ is a horizontally scrollable view that contains the
+// *PanelController instances available to the user at the moment. A tab-page
+// bar inside |ntpView| provides direct access to the *PanelControllers on the
+// scrollable view.
//
// The currently visible *PanelController is accessible through
// |currentController_|.
@@ -74,16 +73,9 @@ std::string FragmentFromIdentifier(PanelIdentifier panel);
NewTabPagePanelControllerDelegate,
ToolbarOwner,
UIGestureRecognizerDelegate,
- UIScrollViewDelegate> {
- @private
- base::scoped_nsobject<BookmarkHomeTabletNTPController> bookmarkController_;
- base::scoped_nsobject<GoogleLandingViewController> googleLandingController_;
- base::scoped_nsprotocol<id<NewTabPagePanelProtocol>> incognitoController_;
- // The currently visible controller, one of the above.
- id<NewTabPagePanelProtocol> currentController_; // weak
-}
+ UIScrollViewDelegate>
-@property(nonatomic, assign) id<CRWSwipeRecognizerProvider>
+@property(nonatomic, weak) id<CRWSwipeRecognizerProvider>
swipeRecognizerProvider;
// Init with the given url (presumably "chrome://newtab") and loader object.
@@ -114,4 +106,17 @@ std::string FragmentFromIdentifier(PanelIdentifier panel);
@end
+#pragma mark - Testing
+
+@class NewTabPageView;
+
+@interface NewTabPageController (TestSupport)
+@property(nonatomic, strong) NewTabPageView* ntpView;
+
+- (id<NewTabPagePanelProtocol>)currentController;
+- (BookmarkHomeTabletNTPController*)bookmarkController;
+- (GoogleLandingViewController*)googleLandingController;
+- (id<NewTabPagePanelProtocol>)incognitoController;
+@end
+
#endif // IOS_CHROME_BROWSER_UI_NTP_NEW_TAB_PAGE_CONTROLLER_H_
« no previous file with comments | « ios/chrome/browser/ui/ntp/BUILD.gn ('k') | ios/chrome/browser/ui/ntp/new_tab_page_controller.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698