OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/subresource_filter_infobar.h" | 5 #include "chrome/browser/ui/android/infobars/subresource_filter_infobar.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/android/jni_android.h" | 9 #include "base/android/jni_android.h" |
10 #include "base/android/jni_string.h" | 10 #include "base/android/jni_string.h" |
11 #include "base/memory/ptr_util.h" | 11 #include "base/memory/ptr_util.h" |
| 12 #include "jni/SubresourceFilterExperimentalInfoBar_jni.h" |
12 #include "jni/SubresourceFilterInfoBar_jni.h" | 13 #include "jni/SubresourceFilterInfoBar_jni.h" |
13 | 14 |
14 using base::android::JavaParamRef; | 15 using base::android::JavaParamRef; |
15 | 16 |
16 SubresourceFilterInfoBar::SubresourceFilterInfoBar( | 17 SubresourceFilterInfoBar::SubresourceFilterInfoBar( |
17 std::unique_ptr<SubresourceFilterInfobarDelegate> delegate) | 18 std::unique_ptr<SubresourceFilterInfobarDelegate> delegate) |
18 : ConfirmInfoBar(std::move(delegate)) {} | 19 : ConfirmInfoBar(std::move(delegate)) {} |
19 | 20 |
20 SubresourceFilterInfoBar::~SubresourceFilterInfoBar() {} | 21 SubresourceFilterInfoBar::~SubresourceFilterInfoBar() {} |
21 | 22 |
22 base::android::ScopedJavaLocalRef<jobject> | 23 base::android::ScopedJavaLocalRef<jobject> |
23 SubresourceFilterInfoBar::CreateRenderInfoBar(JNIEnv* env) { | 24 SubresourceFilterInfoBar::CreateRenderInfoBar(JNIEnv* env) { |
24 using base::android::ConvertUTF16ToJavaString; | 25 using base::android::ConvertUTF16ToJavaString; |
25 using base::android::ScopedJavaLocalRef; | 26 using base::android::ScopedJavaLocalRef; |
26 SubresourceFilterInfobarDelegate* subresource_filter_delegate = | 27 SubresourceFilterInfobarDelegate* subresource_filter_delegate = |
27 static_cast<SubresourceFilterInfobarDelegate*>(delegate()); | 28 static_cast<SubresourceFilterInfobarDelegate*>(delegate()); |
28 ScopedJavaLocalRef<jstring> reload_button_text = ConvertUTF16ToJavaString( | 29 ScopedJavaLocalRef<jstring> reload_button_text = ConvertUTF16ToJavaString( |
29 env, GetTextFor(ConfirmInfoBarDelegate::BUTTON_CANCEL)); | 30 env, GetTextFor(ConfirmInfoBarDelegate::BUTTON_CANCEL)); |
30 ScopedJavaLocalRef<jstring> ok_button_text = ConvertUTF16ToJavaString( | 31 ScopedJavaLocalRef<jstring> ok_button_text = ConvertUTF16ToJavaString( |
31 env, GetTextFor(ConfirmInfoBarDelegate::BUTTON_OK)); | 32 env, GetTextFor(ConfirmInfoBarDelegate::BUTTON_OK)); |
32 ScopedJavaLocalRef<jstring> message_text = ConvertUTF16ToJavaString( | 33 ScopedJavaLocalRef<jstring> message_text = ConvertUTF16ToJavaString( |
33 env, subresource_filter_delegate->GetMessageText()); | 34 env, subresource_filter_delegate->GetMessageText()); |
34 ScopedJavaLocalRef<jstring> explanation_message = ConvertUTF16ToJavaString( | 35 ScopedJavaLocalRef<jstring> explanation_message = ConvertUTF16ToJavaString( |
35 env, subresource_filter_delegate->GetExplanationText()); | 36 env, subresource_filter_delegate->GetExplanationText()); |
36 | 37 |
| 38 if (subresource_filter_delegate->ShouldShowExperimentalInfobar()) { |
| 39 return Java_SubresourceFilterExperimentalInfoBar_show( |
| 40 env, GetEnumeratedIconId(), message_text, ok_button_text, |
| 41 reload_button_text, explanation_message); |
| 42 } |
37 return Java_SubresourceFilterInfoBar_show( | 43 return Java_SubresourceFilterInfoBar_show( |
38 env, GetEnumeratedIconId(), message_text, ok_button_text, | 44 env, GetEnumeratedIconId(), message_text, ok_button_text, |
39 reload_button_text, explanation_message); | 45 reload_button_text, explanation_message); |
40 } | 46 } |
41 | 47 |
42 std::unique_ptr<infobars::InfoBar> CreateSubresourceFilterInfoBar( | 48 std::unique_ptr<infobars::InfoBar> CreateSubresourceFilterInfoBar( |
43 std::unique_ptr<SubresourceFilterInfobarDelegate> delegate) { | 49 std::unique_ptr<SubresourceFilterInfobarDelegate> delegate) { |
44 return base::MakeUnique<SubresourceFilterInfoBar>(std::move(delegate)); | 50 return base::MakeUnique<SubresourceFilterInfoBar>(std::move(delegate)); |
45 } | 51 } |
OLD | NEW |