| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 #include "chrome/browser/ui/android/infobars/translate_compact_infobar.h" | 5 #include "chrome/browser/ui/android/infobars/translate_compact_infobar.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/android/jni_android.h" | 9 #include "base/android/jni_android.h" |
| 10 #include "base/android/jni_array.h" | 10 #include "base/android/jni_array.h" |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 } | 99 } |
| 100 } | 100 } |
| 101 | 101 |
| 102 void TranslateCompactInfoBar::ApplyBoolTranslateOption( | 102 void TranslateCompactInfoBar::ApplyBoolTranslateOption( |
| 103 JNIEnv* env, | 103 JNIEnv* env, |
| 104 const JavaParamRef<jobject>& obj, | 104 const JavaParamRef<jobject>& obj, |
| 105 int option, | 105 int option, |
| 106 jboolean value) { | 106 jboolean value) { |
| 107 translate::TranslateInfoBarDelegate* delegate = GetDelegate(); | 107 translate::TranslateInfoBarDelegate* delegate = GetDelegate(); |
| 108 if (option == TranslateUtils::OPTION_ALWAYS_TRANSLATE) { | 108 if (option == TranslateUtils::OPTION_ALWAYS_TRANSLATE) { |
| 109 if (delegate->ShouldAlwaysTranslate() != value) | 109 if (delegate->ShouldAlwaysTranslate() != value) { |
| 110 delegate->ToggleAlwaysTranslate(); | 110 delegate->ToggleAlwaysTranslate(); |
| 111 } |
| 111 } else if (option == TranslateUtils::OPTION_NEVER_TRANSLATE) { | 112 } else if (option == TranslateUtils::OPTION_NEVER_TRANSLATE) { |
| 112 if (value && delegate->IsTranslatableLanguageByPrefs()) | 113 if (value && delegate->IsTranslatableLanguageByPrefs()) { |
| 113 delegate->ToggleTranslatableLanguageByPrefs(); | 114 delegate->ToggleTranslatableLanguageByPrefs(); |
| 115 } |
| 114 } else if (option == TranslateUtils::OPTION_NEVER_TRANSLATE_SITE) { | 116 } else if (option == TranslateUtils::OPTION_NEVER_TRANSLATE_SITE) { |
| 115 if (value && !delegate->IsSiteBlacklisted()) | 117 if (value && !delegate->IsSiteBlacklisted()) { |
| 116 delegate->ToggleSiteBlacklist(); | 118 delegate->ToggleSiteBlacklist(); |
| 119 } |
| 117 } else { | 120 } else { |
| 118 DCHECK(false); | 121 DCHECK(false); |
| 119 } | 122 } |
| 120 } | 123 } |
| 121 | 124 |
| 122 void TranslateCompactInfoBar::OnPageTranslated( | 125 void TranslateCompactInfoBar::OnPageTranslated( |
| 123 const std::string& original_lang, | 126 const std::string& original_lang, |
| 124 const std::string& translated_lang, | 127 const std::string& translated_lang, |
| 125 translate::TranslateErrors::Type error_type) { | 128 translate::TranslateErrors::Type error_type) { |
| 126 if (!owner()) | 129 if (!owner()) |
| 127 return; // We're closing; don't call anything, it might access the owner. | 130 return; // We're closing; don't call anything, it might access the owner. |
| 128 | 131 |
| 129 DCHECK(translate_driver_); | 132 DCHECK(translate_driver_); |
| 130 JNIEnv* env = base::android::AttachCurrentThread(); | 133 JNIEnv* env = base::android::AttachCurrentThread(); |
| 131 Java_TranslateCompactInfoBar_onPageTranslated(env, GetJavaInfoBar(), | 134 Java_TranslateCompactInfoBar_onPageTranslated(env, GetJavaInfoBar(), |
| 132 error_type); | 135 error_type); |
| 133 } | 136 } |
| 134 | 137 |
| 135 translate::TranslateInfoBarDelegate* TranslateCompactInfoBar::GetDelegate() { | 138 translate::TranslateInfoBarDelegate* TranslateCompactInfoBar::GetDelegate() { |
| 136 return delegate()->AsTranslateInfoBarDelegate(); | 139 return delegate()->AsTranslateInfoBarDelegate(); |
| 137 } | 140 } |
| 138 | 141 |
| 139 // Native JNI methods --------------------------------------------------------- | 142 // Native JNI methods --------------------------------------------------------- |
| 140 | 143 |
| 141 // static | 144 // static |
| 142 bool RegisterTranslateCompactInfoBar(JNIEnv* env) { | 145 bool RegisterTranslateCompactInfoBar(JNIEnv* env) { |
| 143 return RegisterNativesImpl(env); | 146 return RegisterNativesImpl(env); |
| 144 } | 147 } |
| OLD | NEW |