| Index: ios/chrome/browser/ui/fullscreen_controller.mm
|
| diff --git a/ios/chrome/browser/ui/fullscreen_controller.mm b/ios/chrome/browser/ui/fullscreen_controller.mm
|
| index 6a1eeb96fb46f4943cf548fc458cb4f1645b01c9..e2eae0ceeadba799b2970f7b003301db27245f56 100644
|
| --- a/ios/chrome/browser/ui/fullscreen_controller.mm
|
| +++ b/ios/chrome/browser/ui/fullscreen_controller.mm
|
| @@ -7,7 +7,7 @@
|
| #include <cmath>
|
|
|
| #include "base/logging.h"
|
| -#include "base/mac/objc_property_releaser.h"
|
| +
|
| #import "ios/chrome/browser/ui/browser_view_controller.h"
|
| #import "ios/chrome/browser/ui/overscroll_actions/overscroll_actions_controller.h"
|
| #import "ios/chrome/browser/ui/tabs/tab_strip_controller.h"
|
| @@ -20,6 +20,10 @@
|
| #import "ios/web/public/web_state/ui/crw_web_view_proxy.h"
|
| #import "ios/web/web_state/ui/crw_web_controller.h"
|
|
|
| +#if !defined(__has_feature) || !__has_feature(objc_arc)
|
| +#error "This file requires ARC support."
|
| +#endif
|
| +
|
| NSString* const kSetupForTestingWillCloseAllTabsNotification =
|
| @"kSetupForTestingWillCloseAllTabsNotification";
|
|
|
| @@ -67,21 +71,20 @@ BOOL CGFloatEquals(CGFloat a, CGFloat b) {
|
| // full screen.
|
| uint fullScreenLock_;
|
| // CRWWebViewProxy object allows web view manipulations.
|
| - base::scoped_nsprotocol<id<CRWWebViewProxy>> webViewProxy_;
|
| - base::mac::ObjCPropertyReleaser propertyReleaser_FullScreenController_;
|
| + id<CRWWebViewProxy> webViewProxy_;
|
| }
|
|
|
| // Access to the UIWebView's UIScrollView.
|
| -@property(nonatomic, readonly) CRWWebViewScrollViewProxy* scrollViewProxy;
|
| +@property(weak, nonatomic, readonly) CRWWebViewScrollViewProxy* scrollViewProxy;
|
| // The navigation controller of the page.
|
| @property(nonatomic, readonly, assign) NavigationManager* navigationManager;
|
| // The gesture recognizer set on the scrollview to detect tap. Must be readwrite
|
| // for property releaser to work.
|
| -@property(nonatomic, readwrite, retain)
|
| +@property(nonatomic, readwrite, strong)
|
| UITapGestureRecognizer* userInteractionGestureRecognizer;
|
| // The delegate responsible for providing the header height and moving the
|
| // header.
|
| -@property(nonatomic, readonly) id<FullScreenControllerDelegate> delegate;
|
| +@property(weak, nonatomic, readonly) id<FullScreenControllerDelegate> delegate;
|
| // Current height of the header, in points. This is a pass-through method that
|
| // fetches the header height from the FullScreenControllerDelegate.
|
| @property(nonatomic, readonly) CGFloat headerHeight;
|
| @@ -190,15 +193,9 @@ BOOL CGFloatEquals(CGFloat a, CGFloat b) {
|
| - (id)initWithDelegate:(id<FullScreenControllerDelegate>)delegate
|
| navigationManager:(NavigationManager*)navigationManager
|
| sessionID:(NSString*)sessionID {
|
| - if (!gEnabledForTests) {
|
| - propertyReleaser_FullScreenController_.Init(self,
|
| - [FullScreenController class]);
|
| - [self release];
|
| + if (!gEnabledForTests)
|
| return nil;
|
| - }
|
| if ((self = [super init])) {
|
| - propertyReleaser_FullScreenController_.Init(self,
|
| - [FullScreenController class]);
|
| DCHECK(sessionID);
|
| DCHECK(delegate);
|
| delegate_ = delegate;
|
| @@ -316,7 +313,6 @@ BOOL CGFloatEquals(CGFloat a, CGFloat b) {
|
|
|
| - (void)dealloc {
|
| [[NSNotificationCenter defaultCenter] removeObserver:self];
|
| - [super dealloc];
|
| }
|
|
|
| - (CRWWebViewScrollViewProxy*)scrollViewProxy {
|
| @@ -700,7 +696,7 @@ BOOL CGFloatEquals(CGFloat a, CGFloat b) {
|
| - (void)setWebViewProxy:(id<CRWWebViewProxy>)webViewProxy
|
| controller:(CRWWebController*)webController {
|
| DCHECK([webViewProxy scrollViewProxy]);
|
| - webViewProxy_.reset([webViewProxy retain]);
|
| + webViewProxy_ = webViewProxy;
|
| [[webViewProxy scrollViewProxy] addObserver:self];
|
| }
|
|
|
|
|