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

Side by Side Diff: ios/chrome/browser/ui/omnibox/page_info_view_controller.mm

Issue 2707963002: [ObjC ARC] Converts ios/chrome/browser/ui/omnibox:omnibox_internal to ARC. (Closed)
Patch Set: ARC in new code Created 3 years, 9 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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/omnibox/page_info_view_controller.h" 5 #import "ios/chrome/browser/ui/omnibox/page_info_view_controller.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/mac/bundle_locations.h" 9 #include "base/mac/bundle_locations.h"
10 #import "base/mac/foundation_util.h" 10 #import "base/mac/foundation_util.h"
11 #include "base/mac/objc_property_releaser.h"
12 #include "base/mac/scoped_nsobject.h"
13 #include "base/message_loop/message_loop.h" 11 #include "base/message_loop/message_loop.h"
14 #include "base/single_thread_task_runner.h" 12 #include "base/single_thread_task_runner.h"
15 #include "base/strings/sys_string_conversions.h" 13 #include "base/strings/sys_string_conversions.h"
16 #include "base/threading/thread_task_runner_handle.h" 14 #include "base/threading/thread_task_runner_handle.h"
17 #include "components/strings/grit/components_strings.h" 15 #include "components/strings/grit/components_strings.h"
18 #import "ios/chrome/browser/ui/animation_util.h" 16 #import "ios/chrome/browser/ui/animation_util.h"
19 #import "ios/chrome/browser/ui/commands/UIKit+ChromeExecuteCommand.h" 17 #import "ios/chrome/browser/ui/commands/UIKit+ChromeExecuteCommand.h"
20 #include "ios/chrome/browser/ui/commands/ios_command_ids.h" 18 #include "ios/chrome/browser/ui/commands/ios_command_ids.h"
21 #import "ios/chrome/browser/ui/fancy_ui/bidi_container_view.h" 19 #import "ios/chrome/browser/ui/fancy_ui/bidi_container_view.h"
22 #include "ios/chrome/browser/ui/omnibox/page_info_model.h" 20 #include "ios/chrome/browser/ui/omnibox/page_info_model.h"
23 #import "ios/chrome/browser/ui/popup_menu/popup_menu_view.h" 21 #import "ios/chrome/browser/ui/popup_menu/popup_menu_view.h"
24 #include "ios/chrome/browser/ui/rtl_geometry.h" 22 #include "ios/chrome/browser/ui/rtl_geometry.h"
25 #include "ios/chrome/browser/ui/ui_util.h" 23 #include "ios/chrome/browser/ui/ui_util.h"
26 #import "ios/chrome/browser/ui/uikit_ui_util.h" 24 #import "ios/chrome/browser/ui/uikit_ui_util.h"
27 #import "ios/chrome/common/material_timing.h" 25 #import "ios/chrome/common/material_timing.h"
28 #include "ios/chrome/grit/ios_strings.h" 26 #include "ios/chrome/grit/ios_strings.h"
29 #import "ios/third_party/material_components_ios/src/components/Typography/src/M aterialTypography.h" 27 #import "ios/third_party/material_components_ios/src/components/Typography/src/M aterialTypography.h"
30 #import "ios/third_party/material_roboto_font_loader_ios/src/src/MaterialRobotoF ontLoader.h" 28 #import "ios/third_party/material_roboto_font_loader_ios/src/src/MaterialRobotoF ontLoader.h"
31 #include "ui/base/l10n/l10n_util.h" 29 #include "ui/base/l10n/l10n_util.h"
32 #include "ui/base/l10n/l10n_util_mac.h" 30 #include "ui/base/l10n/l10n_util_mac.h"
33 #import "ui/gfx/ios/NSString+CrStringDrawing.h" 31 #import "ui/gfx/ios/NSString+CrStringDrawing.h"
34 #import "ui/gfx/ios/uikit_util.h" 32 #import "ui/gfx/ios/uikit_util.h"
35 33
34 #if !defined(__has_feature) || !__has_feature(objc_arc)
35 #error "This file requires ARC support."
36 #endif
37
36 using ios::material::TimingFunction; 38 using ios::material::TimingFunction;
37 39
38 namespace { 40 namespace {
39 41
40 // The width of the view. 42 // The width of the view.
41 const CGFloat kViewWidthRegular = 600.0; 43 const CGFloat kViewWidthRegular = 600.0;
42 const CGFloat kViewWidthCompact = 288.0; 44 const CGFloat kViewWidthCompact = 288.0;
43 const CGFloat kViewWidthiPhoneLandscape = 400.0; 45 const CGFloat kViewWidthiPhoneLandscape = 400.0;
44 // Spacing in between sections. 46 // Spacing in between sections.
45 const CGFloat kVerticalSpacing = 20.0; 47 const CGFloat kVerticalSpacing = 20.0;
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 // not retain its target; if the child outlives its parent, zombies get left 121 // not retain its target; if the child outlives its parent, zombies get left
120 // behind (http://crbug.com/59619). This will cancel the scheduled task if 122 // behind (http://crbug.com/59619). This will cancel the scheduled task if
121 // the controller (and thus this bridge) get destroyed before the message 123 // the controller (and thus this bridge) get destroyed before the message
122 // can be delivered. 124 // can be delivered.
123 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( 125 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
124 FROM_HERE, base::Bind(&PageInfoModelBubbleBridge::PerformLayout, 126 FROM_HERE, base::Bind(&PageInfoModelBubbleBridge::PerformLayout,
125 weak_ptr_factory_.GetWeakPtr()), 127 weak_ptr_factory_.GetWeakPtr()),
126 base::TimeDelta::FromMilliseconds(1000 /* milliseconds */)); 128 base::TimeDelta::FromMilliseconds(1000 /* milliseconds */));
127 } 129 }
128 130
131 void PageInfoModelBubbleBridge::PerformLayout() {
132 // If the window is animating closed when this is called, the
133 // animation could be holding the last reference to |controller_|
134 // (and thus |this|). Pin it until the task is completed.
135 base::scoped_nsobject<PageInfoViewController> keep_alive(controller_);
136 [controller_ performLayout];
137 }
138
129 @interface PageInfoViewController ()<UIGestureRecognizerDelegate> { 139 @interface PageInfoViewController ()<UIGestureRecognizerDelegate> {
130 // Scroll View inside the PageInfoView used to display content that exceeds 140 // Scroll View inside the PageInfoView used to display content that exceeds
131 // the available space. 141 // the available space.
132 base::scoped_nsobject<UIScrollView> scrollView_; 142 UIScrollView* scrollView_;
133 // Container View added inside the Scroll View. All content is added to this 143 // Container View added inside the Scroll View. All content is added to this
134 // view instead of PopupMenuController.containerView_. 144 // view instead of PopupMenuController.containerView_.
135 base::scoped_nsobject<BidiContainerView> innerContainerView_; 145 BidiContainerView* innerContainerView_;
136 146
137 // Origin of the arrow at the top of the popup window. 147 // Origin of the arrow at the top of the popup window.
138 CGPoint origin_; 148 CGPoint origin_;
139 149
140 // Model for the data to display. 150 // Model for the data to display.
141 std::unique_ptr<PageInfoModel> model_; 151 std::unique_ptr<PageInfoModel> model_;
142 152
143 // Thin bridge that pushes model-changed notifications from C++ to Cocoa. 153 // Thin bridge that pushes model-changed notifications from C++ to Cocoa.
144 std::unique_ptr<PageInfoModelObserver> bridge_; 154 std::unique_ptr<PageInfoModelObserver> bridge_;
145 155
146 // Width of the view. Depends on the device (iPad/iPhone). 156 // Width of the view. Depends on the device (iPad/iPhone).
147 CGFloat viewWidth_; 157 CGFloat viewWidth_;
148 158
149 // Width of the text fields. 159 // Width of the text fields.
150 CGFloat textWidth_; 160 CGFloat textWidth_;
151 161
152 // YES when the popup has finished animating in. NO otherwise. 162 // YES when the popup has finished animating in. NO otherwise.
153 BOOL animateInCompleted_; 163 BOOL animateInCompleted_;
154
155 base::mac::ObjCPropertyReleaser propertyReleaser_PageInfoViewController_;
156 } 164 }
157 165
158 // Adds the state image at a pre-determined x position and the given y. This 166 // Adds the state image at a pre-determined x position and the given y. This
159 // does not affect the next Y position because the image is placed next to 167 // does not affect the next Y position because the image is placed next to
160 // a text field that is larger and accounts for the image's size. 168 // a text field that is larger and accounts for the image's size.
161 - (void)addImageViewForInfo:(const PageInfoModel::SectionInfo&)info 169 - (void)addImageViewForInfo:(const PageInfoModel::SectionInfo&)info
162 toSubviews:(NSMutableArray*)subviews 170 toSubviews:(NSMutableArray*)subviews
163 atOffset:(CGFloat)offset; 171 atOffset:(CGFloat)offset;
164 172
165 // Adds the title text field at the given x,y position, and returns the y 173 // Adds the title text field at the given x,y position, and returns the y
(...skipping 13 matching lines...) Expand all
179 187
180 // Adds the the button |buttonAction| that explains the icons. Returns the y 188 // Adds the the button |buttonAction| that explains the icons. Returns the y
181 // position delta for the next offset. 189 // position delta for the next offset.
182 - (CGFloat)addButton:(PageInfoModel::ButtonAction)buttonAction 190 - (CGFloat)addButton:(PageInfoModel::ButtonAction)buttonAction
183 toSubviews:(NSMutableArray*)subviews 191 toSubviews:(NSMutableArray*)subviews
184 atOffset:(CGFloat)offset; 192 atOffset:(CGFloat)offset;
185 193
186 // Sends the IDC_HIDE_PAGE_INFO command to hide the current popup. 194 // Sends the IDC_HIDE_PAGE_INFO command to hide the current popup.
187 - (void)close; 195 - (void)close;
188 196
189 @property(nonatomic, retain) UIView* containerView; 197 @property(nonatomic, strong) UIView* containerView;
190 @property(nonatomic, retain) UIView* popupContainer; 198 @property(nonatomic, strong) UIView* popupContainer;
191 @end 199 @end
192 200
193 @implementation PageInfoViewController 201 @implementation PageInfoViewController
194 202
195 @synthesize containerView = containerView_; 203 @synthesize containerView = containerView_;
196 @synthesize popupContainer = popupContainer_; 204 @synthesize popupContainer = popupContainer_;
197 205
198 - (id)initWithModel:(PageInfoModel*)model 206 - (id)initWithModel:(PageInfoModel*)model
199 bridge:(PageInfoModelObserver*)bridge 207 bridge:(PageInfoModelObserver*)bridge
200 sourceFrame:(CGRect)source 208 sourceFrame:(CGRect)source
201 parentView:(UIView*)parent { 209 parentView:(UIView*)parent {
202 DCHECK(parent); 210 DCHECK(parent);
203 self = [super init]; 211 self = [super init];
204 if (self) { 212 if (self) {
205 propertyReleaser_PageInfoViewController_.Init( 213 scrollView_ =
206 self, [PageInfoViewController class]); 214 [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 240, 128)];
207
208 scrollView_.reset(
209 [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 240, 128)]);
210 [scrollView_ setMultipleTouchEnabled:YES]; 215 [scrollView_ setMultipleTouchEnabled:YES];
211 [scrollView_ setClipsToBounds:YES]; 216 [scrollView_ setClipsToBounds:YES];
212 [scrollView_ setShowsHorizontalScrollIndicator:NO]; 217 [scrollView_ setShowsHorizontalScrollIndicator:NO];
213 [scrollView_ setIndicatorStyle:UIScrollViewIndicatorStyleBlack]; 218 [scrollView_ setIndicatorStyle:UIScrollViewIndicatorStyleBlack];
214 [scrollView_ 219 [scrollView_
215 setAutoresizingMask:(UIViewAutoresizingFlexibleTrailingMargin() | 220 setAutoresizingMask:(UIViewAutoresizingFlexibleTrailingMargin() |
216 UIViewAutoresizingFlexibleTopMargin)]; 221 UIViewAutoresizingFlexibleTopMargin)];
217 222
218 innerContainerView_.reset( 223 innerContainerView_ =
219 [[BidiContainerView alloc] initWithFrame:CGRectMake(0, 0, 194, 327)]); 224 [[BidiContainerView alloc] initWithFrame:CGRectMake(0, 0, 194, 327)];
220 [innerContainerView_ setBackgroundColor:[UIColor clearColor]]; 225 [innerContainerView_ setBackgroundColor:[UIColor clearColor]];
221 [innerContainerView_ 226 [innerContainerView_
222 setAccessibilityLabel:@"Page Security Info Scroll Container"]; 227 setAccessibilityLabel:@"Page Security Info Scroll Container"];
223 [innerContainerView_ 228 [innerContainerView_
224 setAutoresizingMask:(UIViewAutoresizingFlexibleTrailingMargin() | 229 setAutoresizingMask:(UIViewAutoresizingFlexibleTrailingMargin() |
225 UIViewAutoresizingFlexibleBottomMargin)]; 230 UIViewAutoresizingFlexibleBottomMargin)];
226 231
227 model_.reset(model); 232 model_.reset(model);
228 bridge_.reset(bridge); 233 bridge_.reset(bridge);
229 origin_ = CGPointMake(CGRectGetMidX(source), CGRectGetMaxY(source)); 234 origin_ = CGPointMake(CGRectGetMidX(source), CGRectGetMaxY(source));
230 235
231 UIInterfaceOrientation orientation = 236 UIInterfaceOrientation orientation =
232 [[UIApplication sharedApplication] statusBarOrientation]; 237 [[UIApplication sharedApplication] statusBarOrientation];
233 viewWidth_ = IsCompact() ? kViewWidthCompact : kViewWidthRegular; 238 viewWidth_ = IsCompact() ? kViewWidthCompact : kViewWidthRegular;
234 // Special case iPhone landscape. 239 // Special case iPhone landscape.
235 if (!IsIPadIdiom() && UIInterfaceOrientationIsLandscape(orientation)) 240 if (!IsIPadIdiom() && UIInterfaceOrientationIsLandscape(orientation))
236 viewWidth_ = kViewWidthiPhoneLandscape; 241 viewWidth_ = kViewWidthiPhoneLandscape;
237 242
238 textWidth_ = viewWidth_ - (kImageSize + kImageSpacing + kFramePadding * 2 + 243 textWidth_ = viewWidth_ - (kImageSize + kImageSpacing + kFramePadding * 2 +
239 kScrollViewInset * 2); 244 kScrollViewInset * 2);
240 245
241 base::scoped_nsobject<UILongPressGestureRecognizer> touchDownRecognizer( 246 UILongPressGestureRecognizer* touchDownRecognizer =
242 [[UILongPressGestureRecognizer alloc] 247 [[UILongPressGestureRecognizer alloc]
243 initWithTarget:self 248 initWithTarget:self
244 action:@selector(rootViewTapped:)]); 249 action:@selector(rootViewTapped:)];
245 // Setting the duration to .001 makes this similar to a control event 250 // Setting the duration to .001 makes this similar to a control event
246 // UIControlEventTouchDown. 251 // UIControlEventTouchDown.
247 [touchDownRecognizer setMinimumPressDuration:.001]; 252 [touchDownRecognizer setMinimumPressDuration:.001];
248 [touchDownRecognizer setDelegate:self]; 253 [touchDownRecognizer setDelegate:self];
249 254
250 containerView_ = [[UIView alloc] initWithFrame:[parent bounds]]; 255 containerView_ = [[UIView alloc] initWithFrame:[parent bounds]];
251 [containerView_ addGestureRecognizer:touchDownRecognizer]; 256 [containerView_ addGestureRecognizer:touchDownRecognizer];
252 [containerView_ 257 [containerView_
253 setBackgroundColor:[UIColor colorWithWhite:0 alpha:kShieldAlpha]]; 258 setBackgroundColor:[UIColor colorWithWhite:0 alpha:kShieldAlpha]];
254 [containerView_ setTag:IDC_HIDE_PAGE_INFO]; 259 [containerView_ setTag:IDC_HIDE_PAGE_INFO];
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 396
392 for (UIView* view in [innerContainerView_ subviews]) { 397 for (UIView* view in [innerContainerView_ subviews]) {
393 [view removeFromSuperview]; 398 [view removeFromSuperview];
394 } 399 }
395 400
396 for (UIView* view in subviews) { 401 for (UIView* view in subviews) {
397 [innerContainerView_ addSubview:view]; 402 [innerContainerView_ addSubview:view];
398 [innerContainerView_ setSubviewNeedsAdjustmentForRTL:view]; 403 [innerContainerView_ setSubviewNeedsAdjustmentForRTL:view];
399 } 404 }
400 405
401 [scrollView_ setContentSize:innerContainerView_.get().frame.size]; 406 [scrollView_ setContentSize:innerContainerView_.frame.size];
402 } 407 }
403 408
404 - (void)close { 409 - (void)close {
405 [containerView_ chromeExecuteCommand:containerView_]; 410 [containerView_ chromeExecuteCommand:containerView_];
406 } 411 }
407 412
408 - (void)dismiss { 413 - (void)dismiss {
409 [self animatePageInfoViewOut]; 414 [self animatePageInfoViewOut];
410 UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, 415 UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification,
411 nil); 416 nil);
412 } 417 }
413 418
414 #pragma mark - Helper methods to create subviews. 419 #pragma mark - Helper methods to create subviews.
415 420
416 - (void)addImageViewForInfo:(const PageInfoModel::SectionInfo&)info 421 - (void)addImageViewForInfo:(const PageInfoModel::SectionInfo&)info
417 toSubviews:(NSMutableArray*)subviews 422 toSubviews:(NSMutableArray*)subviews
418 atOffset:(CGFloat)offset { 423 atOffset:(CGFloat)offset {
419 CGRect frame = CGRectMake(kFramePadding, offset, kImageSize, kImageSize); 424 CGRect frame = CGRectMake(kFramePadding, offset, kImageSize, kImageSize);
420 base::scoped_nsobject<UIImageView> imageView( 425 UIImageView* imageView = [[UIImageView alloc] initWithFrame:frame];
421 [[UIImageView alloc] initWithFrame:frame]);
422 [imageView setImage:model_->GetIconImage(info.icon_id)->ToUIImage()]; 426 [imageView setImage:model_->GetIconImage(info.icon_id)->ToUIImage()];
423 [subviews addObject:imageView.get()]; 427 [subviews addObject:imageView];
424 } 428 }
425 429
426 - (CGFloat)addHeadlineViewForInfo:(const PageInfoModel::SectionInfo&)info 430 - (CGFloat)addHeadlineViewForInfo:(const PageInfoModel::SectionInfo&)info
427 toSubviews:(NSMutableArray*)subviews 431 toSubviews:(NSMutableArray*)subviews
428 atPoint:(CGPoint)point { 432 atPoint:(CGPoint)point {
429 CGRect frame = CGRectMake(point.x, point.y, textWidth_, kHeadlineHeight); 433 CGRect frame = CGRectMake(point.x, point.y, textWidth_, kHeadlineHeight);
430 base::scoped_nsobject<UILabel> label([[UILabel alloc] initWithFrame:frame]); 434 UILabel* label = [[UILabel alloc] initWithFrame:frame];
431 [label setTextAlignment:NSTextAlignmentNatural]; 435 [label setTextAlignment:NSTextAlignmentNatural];
432 [label setText:base::SysUTF16ToNSString(info.headline)]; 436 [label setText:base::SysUTF16ToNSString(info.headline)];
433 [label setTextColor:PageInfoTextColor()]; 437 [label setTextColor:PageInfoTextColor()];
434 [label setFont:PageInfoHeadlineFont()]; 438 [label setFont:PageInfoHeadlineFont()];
435 [label setBackgroundColor:[UIColor clearColor]]; 439 [label setBackgroundColor:[UIColor clearColor]];
436 [label setFrame:frame]; 440 [label setFrame:frame];
437 [label setLineBreakMode:NSLineBreakByTruncatingHead]; 441 [label setLineBreakMode:NSLineBreakByTruncatingHead];
438 [subviews addObject:label.get()]; 442 [subviews addObject:label];
439 return CGRectGetHeight(frame); 443 return CGRectGetHeight(frame);
440 } 444 }
441 445
442 - (CGFloat)addDescriptionViewForInfo:(const PageInfoModel::SectionInfo&)info 446 - (CGFloat)addDescriptionViewForInfo:(const PageInfoModel::SectionInfo&)info
443 toSubviews:(NSMutableArray*)subviews 447 toSubviews:(NSMutableArray*)subviews
444 atPoint:(CGPoint)point { 448 atPoint:(CGPoint)point {
445 CGRect frame = CGRectMake(point.x, point.y, textWidth_, kImageSize); 449 CGRect frame = CGRectMake(point.x, point.y, textWidth_, kImageSize);
446 base::scoped_nsobject<UILabel> label([[UILabel alloc] initWithFrame:frame]); 450 UILabel* label = [[UILabel alloc] initWithFrame:frame];
447 [label setTextAlignment:NSTextAlignmentNatural]; 451 [label setTextAlignment:NSTextAlignmentNatural];
448 NSString* description = base::SysUTF16ToNSString(info.description); 452 NSString* description = base::SysUTF16ToNSString(info.description);
449 UIFont* font = [MDCTypography captionFont]; 453 UIFont* font = [MDCTypography captionFont];
450 [label setTextColor:PageInfoTextColor()]; 454 [label setTextColor:PageInfoTextColor()];
451 [label setText:description]; 455 [label setText:description];
452 [label setFont:font]; 456 [label setFont:font];
453 [label setNumberOfLines:0]; 457 [label setNumberOfLines:0];
454 [label setBackgroundColor:[UIColor clearColor]]; 458 [label setBackgroundColor:[UIColor clearColor]];
455 459
456 // If the text is oversized, resize the text field. 460 // If the text is oversized, resize the text field.
457 CGSize constraintSize = CGSizeMake(textWidth_, CGFLOAT_MAX); 461 CGSize constraintSize = CGSizeMake(textWidth_, CGFLOAT_MAX);
458 CGSize sizeToFit = 462 CGSize sizeToFit =
459 [description cr_boundingSizeWithSize:constraintSize font:font]; 463 [description cr_boundingSizeWithSize:constraintSize font:font];
460 frame.size.height = sizeToFit.height; 464 frame.size.height = sizeToFit.height;
461 [label setFrame:frame]; 465 [label setFrame:frame];
462 [subviews addObject:label.get()]; 466 [subviews addObject:label];
463 return CGRectGetHeight(frame); 467 return CGRectGetHeight(frame);
464 } 468 }
465 469
466 - (UIButton*)buttonForAction:(PageInfoModel::ButtonAction)buttonAction { 470 - (UIButton*)buttonForAction:(PageInfoModel::ButtonAction)buttonAction {
467 if (buttonAction == PageInfoModel::BUTTON_NONE) { 471 if (buttonAction == PageInfoModel::BUTTON_NONE) {
468 return nil; 472 return nil;
469 } 473 }
470 UIButton* button = [[[UIButton alloc] initWithFrame:CGRectZero] autorelease]; 474 UIButton* button = [[UIButton alloc] initWithFrame:CGRectZero];
471 int messageId = IDS_IOS_PAGE_INFO_RELOAD; 475 int messageId = IDS_IOS_PAGE_INFO_RELOAD;
472 NSInteger tag = IDC_RELOAD; 476 NSInteger tag = IDC_RELOAD;
473 NSString* accessibilityID = @"Reload button"; 477 NSString* accessibilityID = @"Reload button";
474 switch (buttonAction) { 478 switch (buttonAction) {
475 case PageInfoModel::BUTTON_NONE: 479 case PageInfoModel::BUTTON_NONE:
476 NOTREACHED(); 480 NOTREACHED();
477 return nil; 481 return nil;
478 case PageInfoModel::BUTTON_SHOW_SECURITY_HELP: 482 case PageInfoModel::BUTTON_SHOW_SECURITY_HELP:
479 messageId = IDS_LEARN_MORE; 483 messageId = IDS_LEARN_MORE;
480 tag = IDC_SHOW_SECURITY_HELP; 484 tag = IDC_SHOW_SECURITY_HELP;
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 [opacityAnimation setFromValue:@1]; 642 [opacityAnimation setFromValue:@1];
639 [opacityAnimation setToValue:@0]; 643 [opacityAnimation setToValue:@0];
640 [[containerView_ layer] addAnimation:opacityAnimation forKey:@"animateOut"]; 644 [[containerView_ layer] addAnimation:opacityAnimation forKey:@"animateOut"];
641 645
642 [popupContainer_ setAlpha:0]; 646 [popupContainer_ setAlpha:0];
643 [containerView_ setAlpha:0]; 647 [containerView_ setAlpha:0];
644 [CATransaction commit]; 648 [CATransaction commit];
645 } 649 }
646 650
647 @end 651 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698