OLD | NEW |
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 <UIKit/UIKit.h> | 5 #import <UIKit/UIKit.h> |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 #import "ios/chrome/browser/ui/uikit_ui_util.h" | 24 #import "ios/chrome/browser/ui/uikit_ui_util.h" |
25 #include "ios/chrome/grit/ios_strings.h" | 25 #include "ios/chrome/grit/ios_strings.h" |
26 #include "ios/chrome/grit/ios_theme_resources.h" | 26 #include "ios/chrome/grit/ios_theme_resources.h" |
27 #import "ios/third_party/material_roboto_font_loader_ios/src/src/MaterialRobotoF
ontLoader.h" | 27 #import "ios/third_party/material_roboto_font_loader_ios/src/src/MaterialRobotoF
ontLoader.h" |
28 #include "ios/web/public/navigation_item.h" | 28 #include "ios/web/public/navigation_item.h" |
29 #include "ios/web/public/navigation_manager.h" | 29 #include "ios/web/public/navigation_manager.h" |
30 #include "ios/web/public/ssl_status.h" | 30 #include "ios/web/public/ssl_status.h" |
31 #include "ios/web/public/web_state/web_state.h" | 31 #include "ios/web/public/web_state/web_state.h" |
32 #include "ui/base/l10n/l10n_util.h" | 32 #include "ui/base/l10n/l10n_util.h" |
33 | 33 |
| 34 #if !defined(__has_feature) || !__has_feature(objc_arc) |
| 35 #error "This file requires ARC support." |
| 36 #endif |
| 37 |
34 namespace { | 38 namespace { |
35 const CGFloat kClearTextButtonWidth = 28; | 39 const CGFloat kClearTextButtonWidth = 28; |
36 const CGFloat kClearTextButtonHeight = 28; | 40 const CGFloat kClearTextButtonHeight = 28; |
37 | 41 |
38 // Workaround for https://crbug.com/527084 . If there is connection | 42 // Workaround for https://crbug.com/527084 . If there is connection |
39 // information, always show the icon. Remove this once connection info | 43 // information, always show the icon. Remove this once connection info |
40 // is available via other UI: https://crbug.com/533581 | 44 // is available via other UI: https://crbug.com/533581 |
41 bool DoesCurrentPageHaveCertInfo(web::WebState* webState) { | 45 bool DoesCurrentPageHaveCertInfo(web::WebState* webState) { |
42 if (!webState) | 46 if (!webState) |
43 return false; | 47 return false; |
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 | 303 |
300 CGRect frame = CGRectZero; | 304 CGRect frame = CGRectZero; |
301 frame.size = CGSizeMake(kClearTextButtonWidth, kClearTextButtonHeight); | 305 frame.size = CGSizeMake(kClearTextButtonWidth, kClearTextButtonHeight); |
302 [button setFrame:frame]; | 306 [button setFrame:frame]; |
303 | 307 |
304 clear_button_bridge_.reset( | 308 clear_button_bridge_.reset( |
305 [[OmniboxClearButtonBridge alloc] initWithOmniboxView:edit_view_.get()]); | 309 [[OmniboxClearButtonBridge alloc] initWithOmniboxView:edit_view_.get()]); |
306 [button addTarget:clear_button_bridge_ | 310 [button addTarget:clear_button_bridge_ |
307 action:@selector(clearText) | 311 action:@selector(clearText) |
308 forControlEvents:UIControlEventTouchUpInside]; | 312 forControlEvents:UIControlEventTouchUpInside]; |
309 clear_text_button_.reset([button retain]); | 313 clear_text_button_.reset(button); |
310 | 314 |
311 SetA11yLabelAndUiAutomationName(clear_text_button_, | 315 SetA11yLabelAndUiAutomationName(clear_text_button_, |
312 IDS_IOS_ACCNAME_CLEAR_TEXT, @"Clear Text"); | 316 IDS_IOS_ACCNAME_CLEAR_TEXT, @"Clear Text"); |
313 } | 317 } |
314 | 318 |
315 void LocationBarViewIOS::UpdateRightDecorations() { | 319 void LocationBarViewIOS::UpdateRightDecorations() { |
316 DCHECK(clear_text_button_); | 320 DCHECK(clear_text_button_); |
317 if (!edit_view_->model()->has_focus()) { | 321 if (!edit_view_->model()->has_focus()) { |
318 // Do nothing for iPhone. The right view will be set to nil after the | 322 // Do nothing for iPhone. The right view will be set to nil after the |
319 // omnibox animation is completed. | 323 // omnibox animation is completed. |
320 if (IsIPadIdiom()) | 324 if (IsIPadIdiom()) |
321 [field_ setRightView:nil]; | 325 [field_ setRightView:nil]; |
322 } else if ([field_ displayedText].empty() && | 326 } else if ([field_ displayedText].empty() && |
323 ![field_ isShowingQueryRefinementChip]) { | 327 ![field_ isShowingQueryRefinementChip]) { |
324 [field_ setRightView:nil]; | 328 [field_ setRightView:nil]; |
325 } else { | 329 } else { |
326 [field_ setRightView:clear_text_button_]; | 330 [field_ setRightView:clear_text_button_]; |
327 [clear_text_button_ setAlpha:1]; | 331 [clear_text_button_ setAlpha:1]; |
328 } | 332 } |
329 } | 333 } |
OLD | NEW |