Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/toolbar/web_toolbar_controller.h" | 5 #import "ios/chrome/browser/ui/toolbar/web_toolbar_controller.h" |
| 6 | 6 |
| 7 #import <CoreLocation/CoreLocation.h> | 7 #import <CoreLocation/CoreLocation.h> |
| 8 #include <QuartzCore/QuartzCore.h> | 8 #include <QuartzCore/QuartzCore.h> |
| 9 | 9 |
| 10 #include <stdint.h> | 10 #include <stdint.h> |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 22 #include "base/metrics/user_metrics_action.h" | 22 #include "base/metrics/user_metrics_action.h" |
| 23 #include "base/strings/sys_string_conversions.h" | 23 #include "base/strings/sys_string_conversions.h" |
| 24 #include "components/google/core/browser/google_util.h" | 24 #include "components/google/core/browser/google_util.h" |
| 25 #include "components/omnibox/browser/omnibox_edit_model.h" | 25 #include "components/omnibox/browser/omnibox_edit_model.h" |
| 26 #include "components/search_engines/util.h" | 26 #include "components/search_engines/util.h" |
| 27 #include "components/strings/grit/components_strings.h" | 27 #include "components/strings/grit/components_strings.h" |
| 28 #include "components/toolbar/toolbar_model.h" | 28 #include "components/toolbar/toolbar_model.h" |
| 29 #include "ios/chrome/browser/autocomplete/autocomplete_scheme_classifier_impl.h" | 29 #include "ios/chrome/browser/autocomplete/autocomplete_scheme_classifier_impl.h" |
| 30 #include "ios/chrome/browser/browser_state/chrome_browser_state.h" | 30 #include "ios/chrome/browser/browser_state/chrome_browser_state.h" |
| 31 #include "ios/chrome/browser/chrome_url_constants.h" | 31 #include "ios/chrome/browser/chrome_url_constants.h" |
| 32 #include "ios/chrome/browser/experimental_flags.h" | |
| 32 #include "ios/chrome/browser/reading_list/reading_list_model_factory.h" | 33 #include "ios/chrome/browser/reading_list/reading_list_model_factory.h" |
| 33 #include "ios/chrome/browser/search_engines/template_url_service_factory.h" | 34 #include "ios/chrome/browser/search_engines/template_url_service_factory.h" |
| 34 #import "ios/chrome/browser/tabs/tab.h" | 35 #import "ios/chrome/browser/tabs/tab.h" |
| 35 #import "ios/chrome/browser/tabs/tab_model.h" | 36 #import "ios/chrome/browser/tabs/tab_model.h" |
| 36 #import "ios/chrome/browser/ui/animation_util.h" | 37 #import "ios/chrome/browser/ui/animation_util.h" |
| 37 #import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h" | 38 #import "ios/chrome/browser/ui/colors/MDCPalette+CrAdditions.h" |
| 38 #import "ios/chrome/browser/ui/commands/UIKit+ChromeExecuteCommand.h" | 39 #import "ios/chrome/browser/ui/commands/UIKit+ChromeExecuteCommand.h" |
| 39 #import "ios/chrome/browser/ui/commands/generic_chrome_command.h" | 40 #import "ios/chrome/browser/ui/commands/generic_chrome_command.h" |
| 40 #include "ios/chrome/browser/ui/commands/ios_command_ids.h" | 41 #include "ios/chrome/browser/ui/commands/ios_command_ids.h" |
| 41 #import "ios/chrome/browser/ui/history/tab_history_popup_controller.h" | 42 #import "ios/chrome/browser/ui/history/tab_history_popup_controller.h" |
| 42 #import "ios/chrome/browser/ui/image_util.h" | 43 #import "ios/chrome/browser/ui/image_util.h" |
| 43 #import "ios/chrome/browser/ui/keyboard/hardware_keyboard_watcher.h" | 44 #import "ios/chrome/browser/ui/keyboard/hardware_keyboard_watcher.h" |
| 44 #include "ios/chrome/browser/ui/omnibox/location_bar_controller_impl.h" | 45 #include "ios/chrome/browser/ui/omnibox/location_bar_controller_impl.h" |
| 45 #include "ios/chrome/browser/ui/omnibox/omnibox_view_ios.h" | 46 #include "ios/chrome/browser/ui/omnibox/omnibox_view_ios.h" |
| 46 #import "ios/chrome/browser/ui/popup_menu/popup_menu_view.h" | 47 #import "ios/chrome/browser/ui/popup_menu/popup_menu_view.h" |
| 47 #import "ios/chrome/browser/ui/reversed_animation.h" | 48 #import "ios/chrome/browser/ui/reversed_animation.h" |
| 48 #include "ios/chrome/browser/ui/rtl_geometry.h" | 49 #include "ios/chrome/browser/ui/rtl_geometry.h" |
| 49 #import "ios/chrome/browser/ui/toolbar/keyboard_accessory_view.h" | 50 #import "ios/chrome/browser/ui/toolbar/keyboard_accessory_view.h" |
| 51 #import "ios/chrome/browser/ui/toolbar/keyboard_accessory_view_protocol.h" | |
| 52 #import "ios/chrome/browser/ui/toolbar/new_keyboard_accessory_view.h" | |
| 50 #import "ios/chrome/browser/ui/toolbar/toolbar_controller+protected.h" | 53 #import "ios/chrome/browser/ui/toolbar/toolbar_controller+protected.h" |
| 51 #import "ios/chrome/browser/ui/toolbar/toolbar_controller.h" | 54 #import "ios/chrome/browser/ui/toolbar/toolbar_controller.h" |
| 52 #import "ios/chrome/browser/ui/toolbar/toolbar_model_ios.h" | 55 #import "ios/chrome/browser/ui/toolbar/toolbar_model_ios.h" |
| 53 #include "ios/chrome/browser/ui/toolbar/toolbar_resource_macros.h" | 56 #include "ios/chrome/browser/ui/toolbar/toolbar_resource_macros.h" |
| 54 #include "ios/chrome/browser/ui/ui_util.h" | 57 #include "ios/chrome/browser/ui/ui_util.h" |
| 55 #import "ios/chrome/browser/ui/uikit_ui_util.h" | 58 #import "ios/chrome/browser/ui/uikit_ui_util.h" |
| 56 #import "ios/chrome/browser/ui/url_loader.h" | 59 #import "ios/chrome/browser/ui/url_loader.h" |
| 57 #import "ios/chrome/browser/ui/voice/text_to_speech_player.h" | 60 #import "ios/chrome/browser/ui/voice/text_to_speech_player.h" |
| 58 #import "ios/chrome/browser/ui/voice/voice_search_notification_names.h" | 61 #import "ios/chrome/browser/ui/voice/voice_search_notification_names.h" |
| 59 #import "ios/chrome/common/material_timing.h" | 62 #import "ios/chrome/common/material_timing.h" |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 235 // Top-level view for web content. | 238 // Top-level view for web content. |
| 236 UIView* _webToolbar; | 239 UIView* _webToolbar; |
| 237 UIButton* _backButton; | 240 UIButton* _backButton; |
| 238 UIButton* _forwardButton; | 241 UIButton* _forwardButton; |
| 239 UIButton* _reloadButton; | 242 UIButton* _reloadButton; |
| 240 UIButton* _stopButton; | 243 UIButton* _stopButton; |
| 241 UIButton* _starButton; | 244 UIButton* _starButton; |
| 242 UIButton* _voiceSearchButton; | 245 UIButton* _voiceSearchButton; |
| 243 OmniboxTextFieldIOS* _omniBox; | 246 OmniboxTextFieldIOS* _omniBox; |
| 244 UIButton* _cancelButton; | 247 UIButton* _cancelButton; |
| 245 KeyboardAccessoryView* _keyBoardAccessoryView; | 248 UIView<KeyboardAccessoryViewProtocol>* _keyboardAccessoryView; |
| 246 // Progress bar used to show what fraction of the page has loaded. | 249 // Progress bar used to show what fraction of the page has loaded. |
| 247 MDCProgressView* _determinateProgressView; | 250 MDCProgressView* _determinateProgressView; |
| 248 UIImageView* _omniboxBackground; | 251 UIImageView* _omniboxBackground; |
| 249 BOOL _prerenderAnimating; | 252 BOOL _prerenderAnimating; |
| 250 UIImageView* _incognitoIcon; | 253 UIImageView* _incognitoIcon; |
| 251 UIView* _clippingView; | 254 UIView* _clippingView; |
| 252 | 255 |
| 253 std::unique_ptr<LocationBarController> _locationBar; | 256 std::unique_ptr<LocationBarController> _locationBar; |
| 254 BOOL _initialLayoutComplete; | 257 BOOL _initialLayoutComplete; |
| 255 // If |YES|, toolbar is incognito. | 258 // If |YES|, toolbar is incognito. |
| (...skipping 612 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 868 if (IsIPadIdiom()) { | 871 if (IsIPadIdiom()) { |
| 869 // Update toolbar accessory views. | 872 // Update toolbar accessory views. |
| 870 BOOL isCompactTabletView = IsCompactTablet(self.view); | 873 BOOL isCompactTabletView = IsCompactTablet(self.view); |
| 871 [_voiceSearchButton setHidden:isCompactTabletView]; | 874 [_voiceSearchButton setHidden:isCompactTabletView]; |
| 872 [_starButton setHidden:isCompactTabletView]; | 875 [_starButton setHidden:isCompactTabletView]; |
| 873 [_reloadButton setHidden:isCompactTabletView]; | 876 [_reloadButton setHidden:isCompactTabletView]; |
| 874 [_stopButton setHidden:isCompactTabletView]; | 877 [_stopButton setHidden:isCompactTabletView]; |
| 875 [self updateToolbarState]; | 878 [self updateToolbarState]; |
| 876 | 879 |
| 877 // Update keyboard accessory views. | 880 // Update keyboard accessory views. |
| 878 auto mode = _keyBoardAccessoryView.mode; | 881 auto mode = _keyboardAccessoryView.mode; |
| 879 _keyBoardAccessoryView = nil; | 882 _keyboardAccessoryView = nil; |
| 880 [_omniBox setInputAccessoryView:[self keyboardAccessoryView]]; | 883 [_omniBox setInputAccessoryView:[self keyboardAccessoryView]]; |
| 881 _keyBoardAccessoryView.mode = mode; | 884 _keyboardAccessoryView.mode = mode; |
| 882 if ([_omniBox isFirstResponder]) { | 885 if ([_omniBox isFirstResponder]) { |
| 883 [_omniBox reloadInputViews]; | 886 [_omniBox reloadInputViews]; |
| 884 } | 887 } |
| 885 | 888 |
| 886 // Re-layout toolbar and omnibox. | 889 // Re-layout toolbar and omnibox. |
| 887 [_webToolbar setFrame:[self specificControlsArea]]; | 890 [_webToolbar setFrame:[self specificControlsArea]]; |
| 888 [self layoutOmnibox]; | 891 [self layoutOmnibox]; |
| 889 } | 892 } |
| 890 } | 893 } |
| 891 | 894 |
| (...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1254 kLocationAuthorizationStatusCount); | 1257 kLocationAuthorizationStatusCount); |
| 1255 } | 1258 } |
| 1256 } | 1259 } |
| 1257 [self cancelOmniboxEdit]; | 1260 [self cancelOmniboxEdit]; |
| 1258 } | 1261 } |
| 1259 | 1262 |
| 1260 - (void)locationBarHasBecomeFirstResponder { | 1263 - (void)locationBarHasBecomeFirstResponder { |
| 1261 [self.delegate locationBarDidBecomeFirstResponder:self]; | 1264 [self.delegate locationBarDidBecomeFirstResponder:self]; |
| 1262 [self animateMaterialOmnibox]; | 1265 [self animateMaterialOmnibox]; |
| 1263 | 1266 |
| 1264 _keyBoardAccessoryView.mode = VOICE_SEARCH; | 1267 _keyboardAccessoryView.mode = VOICE_SEARCH; |
| 1265 | 1268 |
| 1266 // Record the appropriate user action for focusing the omnibox. | 1269 // Record the appropriate user action for focusing the omnibox. |
| 1267 web::WebState* webState = [self.delegate currentWebState]; | 1270 web::WebState* webState = [self.delegate currentWebState]; |
| 1268 if (webState) { | 1271 if (webState) { |
| 1269 if (webState->GetVisibleURL() == GURL(kChromeUINewTabURL)) { | 1272 if (webState->GetVisibleURL() == GURL(kChromeUINewTabURL)) { |
| 1270 OmniboxEditModel* model = _locationBar->GetLocationEntry()->model(); | 1273 OmniboxEditModel* model = _locationBar->GetLocationEntry()->model(); |
| 1271 if (model->is_caret_visible()) { | 1274 if (model->is_caret_visible()) { |
| 1272 base::RecordAction( | 1275 base::RecordAction( |
| 1273 base::UserMetricsAction("MobileFocusedOmniboxOnNtp")); | 1276 base::UserMetricsAction("MobileFocusedOmniboxOnNtp")); |
| 1274 } else { | 1277 } else { |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 1292 } | 1295 } |
| 1293 | 1296 |
| 1294 - (void)locationBarChanged { | 1297 - (void)locationBarChanged { |
| 1295 // Hide the voice search button once the user starts editing the omnibox but | 1298 // Hide the voice search button once the user starts editing the omnibox but |
| 1296 // show it if the omnibox is empty. | 1299 // show it if the omnibox is empty. |
| 1297 bool isEditingOrEmpty = _locationBar->GetLocationEntry()->IsEditingOrEmpty(); | 1300 bool isEditingOrEmpty = _locationBar->GetLocationEntry()->IsEditingOrEmpty(); |
| 1298 BOOL editingAndNotEmpty = isEditingOrEmpty && _omniBox.text.length != 0; | 1301 BOOL editingAndNotEmpty = isEditingOrEmpty && _omniBox.text.length != 0; |
| 1299 // If the voice search button is visible but about to be hidden (i.e. | 1302 // If the voice search button is visible but about to be hidden (i.e. |
| 1300 // the omnibox is no longer empty) then this is the first omnibox text so | 1303 // the omnibox is no longer empty) then this is the first omnibox text so |
| 1301 // record a user action. | 1304 // record a user action. |
| 1302 if (_keyBoardAccessoryView.mode == VOICE_SEARCH && editingAndNotEmpty) { | 1305 if (_keyboardAccessoryView.mode == VOICE_SEARCH && editingAndNotEmpty) { |
| 1303 base::RecordAction(UserMetricsAction("MobileFirstTextInOmnibox")); | 1306 base::RecordAction(UserMetricsAction("MobileFirstTextInOmnibox")); |
| 1304 } | 1307 } |
| 1305 if (editingAndNotEmpty) { | 1308 if (editingAndNotEmpty) { |
| 1306 _keyBoardAccessoryView.mode = KEY_SHORTCUTS; | 1309 _keyboardAccessoryView.mode = KEY_SHORTCUTS; |
| 1307 } else { | 1310 } else { |
| 1308 _keyBoardAccessoryView.mode = VOICE_SEARCH; | 1311 _keyboardAccessoryView.mode = VOICE_SEARCH; |
| 1309 } | 1312 } |
| 1310 } | 1313 } |
| 1311 | 1314 |
| 1312 - (web::WebState*)getWebState { | 1315 - (web::WebState*)getWebState { |
| 1313 return [self.delegate currentWebState]; | 1316 return [self.delegate currentWebState]; |
| 1314 } | 1317 } |
| 1315 | 1318 |
| 1316 - (ToolbarModel*)toolbarModel { | 1319 - (ToolbarModel*)toolbarModel { |
| 1317 ToolbarModelIOS* toolbarModelIOS = [self.delegate toolbarModelIOS]; | 1320 ToolbarModelIOS* toolbarModelIOS = [self.delegate toolbarModelIOS]; |
| 1318 return toolbarModelIOS ? toolbarModelIOS->GetToolbarModel() : nullptr; | 1321 return toolbarModelIOS ? toolbarModelIOS->GetToolbarModel() : nullptr; |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1457 } | 1460 } |
| 1458 } | 1461 } |
| 1459 | 1462 |
| 1460 #pragma mark - | 1463 #pragma mark - |
| 1461 #pragma mark KeyboardAccessoryViewDelegate | 1464 #pragma mark KeyboardAccessoryViewDelegate |
| 1462 | 1465 |
| 1463 - (void)keyboardAccessoryVoiceSearchTouchDown { | 1466 - (void)keyboardAccessoryVoiceSearchTouchDown { |
| 1464 if (ios::GetChromeBrowserProvider() | 1467 if (ios::GetChromeBrowserProvider() |
| 1465 ->GetVoiceSearchProvider() | 1468 ->GetVoiceSearchProvider() |
| 1466 ->IsVoiceSearchEnabled()) { | 1469 ->IsVoiceSearchEnabled()) { |
| 1467 [self preloadVoiceSearch:_keyBoardAccessoryView]; | 1470 [self preloadVoiceSearch:_keyboardAccessoryView]; |
| 1468 } | 1471 } |
| 1469 } | 1472 } |
| 1470 | 1473 |
| 1471 - (void)keyboardAccessoryVoiceSearchTouchUpInside { | 1474 - (void)keyboardAccessoryVoiceSearchTouchUpInside { |
| 1472 if (ios::GetChromeBrowserProvider() | 1475 if (ios::GetChromeBrowserProvider() |
| 1473 ->GetVoiceSearchProvider() | 1476 ->GetVoiceSearchProvider() |
| 1474 ->IsVoiceSearchEnabled()) { | 1477 ->IsVoiceSearchEnabled()) { |
| 1475 base::RecordAction(UserMetricsAction("MobileCustomRowVoiceSearch")); | 1478 base::RecordAction(UserMetricsAction("MobileCustomRowVoiceSearch")); |
| 1476 GenericChromeCommand* command = | 1479 GenericChromeCommand* command = |
| 1477 [[GenericChromeCommand alloc] initWithTag:IDC_VOICE_SEARCH]; | 1480 [[GenericChromeCommand alloc] initWithTag:IDC_VOICE_SEARCH]; |
| 1478 [_keyBoardAccessoryView chromeExecuteCommand:command]; | 1481 [_keyboardAccessoryView chromeExecuteCommand:command]; |
| 1479 } else { | 1482 } else { |
| 1480 _keyBoardAccessoryView.mode = KEY_SHORTCUTS; | 1483 _keyboardAccessoryView.mode = KEY_SHORTCUTS; |
| 1481 } | 1484 } |
| 1482 } | 1485 } |
| 1483 | 1486 |
| 1487 - (void)keyboardAccessoryCameraSearchTouchUpInside { | |
| 1488 GenericChromeCommand* command = | |
| 1489 [[GenericChromeCommand alloc] initWithTag:IDC_SHOW_QR_SCANNER]; | |
| 1490 [_keyboardAccessoryView chromeExecuteCommand:command]; | |
| 1491 } | |
| 1492 | |
| 1484 - (void)keyPressed:(NSString*)title { | 1493 - (void)keyPressed:(NSString*)title { |
| 1485 NSString* text = [self updateTextForDotCom:title]; | 1494 NSString* text = [self updateTextForDotCom:title]; |
| 1486 [_omniBox insertTextWhileEditing:text]; | 1495 [_omniBox insertTextWhileEditing:text]; |
| 1487 } | 1496 } |
| 1488 | 1497 |
| 1489 #pragma mark - | 1498 #pragma mark - |
| 1490 #pragma mark Private methods. | 1499 #pragma mark Private methods. |
| 1491 | 1500 |
| 1492 - (UIButton*)cancelButton { | 1501 - (UIButton*)cancelButton { |
| 1493 if (_cancelButton) | 1502 if (_cancelButton) |
| (...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1835 ui::PageTransition transition = ui::PageTransitionFromInt( | 1844 ui::PageTransition transition = ui::PageTransitionFromInt( |
| 1836 ui::PAGE_TRANSITION_LINK | ui::PAGE_TRANSITION_FROM_ADDRESS_BAR); | 1845 ui::PAGE_TRANSITION_LINK | ui::PAGE_TRANSITION_FROM_ADDRESS_BAR); |
| 1837 [self.urlLoader loadURL:GURL(searchURL) | 1846 [self.urlLoader loadURL:GURL(searchURL) |
| 1838 referrer:web::Referrer() | 1847 referrer:web::Referrer() |
| 1839 transition:transition | 1848 transition:transition |
| 1840 rendererInitiated:NO]; | 1849 rendererInitiated:NO]; |
| 1841 } | 1850 } |
| 1842 } | 1851 } |
| 1843 | 1852 |
| 1844 - (UIView*)keyboardAccessoryView { | 1853 - (UIView*)keyboardAccessoryView { |
| 1845 if (!_keyBoardAccessoryView) { | 1854 if (!_keyboardAccessoryView) { |
| 1846 NSArray<NSString*>* buttonTitles = | 1855 if (experimental_flags::IsKeyboardAccessoryViewWithCameraSearchEnabled()) { |
| 1847 [NSArray arrayWithObjects:@":", @".", @"-", @"/", kDotComTLD, nil]; | 1856 // The '.' shortcut is left out because the new keyboard accessory view |
| 1848 _keyBoardAccessoryView = | 1857 // has less free space for the shortcut buttons, and the '.' is already |
| 1849 [[KeyboardAccessoryView alloc] initWithButtons:buttonTitles | 1858 // present in the standard iOS keyboard. |
| 1850 delegate:self]; | 1859 NSArray<NSString*>* buttonTitles = |
| 1851 [_keyBoardAccessoryView | 1860 [NSArray arrayWithObjects:@":", @"-", @"/", kDotComTLD, nil]; |
|
marq (ping after 24h)
2017/06/12 17:34:36
Just use @[ ... ] instead of the nil-terminated -a
jif
2017/06/12 18:26:01
Done.
| |
| 1861 _keyboardAccessoryView = | |
| 1862 [[KeyboardAccessoryView alloc] initWithButtons:buttonTitles | |
| 1863 delegate:self]; | |
| 1864 } else { | |
| 1865 NSArray<NSString*>* buttonTitles = | |
| 1866 [NSArray arrayWithObjects:@":", @".", @"-", @"/", kDotComTLD, nil]; | |
| 1867 _keyboardAccessoryView = | |
| 1868 [[NewKeyboardAccessoryView alloc] initWithButtons:buttonTitles | |
| 1869 delegate:self]; | |
| 1870 } | |
| 1871 [_keyboardAccessoryView | |
| 1852 setAutoresizingMask:UIViewAutoresizingFlexibleWidth]; | 1872 setAutoresizingMask:UIViewAutoresizingFlexibleWidth]; |
| 1853 _hardwareKeyboardWatcher = [[HardwareKeyboardWatcher alloc] | 1873 _hardwareKeyboardWatcher = [[HardwareKeyboardWatcher alloc] |
| 1854 initWithAccessoryView:_keyBoardAccessoryView]; | 1874 initWithAccessoryView:_keyboardAccessoryView]; |
| 1855 } | 1875 } |
| 1856 return _keyBoardAccessoryView; | 1876 return _keyboardAccessoryView; |
| 1857 } | 1877 } |
| 1858 | 1878 |
| 1859 - (void)preloadVoiceSearch:(id)sender { | 1879 - (void)preloadVoiceSearch:(id)sender { |
| 1860 DCHECK(ios::GetChromeBrowserProvider() | 1880 DCHECK(ios::GetChromeBrowserProvider() |
| 1861 ->GetVoiceSearchProvider() | 1881 ->GetVoiceSearchProvider() |
| 1862 ->IsVoiceSearchEnabled()); | 1882 ->IsVoiceSearchEnabled()); |
| 1863 // Use a GenericChromeCommand because |sender| already has a tag set for a | 1883 // Use a GenericChromeCommand because |sender| already has a tag set for a |
| 1864 // different command. | 1884 // different command. |
| 1865 GenericChromeCommand* command = | 1885 GenericChromeCommand* command = |
| 1866 [[GenericChromeCommand alloc] initWithTag:IDC_PRELOAD_VOICE_SEARCH]; | 1886 [[GenericChromeCommand alloc] initWithTag:IDC_PRELOAD_VOICE_SEARCH]; |
| (...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2450 | 2470 |
| 2451 - (BOOL)isPrerenderAnimationRunning { | 2471 - (BOOL)isPrerenderAnimationRunning { |
| 2452 return _prerenderAnimating; | 2472 return _prerenderAnimating; |
| 2453 } | 2473 } |
| 2454 | 2474 |
| 2455 - (OmniboxTextFieldIOS*)omnibox { | 2475 - (OmniboxTextFieldIOS*)omnibox { |
| 2456 return _omniBox; | 2476 return _omniBox; |
| 2457 } | 2477 } |
| 2458 | 2478 |
| 2459 @end | 2479 @end |
| OLD | NEW |