Index: chrome/browser/ui/android/infobars/confirm_infobar.cc |
diff --git a/chrome/browser/ui/android/infobars/confirm_infobar.cc b/chrome/browser/ui/android/infobars/confirm_infobar.cc |
index c90991153242d2f2927ba7df2f42e07b837bf7c7..dfaf329131541fbdbe0a129146aeede0bba6b467 100644 |
--- a/chrome/browser/ui/android/infobars/confirm_infobar.cc |
+++ b/chrome/browser/ui/android/infobars/confirm_infobar.cc |
@@ -13,6 +13,7 @@ |
#include "build/build_config.h" |
#include "chrome/browser/android/resource_mapper.h" |
#include "chrome/browser/infobars/infobar_service.h" |
+#include "chrome/browser/media/media_stream_infobar_delegate_android.h" |
#include "chrome/browser/permissions/permission_infobar_delegate.h" |
#include "components/content_settings/core/common/content_settings_types.h" |
#include "components/infobars/core/confirm_infobar_delegate.h" |
@@ -23,10 +24,6 @@ |
#include "ui/gfx/android/java_bitmap.h" |
#include "ui/gfx/image/image.h" |
-#if defined(OS_ANDROID) |
-#include "chrome/browser/media/media_stream_infobar_delegate_android.h" |
-#endif |
- |
// InfoBarService ------------------------------------------------------------- |
scoped_ptr<infobars::InfoBar> InfoBarService::CreateConfirmInfoBar( |
@@ -61,6 +58,25 @@ base::android::ScopedJavaLocalRef<jobject> ConfirmInfoBar::CreateRenderInfoBar( |
base::android::ConvertUTF16ToJavaString( |
env, delegate->GetLinkText()); |
+ for (const auto& detail : delegate->GetDetails()) { |
+ Java_ConfirmInfoBarDelegate_addDetail( |
+ env, java_confirm_delegate_.obj(), |
+ ResourceMapper::MapFromChromiumId(detail.icon_id), |
+ base::android::ConvertUTF16ToJavaString(env, detail.label).obj(), |
+ base::android::ConvertUTF16ToJavaString(env, detail.sub_label).obj()); |
+ } |
+ |
+ for (const auto& description : delegate->GetDescriptions()) { |
+ Java_ConfirmInfoBarDelegate_addDescription( |
+ env, java_confirm_delegate_.obj(), |
+ base::android::ConvertUTF16ToJavaString(env, description.text).obj()); |
+ for (const auto& link : description.links) { |
+ Java_ConfirmInfoBarDelegate_addLinkToLastDescription( |
+ env, java_confirm_delegate_.obj(), link.start, link.end, |
+ base::android::ConvertUTF8ToJavaString(env, link.url.spec()).obj()); |
+ } |
+ } |
+ |
ScopedJavaLocalRef<jobject> java_bitmap; |
if (delegate->GetIconId() == infobars::InfoBarDelegate::kNoIconID && |
!delegate->GetIcon().IsEmpty()) { |
@@ -71,7 +87,6 @@ base::android::ScopedJavaLocalRef<jobject> ConfirmInfoBar::CreateRenderInfoBar( |
if (delegate->AsPermissionInfobarDelegate()) { |
content_settings.push_back( |
delegate->AsPermissionInfobarDelegate()->content_setting()); |
-#if defined(OS_ANDROID) |
} else if (delegate->AsMediaStreamInfoBarDelegateAndroid()) { |
MediaStreamInfoBarDelegateAndroid* media_delegate = |
delegate->AsMediaStreamInfoBarDelegateAndroid(); |
@@ -83,7 +98,6 @@ base::android::ScopedJavaLocalRef<jobject> ConfirmInfoBar::CreateRenderInfoBar( |
content_settings.push_back( |
ContentSettingsType::CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC); |
} |
-#endif |
} |
content::WebContents* web_contents = |