Chromium Code Reviews| Index: ios/chrome/browser/infobars/infobar.mm |
| diff --git a/ios/chrome/browser/infobars/infobar.mm b/ios/chrome/browser/infobars/infobar.mm |
| index 65f9a89fb97b0586dbd45f33da44648f61cd6e67..1f64a26abf1089848990ffed71f6c085134c3b1b 100644 |
| --- a/ios/chrome/browser/infobars/infobar.mm |
| +++ b/ios/chrome/browser/infobars/infobar.mm |
| @@ -8,6 +8,7 @@ |
| #include "components/infobars/core/confirm_infobar_delegate.h" |
| #include "components/translate/core/browser/translate_infobar_delegate.h" |
| #import "ios/chrome/browser/infobars/confirm_infobar_controller.h" |
| +#include "ios/chrome/browser/translate/translate_infobar_tags.h" |
| using infobars::InfoBar; |
| using infobars::InfoBarDelegate; |
| @@ -74,8 +75,41 @@ void InfoBarIOS::InfoBarButtonDidPress(NSUInteger button_id) { |
| RemoveSelf(); |
| } |
| } else if (delegate()->AsTranslateInfoBarDelegate()) { |
| - // TODO(droger): Upstream Translate infobars. |
| - NOTREACHED() << "Translate infobars not upstreamed yet."; |
| + translate::TranslateInfoBarDelegate* translateDelegate = |
| + delegate()->AsTranslateInfoBarDelegate(); |
| + switch (button_id) { |
| + case TranslateInfoBarIos::AFTER_DONE: |
|
sdefresne
2015/01/08 09:22:33
nit: TranslateInfoBarIOS
|
| + InfoBarDidCancel(); |
| + break; |
| + case TranslateInfoBarIos::AFTER_REVERT: |
| + translateDelegate->RevertTranslation(); |
| + break; |
| + case TranslateInfoBarIos::BEFORE_ACCEPT: |
| + translateDelegate->Translate(); |
| + break; |
| + case TranslateInfoBarIos::BEFORE_DENY: |
| + translateDelegate->TranslationDeclined(); |
| + if (translateDelegate->ShouldShowNeverTranslateShortcut()) |
| + translateDelegate->ShowNeverTranslateInfobar(); |
| + else |
| + RemoveSelf(); |
| + break; |
| + case TranslateInfoBarIos::DENY_LANGUAGE: |
| + translateDelegate->NeverTranslatePageLanguage(); |
| + RemoveSelf(); |
| + break; |
| + case TranslateInfoBarIos::DENY_WEBSITE: |
| + if (!translateDelegate->IsSiteBlacklisted()) |
| + translateDelegate->ToggleSiteBlacklist(); |
| + RemoveSelf(); |
| + break; |
| + case TranslateInfoBarIos::MESSAGE: |
| + translateDelegate->MessageInfoBarButtonPressed(); |
| + break; |
| + default: |
| + NOTREACHED() << "Unexpected Translate button label"; |
| + break; |
| + } |
| } |
| } |