| Index: chrome/browser/android/banners/app_banner_manager_android.cc
|
| diff --git a/chrome/browser/android/banners/app_banner_manager_android.cc b/chrome/browser/android/banners/app_banner_manager_android.cc
|
| index 36b4045e8876af1e3bc75535891683b2ead6c8eb..b1915ccdf376b5e535e95443a9fa080b3e61d8f5 100644
|
| --- a/chrome/browser/android/banners/app_banner_manager_android.cc
|
| +++ b/chrome/browser/android/banners/app_banner_manager_android.cc
|
| @@ -56,8 +56,9 @@ void AppBannerManagerAndroid::ReplaceWebContents(
|
|
|
| bool AppBannerManagerAndroid::HandleNonWebApp(const std::string& platform,
|
| const GURL& url,
|
| - const std::string& id) {
|
| - if (!CheckPlatformAndId(platform, id))
|
| + const std::string& id,
|
| + bool is_debug_mode) {
|
| + if (!CheckPlatformAndId(platform, id, is_debug_mode))
|
| return false;
|
|
|
| banners::TrackDisplayEvent(DISPLAY_EVENT_NATIVE_APP_BANNER_REQUESTED);
|
| @@ -70,8 +71,8 @@ bool AppBannerManagerAndroid::HandleNonWebApp(const std::string& platform,
|
|
|
| std::string id_from_app_url = ExtractQueryValueForName(url, kIdName);
|
| if (id_from_app_url.size() && id != id_from_app_url) {
|
| - banners::OutputDeveloperDebugMessage(web_contents(),
|
| - banners::kIgnoredIdsDoNotMatch);
|
| + banners::OutputDeveloperDebugMessage(
|
| + web_contents(), banners::kIgnoredIdsDoNotMatch, is_debug_mode);
|
| return false;
|
| }
|
|
|
| @@ -99,27 +100,31 @@ bool AppBannerManagerAndroid::HandleNonWebApp(const std::string& platform,
|
| }
|
|
|
| bool AppBannerManagerAndroid::CheckPlatformAndId(const std::string& platform,
|
| - const std::string& id) {
|
| + const std::string& id,
|
| + bool is_debug_mode) {
|
| if (platform != kPlayPlatform) {
|
| banners::OutputDeveloperDebugMessage(
|
| - web_contents(), platform + banners::kIgnoredNotSupportedOnAndroid);
|
| + web_contents(), platform + banners::kIgnoredNotSupportedOnAndroid,
|
| + is_debug_mode);
|
| return false;
|
| }
|
| if (id.empty()) {
|
| - banners::OutputDeveloperDebugMessage(web_contents(), banners::kIgnoredNoId);
|
| + banners::OutputDeveloperDebugMessage(web_contents(), banners::kIgnoredNoId,
|
| + is_debug_mode);
|
| return false;
|
| }
|
| return true;
|
| }
|
|
|
| -bool AppBannerManagerAndroid::CheckFetcherMatchesContents() {
|
| +bool AppBannerManagerAndroid::CheckFetcherMatchesContents(bool is_debug_mode) {
|
| if (!web_contents())
|
| return false;
|
|
|
| if (!data_fetcher() ||
|
| data_fetcher()->validated_url() != web_contents()->GetURL()) {
|
| banners::OutputDeveloperNotShownMessage(
|
| - web_contents(), banners::kUserNavigatedBeforeBannerShown);
|
| + web_contents(), banners::kUserNavigatedBeforeBannerShown,
|
| + is_debug_mode);
|
| return false;
|
| }
|
| return true;
|
| @@ -142,14 +147,14 @@ std::string AppBannerManagerAndroid::ExtractQueryValueForName(
|
| }
|
|
|
| AppBannerDataFetcher* AppBannerManagerAndroid::CreateAppBannerDataFetcher(
|
| - base::WeakPtr<Delegate> weak_delegate) {
|
| + base::WeakPtr<Delegate> weak_delegate,
|
| + bool is_debug_mode) {
|
| return new AppBannerDataFetcherAndroid(
|
| - web_contents(),
|
| - weak_delegate,
|
| + web_contents(), weak_delegate,
|
| ShortcutHelper::GetIdealHomescreenIconSizeInDp(),
|
| ShortcutHelper::GetMinimumHomescreenIconSizeInDp(),
|
| ShortcutHelper::GetIdealSplashImageSizeInDp(),
|
| - ShortcutHelper::GetMinimumSplashImageSizeInDp());
|
| + ShortcutHelper::GetMinimumSplashImageSizeInDp(), is_debug_mode);
|
| }
|
|
|
| bool AppBannerManagerAndroid::OnAppDetailsRetrieved(
|
| @@ -159,13 +164,13 @@ bool AppBannerManagerAndroid::OnAppDetailsRetrieved(
|
| const JavaParamRef<jstring>& japp_title,
|
| const JavaParamRef<jstring>& japp_package,
|
| const JavaParamRef<jstring>& jicon_url) {
|
| - if (!CheckFetcherMatchesContents())
|
| + AppBannerDataFetcherAndroid* android_fetcher =
|
| + static_cast<AppBannerDataFetcherAndroid*>(data_fetcher().get());
|
| + if (!CheckFetcherMatchesContents(android_fetcher->is_debug_mode()))
|
| return false;
|
|
|
| GURL image_url = GURL(ConvertJavaStringToUTF8(env, jicon_url));
|
|
|
| - AppBannerDataFetcherAndroid* android_fetcher =
|
| - static_cast<AppBannerDataFetcherAndroid*>(data_fetcher().get());
|
| return android_fetcher->ContinueFetching(
|
| ConvertJavaStringToUTF16(env, japp_title),
|
| ConvertJavaStringToUTF8(env, japp_package), japp_data, image_url);
|
| @@ -177,6 +182,14 @@ bool AppBannerManagerAndroid::IsFetcherActive(
|
| return AppBannerManager::IsFetcherActive();
|
| }
|
|
|
| +void AppBannerManagerAndroid::RequestAppBanner(
|
| + JNIEnv* env,
|
| + const JavaParamRef<jobject>& obj) {
|
| + AppBannerManager::RequestAppBanner(web_contents()->GetMainFrame(),
|
| + web_contents()->GetLastCommittedURL(),
|
| + true);
|
| +}
|
| +
|
| // static
|
| bool AppBannerManagerAndroid::Register(JNIEnv* env) {
|
| return RegisterNativesImpl(env);
|
|
|