Commit 7daedbc1 authored by gambard's avatar gambard Committed by Commit Bot

Add dispatcher for VoiceSearch commands

During the removal of the VoiceSearch commands, ContentSuggestions was
forgotten. This CL uses the new API to start voice search with the
dispatcher.

Bug: 750636
Change-Id: Ie1cb80f0beb2969868a565c2c60c0df564c10bc8
Reviewed-on: https://chromium-review.googlesource.com/593660Reviewed-by: default avatarRohit Rao <rohitrao@chromium.org>
Reviewed-by: default avatarJean-François Geyelin <jif@chromium.org>
Commit-Queue: Gauthier Ambard <gambard@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490759}
parent 18460103
......@@ -29,6 +29,7 @@ void swizzleUIImageImageNamed() {
// TODO(crbug.com/720355): Add missing image.
[whiteList addObject:@"find_close_pressed_incognito"];
// TODO(crbug.com/720338): Add missing images.
[whiteList addObject:@"glif-mic-to-dots-small_37"];
[whiteList addObject:@"glif-mic-to-dots-large_37"];
[whiteList addObject:@"glif-google-to-dots_28"];
// TODO(crbug.com/721338): Add missing image.
......
......@@ -12,6 +12,7 @@ namespace ios {
class ChromeBrowserState;
}
@protocol ApplicationCommands;
@protocol BrowserCommands;
@protocol ChromeExecuteCommand;
@class ContentSuggestionsHeaderViewController;
......@@ -29,8 +30,11 @@ class WebStateList;
// URLLoader used to open pages.
@property(nonatomic, weak) id<UrlLoader> URLLoader;
@property(nonatomic, assign) WebStateList* webStateList;
@property(nonatomic, weak)
id<BrowserCommands, ChromeExecuteCommand, OmniboxFocuser, UrlLoader>
@property(nonatomic, weak) id<ApplicationCommands,
BrowserCommands,
ChromeExecuteCommand,
OmniboxFocuser,
UrlLoader>
dispatcher;
// Whether the Suggestions UI is displayed. If this is true, start is a no-op.
@property(nonatomic, readonly) BOOL visible;
......
......@@ -13,6 +13,7 @@
#import "ios/chrome/browser/ui/toolbar/toolbar_owner.h"
#import "ios/public/provider/chrome/browser/voice/logo_animation_controller.h"
@protocol ApplicationCommands;
@protocol ContentSuggestionsCollectionSynchronizing;
@protocol ContentSuggestionsHeaderViewControllerDelegate;
@protocol ContentSuggestionsHeaderViewControllerCommandHandler;
......@@ -30,7 +31,8 @@ class ReadingListModel;
ToolbarOwner,
LogoAnimationControllerOwnerOwner>
@property(nonatomic, weak) id<UrlLoader, OmniboxFocuser> dispatcher;
@property(nonatomic, weak) id<ApplicationCommands, OmniboxFocuser, UrlLoader>
dispatcher;
@property(nonatomic, weak) id<ContentSuggestionsHeaderViewControllerDelegate>
delegate;
@property(nonatomic, weak)
......
......@@ -5,12 +5,15 @@
#import "ios/chrome/browser/content_suggestions/content_suggestions_header_view_controller.h"
#include "base/logging.h"
#include "base/mac/foundation_util.h"
#include "base/metrics/user_metrics.h"
#include "components/strings/grit/components_strings.h"
#import "ios/chrome/browser/content_suggestions/content_suggestions_header_view_controller_delegate.h"
#import "ios/chrome/browser/ui/commands/UIKit+ChromeExecuteCommand.h"
#import "ios/chrome/browser/ui/commands/application_commands.h"
#import "ios/chrome/browser/ui/commands/generic_chrome_command.h"
#include "ios/chrome/browser/ui/commands/ios_command_ids.h"
#include "ios/chrome/browser/ui/commands/start_voice_search_command.h"
#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_synchronizing.h"
#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_utils.h"
#import "ios/chrome/browser/ui/ntp/new_tab_page_header_view.h"
......@@ -254,7 +257,10 @@ const CGFloat kHintLabelSidePadding = 12;
- (void)loadVoiceSearch:(id)sender {
DCHECK(self.voiceSearchIsEnabled);
base::RecordAction(UserMetricsAction("MobileNTPMostVisitedVoiceSearch"));
[sender chromeExecuteCommand:sender];
UIView* view = base::mac::ObjCCastStrict<UIView>(sender);
StartVoiceSearchCommand* command =
[[StartVoiceSearchCommand alloc] initWithOriginView:view];
[self.dispatcher startVoiceSearch:command];
}
- (void)preloadVoiceSearch:(id)sender {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment