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

Side by Side Diff: ios/chrome/browser/ui/static_content/static_html_native_content.mm

Issue 2890163003: [ObjC ARC] Converts ios/chrome/browser/ui/static_content:static_content to ARC. (Closed)
Patch Set: Addressed all comments. 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/static_content/static_html_native_content.h" 5 #import "ios/chrome/browser/ui/static_content/static_html_native_content.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #import "base/mac/scoped_nsobject.h"
9 #import "ios/chrome/browser/ui/overscroll_actions/overscroll_actions_controller. h" 8 #import "ios/chrome/browser/ui/overscroll_actions/overscroll_actions_controller. h"
10 #include "ios/chrome/browser/ui/static_content/static_html_view_controller.h" 9 #include "ios/chrome/browser/ui/static_content/static_html_view_controller.h"
11 #import "ios/chrome/browser/ui/url_loader.h" 10 #import "ios/chrome/browser/ui/url_loader.h"
12 #include "ios/web/public/referrer.h" 11 #include "ios/web/public/referrer.h"
13 12
13 #if !defined(__has_feature) || !__has_feature(objc_arc)
14 #error "This file requires ARC support."
15 #endif
16
14 @interface StaticHtmlNativeContent () 17 @interface StaticHtmlNativeContent ()
15 // Designated initializer. 18 // Designated initializer.
16 - (instancetype)initWithLoader:(id<UrlLoader>)loader 19 - (instancetype)initWithLoader:(id<UrlLoader>)loader
17 staticHTMLViewController:(StaticHtmlViewController*)HTMLViewController 20 staticHTMLViewController:(StaticHtmlViewController*)HTMLViewController
18 URL:(const GURL&)URL; 21 URL:(const GURL&)URL;
19 @end 22 @end
20 23
21 @implementation StaticHtmlNativeContent { 24 @implementation StaticHtmlNativeContent {
22 // The url of the controller. 25 // The url of the controller.
23 GURL _URL; 26 GURL _URL;
24 // YES is web views are allowed to be created. 27 // YES is web views are allowed to be created.
25 BOOL _webUsageEnabled; 28 BOOL _webUsageEnabled;
26 // The static HTML view controller that is used to display the content in 29 // The static HTML view controller that is used to display the content in
27 // a web view. 30 // a web view.
28 base::scoped_nsobject<StaticHtmlViewController> _staticHTMLViewController; 31 StaticHtmlViewController* _staticHTMLViewController;
29 // Responsible for loading a particular URL. 32 // Responsible for loading a particular URL.
30 id<UrlLoader> _loader; // weak 33 id<UrlLoader> _loader; // weak
31 // The controller handling the overscroll actions. 34 // The controller handling the overscroll actions.
32 base::scoped_nsobject<OverscrollActionsController> 35 OverscrollActionsController* _overscrollActionsController;
33 _overscrollActionsController;
34 } 36 }
35 37
36 #pragma mark - 38 #pragma mark -
37 #pragma mark Public 39 #pragma mark Public
38 40
39 - (instancetype)initWithLoader:(id<UrlLoader>)loader 41 - (instancetype)initWithLoader:(id<UrlLoader>)loader
40 staticHTMLViewController:(StaticHtmlViewController*)HTMLViewController 42 staticHTMLViewController:(StaticHtmlViewController*)HTMLViewController
41 URL:(const GURL&)URL { 43 URL:(const GURL&)URL {
42 DCHECK(loader); 44 DCHECK(loader);
43 DCHECK(HTMLViewController); 45 DCHECK(HTMLViewController);
44 // No DCHECK for URL (invalid URL is a valid input). 46 // No DCHECK for URL (invalid URL is a valid input).
45 if (self = [super init]) { 47 if (self = [super init]) {
46 web::Referrer referrer(URL, web::ReferrerPolicyDefault); 48 web::Referrer referrer(URL, web::ReferrerPolicyDefault);
47 [HTMLViewController setLoader:loader referrer:referrer]; 49 [HTMLViewController setLoader:loader referrer:referrer];
48 _URL = URL; 50 _URL = URL;
49 _loader = loader; 51 _loader = loader;
50 _staticHTMLViewController.reset([HTMLViewController retain]); 52 _staticHTMLViewController = HTMLViewController;
51 } 53 }
52 return self; 54 return self;
53 } 55 }
54 56
55 - (instancetype)initWithResourcePathResource:(NSString*)resourcePath 57 - (instancetype)initWithResourcePathResource:(NSString*)resourcePath
56 loader:(id<UrlLoader>)loader 58 loader:(id<UrlLoader>)loader
57 browserState:(web::BrowserState*)browserState 59 browserState:(web::BrowserState*)browserState
58 url:(const GURL&)URL { 60 url:(const GURL&)URL {
59 DCHECK(loader); 61 DCHECK(loader);
60 DCHECK(browserState); 62 DCHECK(browserState);
61 DCHECK(URL.is_valid()); 63 DCHECK(URL.is_valid());
62 DCHECK(resourcePath); 64 DCHECK(resourcePath);
63 base::scoped_nsobject<StaticHtmlViewController> HTMLViewController( 65 StaticHtmlViewController* HTMLViewController =
64 [[StaticHtmlViewController alloc] initWithResource:resourcePath 66 [[StaticHtmlViewController alloc] initWithResource:resourcePath
65 browserState:browserState]); 67 browserState:browserState];
66 return [self initWithLoader:loader 68 return [self initWithLoader:loader
67 staticHTMLViewController:HTMLViewController 69 staticHTMLViewController:HTMLViewController
68 URL:URL]; 70 URL:URL];
69 } 71 }
70 72
71 - (void)dealloc { 73 - (void)dealloc {
72 [[self scrollView] setDelegate:nil]; 74 [[self scrollView] setDelegate:nil];
73 [super dealloc];
74 } 75 }
75 76
76 - (void)loadURL:(const GURL&)URL 77 - (void)loadURL:(const GURL&)URL
77 referrer:(const web::Referrer&)referrer 78 referrer:(const web::Referrer&)referrer
78 transition:(ui::PageTransition)transition 79 transition:(ui::PageTransition)transition
79 rendererInitiated:(BOOL)rendererInitiated { 80 rendererInitiated:(BOOL)rendererInitiated {
80 [_loader loadURL:URL 81 [_loader loadURL:URL
81 referrer:referrer 82 referrer:referrer
82 transition:transition 83 transition:transition
83 rendererInitiated:rendererInitiated]; 84 rendererInitiated:rendererInitiated];
84 } 85 }
85 86
86 - (OverscrollActionsController*)overscrollActionsController { 87 - (OverscrollActionsController*)overscrollActionsController {
87 return _overscrollActionsController.get(); 88 return _overscrollActionsController;
88 } 89 }
89 90
90 - (void)setOverscrollActionsController: 91 - (void)setOverscrollActionsController:
91 (OverscrollActionsController*)controller { 92 (OverscrollActionsController*)controller {
92 _overscrollActionsController.reset([controller retain]); 93 _overscrollActionsController = controller;
93 [[self scrollView] setDelegate:controller]; 94 [[self scrollView] setDelegate:controller];
94 } 95 }
95 96
96 #pragma mark - 97 #pragma mark -
97 #pragma mark CRWNativeContent implementation 98 #pragma mark CRWNativeContent implementation
98 99
99 - (void)willBeDismissed { 100 - (void)willBeDismissed {
100 // Invalidate the _overscrollActionsController but let the animation finish. 101 // Invalidate the _overscrollActionsController but let the animation finish.
101 [_overscrollActionsController scheduleInvalidate]; 102 [_overscrollActionsController scheduleInvalidate];
102 } 103 }
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 - (void)setScrollEnabled:(BOOL)enabled { 149 - (void)setScrollEnabled:(BOOL)enabled {
149 [_staticHTMLViewController setScrollEnabled:enabled]; 150 [_staticHTMLViewController setScrollEnabled:enabled];
150 } 151 }
151 152
152 - (void)setWebUsageEnabled:(BOOL)webUsageEnabled { 153 - (void)setWebUsageEnabled:(BOOL)webUsageEnabled {
153 if (_webUsageEnabled == webUsageEnabled) { 154 if (_webUsageEnabled == webUsageEnabled) {
154 return; 155 return;
155 } 156 }
156 _webUsageEnabled = webUsageEnabled; 157 _webUsageEnabled = webUsageEnabled;
157 if (!_webUsageEnabled) { 158 if (!_webUsageEnabled) {
158 _staticHTMLViewController.reset(); 159 _staticHTMLViewController = nil;
159 } 160 }
160 } 161 }
161 162
162 - (UIScrollView*)scrollView { 163 - (UIScrollView*)scrollView {
163 return [_staticHTMLViewController scrollView]; 164 return [_staticHTMLViewController scrollView];
164 } 165 }
165 166
166 @end 167 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698