Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(43)

Side by Side Diff: chrome/browser/ui/android/infobars/translate_infobar.cc

Issue 378253002: Fix translate namespace (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing android build errors Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_infobar.h" 5 #include "chrome/browser/ui/android/infobars/translate_infobar.h"
6 6
7 #include "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "base/android/jni_array.h" 8 #include "base/android/jni_array.h"
9 #include "base/android/jni_weak_ref.h" 9 #include "base/android/jni_weak_ref.h"
10 #include "chrome/browser/translate/chrome_translate_client.h" 10 #include "chrome/browser/translate/chrome_translate_client.h"
11 #include "components/translate/core/browser/translate_infobar_delegate.h" 11 #include "components/translate/core/browser/translate_infobar_delegate.h"
12 #include "grit/generated_resources.h" 12 #include "grit/generated_resources.h"
13 #include "jni/TranslateInfoBarDelegate_jni.h" 13 #include "jni/TranslateInfoBarDelegate_jni.h"
14 #include "ui/base/l10n/l10n_util.h" 14 #include "ui/base/l10n/l10n_util.h"
15 15
16 // ChromeTranslateClient 16 // ChromeTranslateClient
17 // ---------------------------------------------------------- 17 // ----------------------------------------------------------
18 18
19 scoped_ptr<infobars::InfoBar> ChromeTranslateClient::CreateInfoBar( 19 scoped_ptr<infobars::InfoBar> ChromeTranslateClient::CreateInfoBar(
20 scoped_ptr<TranslateInfoBarDelegate> delegate) const { 20 scoped_ptr<translate::TranslateInfoBarDelegate> delegate) const {
21 return scoped_ptr<infobars::InfoBar>(new TranslateInfoBar(delegate.Pass())); 21 return scoped_ptr<infobars::InfoBar>(new TranslateInfoBar(delegate.Pass()));
22 } 22 }
23 23
24 24
25 // TranslateInfoBar ----------------------------------------------------------- 25 // TranslateInfoBar -----------------------------------------------------------
26 26
27 TranslateInfoBar::TranslateInfoBar( 27 TranslateInfoBar::TranslateInfoBar(
28 scoped_ptr<TranslateInfoBarDelegate> delegate) 28 scoped_ptr<translate::TranslateInfoBarDelegate> delegate)
29 : InfoBarAndroid(delegate.PassAs<infobars::InfoBarDelegate>()), 29 : InfoBarAndroid(delegate.PassAs<infobars::InfoBarDelegate>()),
30 java_translate_delegate_() { 30 java_translate_delegate_() {
31 } 31 }
32 32
33 TranslateInfoBar::~TranslateInfoBar() { 33 TranslateInfoBar::~TranslateInfoBar() {
34 } 34 }
35 35
36 ScopedJavaLocalRef<jobject> TranslateInfoBar::CreateRenderInfoBar(JNIEnv* env) { 36 ScopedJavaLocalRef<jobject> TranslateInfoBar::CreateRenderInfoBar(JNIEnv* env) {
37 java_translate_delegate_.Reset(Java_TranslateInfoBarDelegate_create(env)); 37 java_translate_delegate_.Reset(Java_TranslateInfoBarDelegate_create(env));
38 TranslateInfoBarDelegate* delegate = GetDelegate(); 38 translate::TranslateInfoBarDelegate* delegate = GetDelegate();
39 std::vector<base::string16> languages; 39 std::vector<base::string16> languages;
40 languages.reserve(delegate->num_languages()); 40 languages.reserve(delegate->num_languages());
41 for (size_t i = 0; i < delegate->num_languages(); ++i) 41 for (size_t i = 0; i < delegate->num_languages(); ++i)
42 languages.push_back(delegate->language_name_at(i)); 42 languages.push_back(delegate->language_name_at(i));
43 43
44 base::android::ScopedJavaLocalRef<jobjectArray> java_languages = 44 base::android::ScopedJavaLocalRef<jobjectArray> java_languages =
45 base::android::ToJavaArrayOfStrings(env, languages); 45 base::android::ToJavaArrayOfStrings(env, languages);
46 return Java_TranslateInfoBarDelegate_showTranslateInfoBar( 46 return Java_TranslateInfoBarDelegate_showTranslateInfoBar(
47 env, java_translate_delegate_.obj(), reinterpret_cast<intptr_t>(this), 47 env, java_translate_delegate_.obj(), reinterpret_cast<intptr_t>(this),
48 delegate->translate_step(), delegate->original_language_index(), 48 delegate->translate_step(), delegate->original_language_index(),
49 delegate->target_language_index(), delegate->ShouldAlwaysTranslate(), 49 delegate->target_language_index(), delegate->ShouldAlwaysTranslate(),
50 ShouldDisplayNeverTranslateInfoBarOnCancel(), 50 ShouldDisplayNeverTranslateInfoBarOnCancel(),
51 delegate->triggered_from_menu(), java_languages.obj()); 51 delegate->triggered_from_menu(), java_languages.obj());
52 } 52 }
53 53
54 void TranslateInfoBar::ProcessButton(int action, 54 void TranslateInfoBar::ProcessButton(int action,
55 const std::string& action_value) { 55 const std::string& action_value) {
56 if (!owner()) 56 if (!owner())
57 return; // We're closing; don't call anything, it might access the owner. 57 return; // We're closing; don't call anything, it might access the owner.
58 58
59 TranslateInfoBarDelegate* delegate = GetDelegate(); 59 translate::TranslateInfoBarDelegate* delegate = GetDelegate();
60 if (action == InfoBarAndroid::ACTION_TRANSLATE) { 60 if (action == InfoBarAndroid::ACTION_TRANSLATE) {
61 delegate->Translate(); 61 delegate->Translate();
62 return; 62 return;
63 } 63 }
64 64
65 if (action == InfoBarAndroid::ACTION_CANCEL) 65 if (action == InfoBarAndroid::ACTION_CANCEL)
66 delegate->TranslationDeclined(); 66 delegate->TranslationDeclined();
67 else if (action == InfoBarAndroid::ACTION_TRANSLATE_SHOW_ORIGINAL) 67 else if (action == InfoBarAndroid::ACTION_TRANSLATE_SHOW_ORIGINAL)
68 delegate->RevertTranslation(); 68 delegate->RevertTranslation();
69 else 69 else
70 DCHECK_EQ(InfoBarAndroid::ACTION_NONE, action); 70 DCHECK_EQ(InfoBarAndroid::ACTION_NONE, action);
71 71
72 RemoveSelf(); 72 RemoveSelf();
73 } 73 }
74 74
75 void TranslateInfoBar::PassJavaInfoBar(InfoBarAndroid* source) { 75 void TranslateInfoBar::PassJavaInfoBar(InfoBarAndroid* source) {
76 TranslateInfoBarDelegate* delegate = GetDelegate(); 76 translate::TranslateInfoBarDelegate* delegate = GetDelegate();
77 DCHECK_NE(translate::TRANSLATE_STEP_BEFORE_TRANSLATE, 77 DCHECK_NE(translate::TRANSLATE_STEP_BEFORE_TRANSLATE,
78 delegate->translate_step()); 78 delegate->translate_step());
79 79
80 // Ask the former bar to transfer ownership to us. 80 // Ask the former bar to transfer ownership to us.
81 DCHECK(source != NULL); 81 DCHECK(source != NULL);
82 static_cast<TranslateInfoBar*>(source)->TransferOwnership( 82 static_cast<TranslateInfoBar*>(source)->TransferOwnership(
83 this, delegate->translate_step()); 83 this, delegate->translate_step());
84 } 84 }
85 85
86 void TranslateInfoBar::ApplyTranslateOptions(JNIEnv* env, 86 void TranslateInfoBar::ApplyTranslateOptions(JNIEnv* env,
87 jobject obj, 87 jobject obj,
88 int source_language_index, 88 int source_language_index,
89 int target_language_index, 89 int target_language_index,
90 bool always_translate, 90 bool always_translate,
91 bool never_translate_language, 91 bool never_translate_language,
92 bool never_translate_site) { 92 bool never_translate_site) {
93 TranslateInfoBarDelegate* delegate = GetDelegate(); 93 translate::TranslateInfoBarDelegate* delegate = GetDelegate();
94 delegate->UpdateOriginalLanguageIndex(source_language_index); 94 delegate->UpdateOriginalLanguageIndex(source_language_index);
95 delegate->UpdateTargetLanguageIndex(target_language_index); 95 delegate->UpdateTargetLanguageIndex(target_language_index);
96 96
97 if (delegate->ShouldAlwaysTranslate() != always_translate) 97 if (delegate->ShouldAlwaysTranslate() != always_translate)
98 delegate->ToggleAlwaysTranslate(); 98 delegate->ToggleAlwaysTranslate();
99 99
100 if (never_translate_language && delegate->IsTranslatableLanguageByPrefs()) 100 if (never_translate_language && delegate->IsTranslatableLanguageByPrefs())
101 delegate->ToggleTranslatableLanguageByPrefs(); 101 delegate->ToggleTranslatableLanguageByPrefs();
102 102
103 if (never_translate_site && !delegate->IsSiteBlacklisted()) 103 if (never_translate_site && !delegate->IsSiteBlacklisted())
(...skipping 10 matching lines...) Expand all
114 destination->SetJavaDelegate(java_translate_delegate_.Release()); 114 destination->SetJavaDelegate(java_translate_delegate_.Release());
115 } 115 }
116 } 116 }
117 117
118 void TranslateInfoBar::SetJavaDelegate(jobject delegate) { 118 void TranslateInfoBar::SetJavaDelegate(jobject delegate) {
119 JNIEnv* env = base::android::AttachCurrentThread(); 119 JNIEnv* env = base::android::AttachCurrentThread();
120 java_translate_delegate_.Reset(env, delegate); 120 java_translate_delegate_.Reset(env, delegate);
121 } 121 }
122 122
123 bool TranslateInfoBar::ShouldDisplayNeverTranslateInfoBarOnCancel() { 123 bool TranslateInfoBar::ShouldDisplayNeverTranslateInfoBarOnCancel() {
124 TranslateInfoBarDelegate* delegate = GetDelegate(); 124 translate::TranslateInfoBarDelegate* delegate = GetDelegate();
125 return (delegate->translate_step() == 125 return (delegate->translate_step() ==
126 translate::TRANSLATE_STEP_BEFORE_TRANSLATE) && 126 translate::TRANSLATE_STEP_BEFORE_TRANSLATE) &&
127 delegate->ShouldShowNeverTranslateShortcut(); 127 delegate->ShouldShowNeverTranslateShortcut();
128 } 128 }
129 129
130 TranslateInfoBarDelegate* TranslateInfoBar::GetDelegate() { 130 translate::TranslateInfoBarDelegate* TranslateInfoBar::GetDelegate() {
131 return delegate()->AsTranslateInfoBarDelegate(); 131 return delegate()->AsTranslateInfoBarDelegate();
132 } 132 }
133 133
134 134
135 // Native JNI methods --------------------------------------------------------- 135 // Native JNI methods ---------------------------------------------------------
136 136
137 bool RegisterTranslateInfoBarDelegate(JNIEnv* env) { 137 bool RegisterTranslateInfoBarDelegate(JNIEnv* env) {
138 return RegisterNativesImpl(env); 138 return RegisterNativesImpl(env);
139 } 139 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/android/infobars/translate_infobar.h ('k') | chrome/browser/ui/browser_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698