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 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
71 } | 71 } |
72 | 72 |
73 void TranslateCompactInfoBar::SetJavaInfoBar( | 73 void TranslateCompactInfoBar::SetJavaInfoBar( |
74 const base::android::JavaRef<jobject>& java_info_bar) { | 74 const base::android::JavaRef<jobject>& java_info_bar) { |
75 InfoBarAndroid::SetJavaInfoBar(java_info_bar); | 75 InfoBarAndroid::SetJavaInfoBar(java_info_bar); |
76 JNIEnv* env = base::android::AttachCurrentThread(); | 76 JNIEnv* env = base::android::AttachCurrentThread(); |
77 Java_TranslateCompactInfoBar_setNativePtr(env, java_info_bar, | 77 Java_TranslateCompactInfoBar_setNativePtr(env, java_info_bar, |
78 reinterpret_cast<intptr_t>(this)); | 78 reinterpret_cast<intptr_t>(this)); |
79 } | 79 } |
80 | 80 |
81 void TranslateCompactInfoBar::ApplyTranslateOptions( | 81 void TranslateCompactInfoBar::ApplyStringTranslateOption( |
82 JNIEnv* env, | 82 JNIEnv* env, |
83 const JavaParamRef<jobject>& obj) { | 83 const JavaParamRef<jobject>& obj, |
84 // TODO(ramyasharma): Implement. | 84 int option, |
85 const JavaParamRef<jstring>& value) { | |
86 translate::TranslateInfoBarDelegate* delegate = GetDelegate(); | |
87 if (option == TranslateUtils::OPTION_SOURCE_CODE) { | |
88 std::string source_code = | |
89 base::android::ConvertJavaStringToUTF8(env, value); | |
90 if (delegate->original_language_code().compare(source_code) != 0) | |
91 delegate->UpdateOriginalLanguage(source_code); | |
92 } else if (option == TranslateUtils::OPTION_TARGET_CODE) { | |
93 std::string target_code = | |
94 base::android::ConvertJavaStringToUTF8(env, value); | |
95 if (delegate->target_language_code().compare(target_code) != 0) | |
96 delegate->UpdateTargetLanguage(target_code); | |
97 } else | |
gone
2017/04/13 04:06:21
need braces here
ramyasharma
2017/04/13 04:13:55
I totally agree with the braces, but in this file
gone
2017/04/13 04:16:43
https://google.github.io/styleguide/cppguide.html#
ramyasharma
2017/04/13 04:24:47
ah thanks for clearing that up for me Dan. Done
| |
98 DCHECK(false); | |
99 } | |
100 | |
101 void TranslateCompactInfoBar::ApplyBoolTranslateOption( | |
102 JNIEnv* env, | |
103 const JavaParamRef<jobject>& obj, | |
104 int option, | |
105 jboolean value) { | |
106 translate::TranslateInfoBarDelegate* delegate = GetDelegate(); | |
107 if (option == TranslateUtils::OPTION_ALWAYS_TRANSLATE) { | |
108 if (delegate->ShouldAlwaysTranslate() != value) | |
109 delegate->ToggleAlwaysTranslate(); | |
110 } else if (option == TranslateUtils::OPTION_NEVER_TRANSLATE) { | |
111 if (value && delegate->IsTranslatableLanguageByPrefs()) | |
112 delegate->ToggleTranslatableLanguageByPrefs(); | |
113 } else if (option == TranslateUtils::OPTION_NEVER_TRANSLATE_SITE) { | |
114 if (value && !delegate->IsSiteBlacklisted()) | |
115 delegate->ToggleSiteBlacklist(); | |
116 } else | |
gone
2017/04/13 04:06:21
ditto
ramyasharma
2017/04/13 04:13:55
Acknowledged.
| |
117 DCHECK(false); | |
85 } | 118 } |
86 | 119 |
87 void TranslateCompactInfoBar::OnPageTranslated( | 120 void TranslateCompactInfoBar::OnPageTranslated( |
88 const std::string& original_lang, | 121 const std::string& original_lang, |
89 const std::string& translated_lang, | 122 const std::string& translated_lang, |
90 translate::TranslateErrors::Type error_type) { | 123 translate::TranslateErrors::Type error_type) { |
91 if (!owner()) | 124 if (!owner()) |
92 return; // We're closing; don't call anything, it might access the owner. | 125 return; // We're closing; don't call anything, it might access the owner. |
93 | 126 |
94 DCHECK(translate_driver_); | 127 DCHECK(translate_driver_); |
95 JNIEnv* env = base::android::AttachCurrentThread(); | 128 JNIEnv* env = base::android::AttachCurrentThread(); |
96 Java_TranslateCompactInfoBar_onPageTranslated(env, GetJavaInfoBar(), | 129 Java_TranslateCompactInfoBar_onPageTranslated(env, GetJavaInfoBar(), |
97 error_type); | 130 error_type); |
98 } | 131 } |
99 | 132 |
100 translate::TranslateInfoBarDelegate* TranslateCompactInfoBar::GetDelegate() { | 133 translate::TranslateInfoBarDelegate* TranslateCompactInfoBar::GetDelegate() { |
101 return delegate()->AsTranslateInfoBarDelegate(); | 134 return delegate()->AsTranslateInfoBarDelegate(); |
102 } | 135 } |
103 | 136 |
104 // Native JNI methods --------------------------------------------------------- | 137 // Native JNI methods --------------------------------------------------------- |
105 | 138 |
106 // static | 139 // static |
107 bool RegisterTranslateCompactInfoBar(JNIEnv* env) { | 140 bool RegisterTranslateCompactInfoBar(JNIEnv* env) { |
108 return RegisterNativesImpl(env); | 141 return RegisterNativesImpl(env); |
109 } | 142 } |
OLD | NEW |