| Index: chrome/browser/ui/android/infobars/app_banner_infobar.cc
|
| diff --git a/chrome/browser/ui/android/infobars/app_banner_infobar.cc b/chrome/browser/ui/android/infobars/app_banner_infobar.cc
|
| index 838b85e1d8e219f7f83502174b52299ba2b0ef50..f503e77ef2d115cb41d90976b4a3ead7ebfe1f1f 100644
|
| --- a/chrome/browser/ui/android/infobars/app_banner_infobar.cc
|
| +++ b/chrome/browser/ui/android/infobars/app_banner_infobar.cc
|
| @@ -13,6 +13,14 @@
|
| #include "ui/gfx/android/java_bitmap.h"
|
| #include "ui/gfx/image/image.h"
|
|
|
| +
|
| +AppBannerInfoBar::AppBannerInfoBar(
|
| + scoped_ptr<banners::AppBannerInfoBarDelegate> delegate,
|
| + const base::android::ScopedJavaGlobalRef<jobject>& japp_data)
|
| + : ConfirmInfoBar(delegate.Pass()),
|
| + japp_data_(japp_data) {
|
| +}
|
| +
|
| AppBannerInfoBar::AppBannerInfoBar(
|
| scoped_ptr<banners::AppBannerInfoBarDelegate> delegate,
|
| const GURL& app_url)
|
| @@ -38,22 +46,30 @@ AppBannerInfoBar::CreateRenderInfoBar(JNIEnv* env) {
|
| }
|
|
|
| base::android::ScopedJavaLocalRef<jobject> infobar;
|
| + if (!japp_data_.is_null()) {
|
| + infobar.Reset(Java_AppBannerInfoBar_createNativeAppInfoBar(
|
| + env,
|
| + reinterpret_cast<intptr_t>(this),
|
| + app_title.obj(),
|
| + java_bitmap.obj(),
|
| + japp_data_.obj()));
|
| + } else {
|
| + // Trim down the app URL to the domain and registry.
|
| + std::string trimmed_url =
|
| + net::registry_controlled_domains::GetDomainAndRegistry(
|
| + app_url_,
|
| + net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES);
|
|
|
| - // Trim down the app URL to the domain and registry.
|
| - std::string trimmed_url =
|
| - net::registry_controlled_domains::GetDomainAndRegistry(
|
| - app_url_,
|
| - net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES);
|
| + base::android::ScopedJavaLocalRef<jstring> app_url =
|
| + base::android::ConvertUTF8ToJavaString(env, trimmed_url);
|
|
|
| - base::android::ScopedJavaLocalRef<jstring> app_url =
|
| - base::android::ConvertUTF8ToJavaString(env, trimmed_url);
|
| -
|
| - infobar.Reset(Java_AppBannerInfoBar_createWebAppInfoBar(
|
| - env,
|
| - reinterpret_cast<intptr_t>(this),
|
| - app_title.obj(),
|
| - java_bitmap.obj(),
|
| - app_url.obj()));
|
| + infobar.Reset(Java_AppBannerInfoBar_createWebAppInfoBar(
|
| + env,
|
| + reinterpret_cast<intptr_t>(this),
|
| + app_title.obj(),
|
| + java_bitmap.obj(),
|
| + app_url.obj()));
|
| + }
|
|
|
| java_infobar_.Reset(env, infobar.obj());
|
| return infobar;
|
|
|