Commit 079349e2 authored by Chris Lu's avatar Chris Lu Committed by Commit Bot

[ios] Use InfobarTranslateCoordinator if Messages feature flag is on

Bug: 1014959
Change-Id: I6f1dc977117532529cdb236abff09f16e0222390
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1890978
Commit-Queue: Chris Lu <thegreenfrog@chromium.org>
Reviewed-by: default avatarPeter Lee <pkl@chromium.org>
Cr-Commit-Position: refs/heads/master@{#711744}
parent 4abba847
......@@ -59,7 +59,9 @@ source_set("translate") {
"//ios/chrome/browser/infobars",
"//ios/chrome/browser/infobars:public",
"//ios/chrome/browser/language",
"//ios/chrome/browser/ui/infobars:feature_flags",
"//ios/chrome/browser/ui/infobars:infobars_ui",
"//ios/chrome/browser/ui/infobars/coordinators",
"//ios/chrome/browser/ui/translate:translate_ui",
"//ios/chrome/browser/ui/util",
"//ios/web/public/deprecated",
......
......@@ -31,6 +31,8 @@
#import "ios/chrome/browser/translate/translate_option_selection_handler.h"
#include "ios/chrome/browser/translate/translate_ranker_factory.h"
#include "ios/chrome/browser/translate/translate_service_ios.h"
#import "ios/chrome/browser/ui/infobars/coordinators/infobar_translate_coordinator.h"
#import "ios/chrome/browser/ui/infobars/infobar_feature.h"
#import "ios/chrome/browser/ui/translate/translate_notification_handler.h"
#include "ios/chrome/grit/ios_theme_resources.h"
#include "ios/web/public/browser_state.h"
......@@ -91,13 +93,20 @@ translate::TranslateManager* ChromeIOSTranslateClient::GetTranslateManager() {
std::unique_ptr<infobars::InfoBar> ChromeIOSTranslateClient::CreateInfoBar(
std::unique_ptr<translate::TranslateInfoBarDelegate> delegate) const {
TranslateInfoBarController* controller = [[TranslateInfoBarController alloc]
initWithInfoBarDelegate:delegate.get()];
controller.languageSelectionHandler = language_selection_handler_;
controller.translateOptionSelectionHandler =
translate_option_selection_handler_;
controller.translateNotificationHandler = translate_notification_handler_;
return std::make_unique<InfoBarIOS>(controller, std::move(delegate));
if (IsTranslateInfobarMessagesUIEnabled()) {
TranslateInfobarCoordinator* coordinator =
[[TranslateInfobarCoordinator alloc]
initWithInfoBarDelegate:delegate.get()];
return std::make_unique<InfoBarIOS>(coordinator, std::move(delegate));
} else {
TranslateInfoBarController* controller = [[TranslateInfoBarController alloc]
initWithInfoBarDelegate:delegate.get()];
controller.languageSelectionHandler = language_selection_handler_;
controller.translateOptionSelectionHandler =
translate_option_selection_handler_;
controller.translateNotificationHandler = translate_notification_handler_;
return std::make_unique<InfoBarIOS>(controller, std::move(delegate));
}
}
bool ChromeIOSTranslateClient::ShowTranslateUI(
......
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