OLD | NEW |
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_helper.h" | 9 #include "base/android/jni_helper.h" |
10 #include "chrome/browser/translate/translate_infobar_delegate.h" | 10 #include "chrome/browser/translate/translate_infobar_delegate.h" |
11 #include "grit/generated_resources.h" | 11 #include "grit/generated_resources.h" |
12 #include "jni/TranslateInfoBarDelegate_jni.h" | 12 #include "jni/TranslateInfoBarDelegate_jni.h" |
13 #include "ui/base/l10n/l10n_util.h" | 13 #include "ui/base/l10n/l10n_util.h" |
14 | 14 |
15 | 15 |
16 // TranslateInfoBarDelegate --------------------------------------------------- | 16 // TranslateInfoBarDelegate --------------------------------------------------- |
17 | 17 |
18 // static | 18 // static |
19 InfoBar* TranslateInfoBarDelegate::CreateInfoBar(InfoBarService* owner) { | 19 scoped_ptr<InfoBar> TranslateInfoBarDelegate::CreateInfoBar( |
20 return new TranslateInfoBar(owner, this); | 20 scoped_ptr<TranslateInfoBarDelegate> delegate) { |
| 21 return scoped_ptr<InfoBar>(new TranslateInfoBar(delegate.Pass())); |
21 } | 22 } |
22 | 23 |
23 | 24 |
24 // TranslateInfoBar ----------------------------------------------------------- | 25 // TranslateInfoBar ----------------------------------------------------------- |
25 | 26 |
26 TranslateInfoBar::TranslateInfoBar(InfoBarService* owner, | 27 TranslateInfoBar::TranslateInfoBar( |
27 TranslateInfoBarDelegate* delegate) | 28 scoped_ptr<TranslateInfoBarDelegate> delegate) |
28 : InfoBarAndroid(owner, delegate), | 29 : InfoBarAndroid(delegate.PassAs<InfoBarDelegate>()), |
29 java_translate_delegate_() { | 30 java_translate_delegate_() { |
30 } | 31 } |
31 | 32 |
32 TranslateInfoBar::~TranslateInfoBar() { | 33 TranslateInfoBar::~TranslateInfoBar() { |
33 } | 34 } |
34 | 35 |
35 ScopedJavaLocalRef<jobject> TranslateInfoBar::CreateRenderInfoBar(JNIEnv* env) { | 36 ScopedJavaLocalRef<jobject> TranslateInfoBar::CreateRenderInfoBar(JNIEnv* env) { |
36 java_translate_delegate_.Reset(Java_TranslateInfoBarDelegate_create(env)); | 37 java_translate_delegate_.Reset(Java_TranslateInfoBarDelegate_create(env)); |
37 TranslateInfoBarDelegate* delegate = GetDelegate(); | 38 TranslateInfoBarDelegate* delegate = GetDelegate(); |
38 std::vector<string16> languages; | 39 std::vector<string16> languages; |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 TranslateInfoBarDelegate* TranslateInfoBar::GetDelegate() { | 131 TranslateInfoBarDelegate* TranslateInfoBar::GetDelegate() { |
131 return delegate()->AsTranslateInfoBarDelegate(); | 132 return delegate()->AsTranslateInfoBarDelegate(); |
132 } | 133 } |
133 | 134 |
134 | 135 |
135 // Native JNI methods --------------------------------------------------------- | 136 // Native JNI methods --------------------------------------------------------- |
136 | 137 |
137 bool RegisterTranslateInfoBarDelegate(JNIEnv* env) { | 138 bool RegisterTranslateInfoBarDelegate(JNIEnv* env) { |
138 return RegisterNativesImpl(env); | 139 return RegisterNativesImpl(env); |
139 } | 140 } |
OLD | NEW |