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

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

Issue 2955363002: [ObjC ARC] Converts ios/chrome/browser/ui/ntp:ntp_internal to ARC. (Closed)
Patch Set: rebase Created 3 years, 5 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/incognito_panel_controller.h" 5 #import "ios/chrome/browser/ui/ntp/incognito_panel_controller.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #import "base/mac/scoped_nsobject.h"
10 #include "components/google/core/browser/google_util.h" 9 #include "components/google/core/browser/google_util.h"
11 #include "components/strings/grit/components_strings.h" 10 #include "components/strings/grit/components_strings.h"
12 #include "ios/chrome/browser/application_context.h" 11 #include "ios/chrome/browser/application_context.h"
13 #include "ios/chrome/browser/browser_state/chrome_browser_state.h" 12 #include "ios/chrome/browser/browser_state/chrome_browser_state.h"
14 #import "ios/chrome/browser/ui/toolbar/web_toolbar_controller.h" 13 #import "ios/chrome/browser/ui/toolbar/web_toolbar_controller.h"
15 #include "ios/chrome/browser/ui/ui_util.h" 14 #include "ios/chrome/browser/ui/ui_util.h"
16 #import "ios/chrome/browser/ui/uikit_ui_util.h" 15 #import "ios/chrome/browser/ui/uikit_ui_util.h"
17 #import "ios/chrome/browser/ui/url_loader.h" 16 #import "ios/chrome/browser/ui/url_loader.h"
18 #import "ios/third_party/material_components_ios/src/components/Buttons/src/Mate rialButtons.h" 17 #import "ios/third_party/material_components_ios/src/components/Buttons/src/Mate rialButtons.h"
19 #import "ios/third_party/material_components_ios/src/components/Palettes/src/Mat erialPalettes.h" 18 #import "ios/third_party/material_components_ios/src/components/Palettes/src/Mat erialPalettes.h"
20 #import "ios/third_party/material_components_ios/src/components/Typography/src/M aterialTypography.h" 19 #import "ios/third_party/material_components_ios/src/components/Typography/src/M aterialTypography.h"
21 #include "ios/web/public/referrer.h" 20 #include "ios/web/public/referrer.h"
22 #import "net/base/mac/url_conversions.h" 21 #import "net/base/mac/url_conversions.h"
23 #include "ui/base/l10n/l10n_util.h" 22 #include "ui/base/l10n/l10n_util.h"
24 #include "url/gurl.h" 23 #include "url/gurl.h"
25 24
25 #if !defined(__has_feature) || !__has_feature(objc_arc)
26 #error "This file requires ARC support."
27 #endif
28
26 namespace { 29 namespace {
27 // The URL for the the Learn More page shown on incognito new tab. 30 // The URL for the the Learn More page shown on incognito new tab.
28 // Taken from ntp_resource_cache.cc. 31 // Taken from ntp_resource_cache.cc.
29 const char kLearnMoreIncognitoUrl[] = 32 const char kLearnMoreIncognitoUrl[] =
30 "https://www.google.com/support/chrome/bin/answer.py?answer=95464"; 33 "https://www.google.com/support/chrome/bin/answer.py?answer=95464";
31 34
32 GURL GetUrlWithLang(const GURL& url) { 35 GURL GetUrlWithLang(const GURL& url) {
33 std::string locale = GetApplicationContext()->GetApplicationLocale(); 36 std::string locale = GetApplicationContext()->GetApplicationLocale();
34 return google_util::AppendGoogleLocaleParam(url, locale); 37 return google_util::AppendGoogleLocaleParam(url, locale);
35 } 38 }
(...skipping 10 matching lines...) Expand all
46 - (UILabel*)labelWithString:(NSString*)string 49 - (UILabel*)labelWithString:(NSString*)string
47 font:(UIFont*)font 50 font:(UIFont*)font
48 alpha:(float)alpha; 51 alpha:(float)alpha;
49 52
50 // Triggers a navigation to the help page. 53 // Triggers a navigation to the help page.
51 - (void)learnMoreButtonPressed; 54 - (void)learnMoreButtonPressed;
52 55
53 @end 56 @end
54 57
55 @implementation IncognitoNTPView { 58 @implementation IncognitoNTPView {
56 base::WeakNSProtocol<id<UrlLoader>> _loader; 59 __weak id<UrlLoader> _loader;
57 base::scoped_nsobject<UIView> _containerView; 60 UIView* _containerView;
58 61
59 // Constraint ensuring that |containerView| is at least as high as the 62 // Constraint ensuring that |containerView| is at least as high as the
60 // superview of the IncognitoNTPView, i.e. the Incognito panel. 63 // superview of the IncognitoNTPView, i.e. the Incognito panel.
61 // This ensures that if the Incognito panel is higher than a compact 64 // This ensures that if the Incognito panel is higher than a compact
62 // |containerView|, the |containerView|'s |topGuide| and |bottomGuide| are 65 // |containerView|, the |containerView|'s |topGuide| and |bottomGuide| are
63 // forced to expand, centering the views in between them. 66 // forced to expand, centering the views in between them.
64 base::scoped_nsobject<NSLayoutConstraint> _containerVerticalConstraint; 67 NSLayoutConstraint* _containerVerticalConstraint;
65 68
66 // Constraint ensuring that |containerView| is as wide as the superview of the 69 // Constraint ensuring that |containerView| is as wide as the superview of the
67 // the IncognitoNTPView, i.e. the Incognito panel. 70 // the IncognitoNTPView, i.e. the Incognito panel.
68 base::scoped_nsobject<NSLayoutConstraint> _containerHorizontalConstraint; 71 NSLayoutConstraint* _containerHorizontalConstraint;
69 } 72 }
70 73
71 - (instancetype)initWithFrame:(CGRect)frame urlLoader:(id<UrlLoader>)loader { 74 - (instancetype)initWithFrame:(CGRect)frame urlLoader:(id<UrlLoader>)loader {
72 self = [super initWithFrame:frame]; 75 self = [super initWithFrame:frame];
73 if (self) { 76 if (self) {
74 _loader.reset(loader); 77 _loader = loader;
75 78
76 self.alwaysBounceVertical = YES; 79 self.alwaysBounceVertical = YES;
77 80
78 // Container in which all the subviews (image, labels, button) are added. 81 // Container in which all the subviews (image, labels, button) are added.
79 _containerView.reset([[UIView alloc] initWithFrame:frame]); 82 _containerView = [[UIView alloc] initWithFrame:frame];
80 [_containerView setTranslatesAutoresizingMaskIntoConstraints:NO]; 83 [_containerView setTranslatesAutoresizingMaskIntoConstraints:NO];
81 84
82 // Incognito image. 85 // Incognito image.
83 base::scoped_nsobject<UIImageView> incognitoImage([[UIImageView alloc] 86 UIImageView* incognitoImage = [[UIImageView alloc]
84 initWithImage:[UIImage imageNamed:@"incognito_icon"]]); 87 initWithImage:[UIImage imageNamed:@"incognito_icon"]];
85 [incognitoImage setTranslatesAutoresizingMaskIntoConstraints:NO]; 88 [incognitoImage setTranslatesAutoresizingMaskIntoConstraints:NO];
86 [_containerView addSubview:incognitoImage]; 89 [_containerView addSubview:incognitoImage];
87 90
88 // Title. 91 // Title.
89 UIFont* titleFont = [[MDCTypography fontLoader] lightFontOfSize:24]; 92 UIFont* titleFont = [[MDCTypography fontLoader] lightFontOfSize:24];
90 base::scoped_nsobject<UILabel> incognitoTabHeading( 93 UILabel* incognitoTabHeading =
91 [[self labelWithString:l10n_util::GetNSString(IDS_NEW_TAB_OTR_HEADING) 94 [self labelWithString:l10n_util::GetNSString(IDS_NEW_TAB_OTR_HEADING)
92 font:titleFont 95 font:titleFont
93 alpha:0.8] retain]); 96 alpha:0.8];
94 [_containerView addSubview:incognitoTabHeading]; 97 [_containerView addSubview:incognitoTabHeading];
95 98
96 // Description paragraph. 99 // Description paragraph.
97 UIFont* regularFont = [[MDCTypography fontLoader] regularFontOfSize:14]; 100 UIFont* regularFont = [[MDCTypography fontLoader] regularFontOfSize:14];
98 base::scoped_nsobject<UILabel> incognitoTabDescription([[self 101 UILabel* incognitoTabDescription = [self
99 labelWithString:l10n_util::GetNSString(IDS_NEW_TAB_OTR_DESCRIPTION) 102 labelWithString:l10n_util::GetNSString(IDS_NEW_TAB_OTR_DESCRIPTION)
100 font:regularFont 103 font:regularFont
101 alpha:0.7] retain]); 104 alpha:0.7];
102 [_containerView addSubview:incognitoTabDescription]; 105 [_containerView addSubview:incognitoTabDescription];
103 106
104 // Warning paragraph. 107 // Warning paragraph.
105 base::scoped_nsobject<UILabel> incognitoTabWarning([[self 108 UILabel* incognitoTabWarning = [self
106 labelWithString:l10n_util::GetNSString(IDS_NEW_TAB_OTR_MESSAGE_WARNING) 109 labelWithString:l10n_util::GetNSString(IDS_NEW_TAB_OTR_MESSAGE_WARNING)
107 font:regularFont 110 font:regularFont
108 alpha:0.7] retain]); 111 alpha:0.7];
109 [_containerView addSubview:incognitoTabWarning]; 112 [_containerView addSubview:incognitoTabWarning];
110 113
111 // Learn more button. 114 // Learn more button.
112 base::scoped_nsobject<MDCButton> learnMore([[MDCFlatButton alloc] init]); 115 MDCButton* learnMore = [[MDCFlatButton alloc] init];
113 UIColor* inkColor = 116 UIColor* inkColor =
114 [[[MDCPalette greyPalette] tint300] colorWithAlphaComponent:0.25]; 117 [[[MDCPalette greyPalette] tint300] colorWithAlphaComponent:0.25];
115 [learnMore setInkColor:inkColor]; 118 [learnMore setInkColor:inkColor];
116 [learnMore setTranslatesAutoresizingMaskIntoConstraints:NO]; 119 [learnMore setTranslatesAutoresizingMaskIntoConstraints:NO];
117 [learnMore setTitle:l10n_util::GetNSString(IDS_NEW_TAB_OTR_LEARN_MORE_LINK) 120 [learnMore setTitle:l10n_util::GetNSString(IDS_NEW_TAB_OTR_LEARN_MORE_LINK)
118 forState:UIControlStateNormal]; 121 forState:UIControlStateNormal];
119 [learnMore setCustomTitleColor:UIColorFromRGB(kLinkColor)]; 122 [learnMore setCustomTitleColor:UIColorFromRGB(kLinkColor)];
120 UIFont* buttonFont = [[MDCTypography fontLoader] boldFontOfSize:14]; 123 UIFont* buttonFont = [[MDCTypography fontLoader] boldFontOfSize:14];
121 [[learnMore titleLabel] setFont:buttonFont]; 124 [[learnMore titleLabel] setFont:buttonFont];
122 [learnMore addTarget:self 125 [learnMore addTarget:self
123 action:@selector(learnMoreButtonPressed) 126 action:@selector(learnMoreButtonPressed)
124 forControlEvents:UIControlEventTouchUpInside]; 127 forControlEvents:UIControlEventTouchUpInside];
125 [_containerView addSubview:learnMore]; 128 [_containerView addSubview:learnMore];
126 129
127 // |topGuide| and |bottomGuide| exist to vertically center the sibling views 130 // |topGuide| and |bottomGuide| exist to vertically center the sibling views
128 // located in between them. 131 // located in between them.
129 base::scoped_nsobject<UILayoutGuide> topGuide([[UILayoutGuide alloc] init]); 132 UILayoutGuide* topGuide = [[UILayoutGuide alloc] init];
130 base::scoped_nsobject<UILayoutGuide> bottomGuide( 133 UILayoutGuide* bottomGuide = [[UILayoutGuide alloc] init];
131 [[UILayoutGuide alloc] init]);
132 [_containerView addLayoutGuide:topGuide]; 134 [_containerView addLayoutGuide:topGuide];
133 [_containerView addLayoutGuide:bottomGuide]; 135 [_containerView addLayoutGuide:bottomGuide];
134 136
135 NSDictionary* viewsDictionary = @{ 137 NSDictionary* viewsDictionary = @{
136 @"topGuide" : topGuide.get(), 138 @"topGuide" : topGuide,
137 @"image" : incognitoImage.get(), 139 @"image" : incognitoImage,
138 @"heading" : incognitoTabHeading.get(), 140 @"heading" : incognitoTabHeading,
139 @"description" : incognitoTabDescription.get(), 141 @"description" : incognitoTabDescription,
140 @"warning" : incognitoTabWarning.get(), 142 @"warning" : incognitoTabWarning,
141 @"learnMoreButton" : learnMore.get(), 143 @"learnMoreButton" : learnMore,
142 @"bottomGuide" : bottomGuide.get(), 144 @"bottomGuide" : bottomGuide,
143 }; 145 };
144 NSArray* constraints = @[ 146 NSArray* constraints = @[
145 @"V:|-0-[topGuide(>=12)]-[image]-24-[heading]-32-[description]", 147 @"V:|-0-[topGuide(>=12)]-[image]-24-[heading]-32-[description]",
146 @"V:[description]-32-[warning]-32-[learnMoreButton]", 148 @"V:[description]-32-[warning]-32-[learnMoreButton]",
147 @"V:[learnMoreButton]-[bottomGuide]-0-|", 149 @"V:[learnMoreButton]-[bottomGuide]-0-|",
148 @"H:|-(>=24)-[heading]-(>=24)-|", 150 @"H:|-(>=24)-[heading]-(>=24)-|",
149 @"H:|-(>=24)-[description(==416@999)]-(>=24)-|", 151 @"H:|-(>=24)-[description(==416@999)]-(>=24)-|",
150 @"H:|-(>=24)-[warning(==416@999)]-(>=24)-|" 152 @"H:|-(>=24)-[warning(==416@999)]-(>=24)-|"
151 ]; 153 ];
152 ApplyVisualConstraintsWithOptions(constraints, viewsDictionary, 154 ApplyVisualConstraintsWithOptions(constraints, viewsDictionary,
(...skipping 14 matching lines...) Expand all
167 toItem:topGuide 169 toItem:topGuide
168 attribute:NSLayoutAttributeHeight 170 attribute:NSLayoutAttributeHeight
169 multiplier:2 171 multiplier:2
170 constant:0]]; 172 constant:0]];
171 173
172 [self addSubview:_containerView]; 174 [self addSubview:_containerView];
173 175
174 // Constraints comunicating the size of the contentView to the scrollview. 176 // Constraints comunicating the size of the contentView to the scrollview.
175 // See UIScrollView autolayout information at 177 // See UIScrollView autolayout information at
176 // https://developer.apple.com/library/ios/releasenotes/General/RN-iOSSDK-6_ 0/index.html 178 // https://developer.apple.com/library/ios/releasenotes/General/RN-iOSSDK-6_ 0/index.html
177 viewsDictionary = @{ @"containerView" : _containerView.get() }; 179 viewsDictionary = @{@"containerView" : _containerView};
178 constraints = @[ 180 constraints = @[
179 @"V:|-0-[containerView]-0-|", 181 @"V:|-0-[containerView]-0-|",
180 @"H:|-0-[containerView]-0-|", 182 @"H:|-0-[containerView]-0-|",
181 ]; 183 ];
182 ApplyVisualConstraintsWithOptions(constraints, viewsDictionary, 184 ApplyVisualConstraintsWithOptions(constraints, viewsDictionary,
183 LayoutOptionForRTLSupport(), self); 185 LayoutOptionForRTLSupport(), self);
184 } 186 }
185 return self; 187 return self;
186 } 188 }
187 189
188 - (UILabel*)labelWithString:(NSString*)string 190 - (UILabel*)labelWithString:(NSString*)string
189 font:(UIFont*)font 191 font:(UIFont*)font
190 alpha:(float)alpha { 192 alpha:(float)alpha {
191 base::scoped_nsobject<NSMutableAttributedString> attributedString( 193 NSMutableAttributedString* attributedString =
192 [[NSMutableAttributedString alloc] initWithString:string]); 194 [[NSMutableAttributedString alloc] initWithString:string];
193 base::scoped_nsobject<NSMutableParagraphStyle> paragraphStyle( 195 NSMutableParagraphStyle* paragraphStyle =
194 [[NSMutableParagraphStyle alloc] init]); 196 [[NSMutableParagraphStyle alloc] init];
195 [paragraphStyle setLineSpacing:4]; 197 [paragraphStyle setLineSpacing:4];
196 [paragraphStyle setAlignment:NSTextAlignmentJustified]; 198 [paragraphStyle setAlignment:NSTextAlignmentJustified];
197 [attributedString addAttribute:NSParagraphStyleAttributeName 199 [attributedString addAttribute:NSParagraphStyleAttributeName
198 value:paragraphStyle 200 value:paragraphStyle
199 range:NSMakeRange(0, string.length)]; 201 range:NSMakeRange(0, string.length)];
200 base::scoped_nsobject<UILabel> label( 202 UILabel* label = [[UILabel alloc] initWithFrame:CGRectZero];
201 [[UILabel alloc] initWithFrame:CGRectZero]);
202 [label setTranslatesAutoresizingMaskIntoConstraints:NO]; 203 [label setTranslatesAutoresizingMaskIntoConstraints:NO];
203 [label setNumberOfLines:0]; 204 [label setNumberOfLines:0];
204 [label setFont:font]; 205 [label setFont:font];
205 [label setAttributedText:attributedString]; 206 [label setAttributedText:attributedString];
206 [label setTextColor:[UIColor colorWithWhite:1.0 alpha:alpha]]; 207 [label setTextColor:[UIColor colorWithWhite:1.0 alpha:alpha]];
207 return label.autorelease(); 208 return label;
208 } 209 }
209 210
210 - (void)learnMoreButtonPressed { 211 - (void)learnMoreButtonPressed {
211 GURL gurl = GetUrlWithLang(GURL(kLearnMoreIncognitoUrl)); 212 GURL gurl = GetUrlWithLang(GURL(kLearnMoreIncognitoUrl));
212 [_loader loadURL:gurl 213 [_loader loadURL:gurl
213 referrer:web::Referrer() 214 referrer:web::Referrer()
214 transition:ui::PAGE_TRANSITION_LINK 215 transition:ui::PAGE_TRANSITION_LINK
215 rendererInitiated:NO]; 216 rendererInitiated:NO];
216 } 217 }
217 218
218 #pragma mark - UIView overrides 219 #pragma mark - UIView overrides
219 220
220 - (void)didMoveToSuperview { 221 - (void)didMoveToSuperview {
221 [super didMoveToSuperview]; 222 [super didMoveToSuperview];
222 _containerHorizontalConstraint.reset( 223 _containerHorizontalConstraint =
223 [[NSLayoutConstraint constraintWithItem:_containerView.get() 224 [NSLayoutConstraint constraintWithItem:_containerView
224 attribute:NSLayoutAttributeWidth 225 attribute:NSLayoutAttributeWidth
225 relatedBy:NSLayoutRelationEqual 226 relatedBy:NSLayoutRelationEqual
226 toItem:[self superview] 227 toItem:[self superview]
227 attribute:NSLayoutAttributeWidth 228 attribute:NSLayoutAttributeWidth
228 multiplier:1 229 multiplier:1
229 constant:0] retain]); 230 constant:0];
230 _containerVerticalConstraint.reset( 231 _containerVerticalConstraint =
231 [[NSLayoutConstraint constraintWithItem:_containerView.get() 232 [NSLayoutConstraint constraintWithItem:_containerView
232 attribute:NSLayoutAttributeHeight 233 attribute:NSLayoutAttributeHeight
233 relatedBy:NSLayoutRelationGreaterThanOrEqual 234 relatedBy:NSLayoutRelationGreaterThanOrEqual
234 toItem:[self superview] 235 toItem:[self superview]
235 attribute:NSLayoutAttributeHeight 236 attribute:NSLayoutAttributeHeight
236 multiplier:1 237 multiplier:1
237 constant:0] retain]); 238 constant:0];
238 [[self superview] addConstraint:_containerHorizontalConstraint.get()]; 239 [[self superview] addConstraint:_containerHorizontalConstraint];
239 [[self superview] addConstraint:_containerVerticalConstraint.get()]; 240 [[self superview] addConstraint:_containerVerticalConstraint];
240 } 241 }
241 242
242 - (void)willMoveToSuperview:(UIView*)newSuperview { 243 - (void)willMoveToSuperview:(UIView*)newSuperview {
243 [[self superview] removeConstraint:_containerHorizontalConstraint.get()]; 244 [[self superview] removeConstraint:_containerHorizontalConstraint];
244 [[self superview] removeConstraint:_containerVerticalConstraint.get()]; 245 [[self superview] removeConstraint:_containerVerticalConstraint];
245 _containerHorizontalConstraint.reset(); 246 _containerHorizontalConstraint = nil;
246 _containerVerticalConstraint.reset(); 247 _containerVerticalConstraint = nil;
247 [super willMoveToSuperview:newSuperview]; 248 [super willMoveToSuperview:newSuperview];
248 } 249 }
249 250
250 @end 251 @end
251 252
252 @interface IncognitoPanelController ()<UIScrollViewDelegate> 253 @interface IncognitoPanelController ()<UIScrollViewDelegate>
253 // Calculate the background alpha for the toolbar based on how much |scrollView| 254 // Calculate the background alpha for the toolbar based on how much |scrollView|
254 // has scrolled up. 255 // has scrolled up.
255 - (CGFloat)toolbarAlphaForScrollView:(UIScrollView*)scrollView; 256 - (CGFloat)toolbarAlphaForScrollView:(UIScrollView*)scrollView;
256 @end 257 @end
257 258
258 @implementation IncognitoPanelController { 259 @implementation IncognitoPanelController {
259 // Delegate for updating the toolbar's background alpha. 260 // Delegate for updating the toolbar's background alpha.
260 base::WeakNSProtocol<id<WebToolbarDelegate>> _webToolbarDelegate; 261 __weak id<WebToolbarDelegate> _webToolbarDelegate;
261
262 // The view containing the scrollview.
263 // The purpose of this view is to be used to set the size
264 // of the contentView of the scrollview with constraints.
265 base::scoped_nsobject<UIView> _view;
266 262
267 // The scrollview containing the actual views. 263 // The scrollview containing the actual views.
268 base::scoped_nsobject<IncognitoNTPView> _incognitoView; 264 IncognitoNTPView* _incognitoView;
269 } 265 }
270 266
271 // Property declared in NewTabPagePanelProtocol. 267 // Property declared in NewTabPagePanelProtocol.
272 @synthesize delegate = _delegate; 268 @synthesize delegate = _delegate;
269 @synthesize view = _view;
273 270
274 - (id)initWithLoader:(id<UrlLoader>)loader 271 - (id)initWithLoader:(id<UrlLoader>)loader
275 browserState:(ios::ChromeBrowserState*)browserState 272 browserState:(ios::ChromeBrowserState*)browserState
276 webToolbarDelegate:(id<WebToolbarDelegate>)webToolbarDelegate { 273 webToolbarDelegate:(id<WebToolbarDelegate>)webToolbarDelegate {
277 self = [super init]; 274 self = [super init];
278 if (self) { 275 if (self) {
279 _view.reset([[UIView alloc] 276 _view = [[UIView alloc]
280 initWithFrame:[UIApplication sharedApplication].keyWindow.bounds]); 277 initWithFrame:[UIApplication sharedApplication].keyWindow.bounds];
281 [_view setAccessibilityIdentifier:@"NTP Incognito Panel"]; 278 [_view setAccessibilityIdentifier:@"NTP Incognito Panel"];
282 [_view setAutoresizingMask:UIViewAutoresizingFlexibleHeight | 279 [_view setAutoresizingMask:UIViewAutoresizingFlexibleHeight |
283 UIViewAutoresizingFlexibleWidth]; 280 UIViewAutoresizingFlexibleWidth];
284 _incognitoView.reset([[IncognitoNTPView alloc] 281 _incognitoView = [[IncognitoNTPView alloc]
285 initWithFrame:[UIApplication sharedApplication].keyWindow.bounds 282 initWithFrame:[UIApplication sharedApplication].keyWindow.bounds
286 urlLoader:loader]); 283 urlLoader:loader];
287 [_incognitoView setAutoresizingMask:UIViewAutoresizingFlexibleHeight | 284 [_incognitoView setAutoresizingMask:UIViewAutoresizingFlexibleHeight |
288 UIViewAutoresizingFlexibleWidth]; 285 UIViewAutoresizingFlexibleWidth];
289 286
290 if (IsIPadIdiom()) { 287 if (IsIPadIdiom()) {
291 [_incognitoView setBackgroundColor:[UIColor clearColor]]; 288 [_incognitoView setBackgroundColor:[UIColor clearColor]];
292 } else { 289 } else {
293 [_incognitoView 290 [_incognitoView
294 setBackgroundColor:[UIColor colorWithWhite:34 / 255.0 alpha:1.0]]; 291 setBackgroundColor:[UIColor colorWithWhite:34 / 255.0 alpha:1.0]];
295 } 292 }
296 if (!IsIPadIdiom()) { 293 if (!IsIPadIdiom()) {
297 [_incognitoView setDelegate:self]; 294 [_incognitoView setDelegate:self];
298 _webToolbarDelegate.reset(webToolbarDelegate); 295 _webToolbarDelegate = webToolbarDelegate;
299 [_webToolbarDelegate updateToolbarBackgroundAlpha:0]; 296 [_webToolbarDelegate updateToolbarBackgroundAlpha:0];
300 } 297 }
301 [_view addSubview:_incognitoView]; 298 [_view addSubview:_incognitoView];
302 } 299 }
303 return self; 300 return self;
304 } 301 }
305 302
306 - (CGFloat)toolbarAlphaForScrollView:(UIScrollView*)scrollView { 303 - (CGFloat)toolbarAlphaForScrollView:(UIScrollView*)scrollView {
307 CGFloat alpha = scrollView.contentOffset.y / kDistanceToFadeToolbar; 304 CGFloat alpha = scrollView.contentOffset.y / kDistanceToFadeToolbar;
308 return MAX(MIN(alpha, 1), 0); 305 return MAX(MIN(alpha, 1), 0);
309 } 306 }
310 307
311 - (void)dealloc { 308 - (void)dealloc {
312 [_webToolbarDelegate updateToolbarBackgroundAlpha:1]; 309 [_webToolbarDelegate updateToolbarBackgroundAlpha:1];
313 [_incognitoView setDelegate:nil]; 310 [_incognitoView setDelegate:nil];
314 [super dealloc]; 311 ;
315 } 312 }
316 313
317 #pragma mark - 314 #pragma mark -
318 #pragma mark NewTabPagePanelProtocol 315 #pragma mark NewTabPagePanelProtocol
319 316
320 - (void)reload { 317 - (void)reload {
321 } 318 }
322 319
323 - (void)wasShown { 320 - (void)wasShown {
324 CGFloat alpha = [self toolbarAlphaForScrollView:_incognitoView]; 321 CGFloat alpha = [self toolbarAlphaForScrollView:_incognitoView];
(...skipping 10 matching lines...) Expand all
335 - (void)dismissKeyboard { 332 - (void)dismissKeyboard {
336 } 333 }
337 334
338 - (void)setScrollsToTop:(BOOL)enable { 335 - (void)setScrollsToTop:(BOOL)enable {
339 } 336 }
340 337
341 - (CGFloat)alphaForBottomShadow { 338 - (CGFloat)alphaForBottomShadow {
342 return 0; 339 return 0;
343 } 340 }
344 341
345 - (UIView*)view {
346 return _view.get();
347 }
348
349 #pragma mark - 342 #pragma mark -
350 #pragma mark UIScrollViewDelegate methods 343 #pragma mark UIScrollViewDelegate methods
351 344
352 - (void)scrollViewDidScroll:(UIScrollView*)scrollView { 345 - (void)scrollViewDidScroll:(UIScrollView*)scrollView {
353 CGFloat alpha = [self toolbarAlphaForScrollView:_incognitoView]; 346 CGFloat alpha = [self toolbarAlphaForScrollView:_incognitoView];
354 [_webToolbarDelegate updateToolbarBackgroundAlpha:alpha]; 347 [_webToolbarDelegate updateToolbarBackgroundAlpha:alpha];
355 } 348 }
356 349
357 @end 350 @end
OLDNEW
« no previous file with comments | « ios/chrome/browser/ui/ntp/google_landing_view_controller.mm ('k') | ios/chrome/browser/ui/ntp/most_visited_cell.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698