Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(87)

Side by Side Diff: chrome/browser/android/banners/app_banner_manager_android.cc

Issue 1129103003: Log messages regarding why app banners aren't displayed to the console (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Factoring out log messages into constants Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/android/banners/app_banner_manager_android.h" 5 #include "chrome/browser/android/banners/app_banner_manager_android.h"
6 6
7 #include "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "base/android/jni_string.h" 8 #include "base/android/jni_string.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "chrome/browser/android/banners/app_banner_data_fetcher_android.h" 10 #include "chrome/browser/android/banners/app_banner_data_fetcher_android.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 jobject obj, 44 jobject obj,
45 jobject jweb_contents) { 45 jobject jweb_contents) {
46 content::WebContents* web_contents = 46 content::WebContents* web_contents =
47 content::WebContents::FromJavaWebContents(jweb_contents); 47 content::WebContents::FromJavaWebContents(jweb_contents);
48 AppBannerManager::ReplaceWebContents(web_contents); 48 AppBannerManager::ReplaceWebContents(web_contents);
49 } 49 }
50 50
51 bool AppBannerManagerAndroid::HandleNonWebApp(const std::string& platform, 51 bool AppBannerManagerAndroid::HandleNonWebApp(const std::string& platform,
52 const GURL& url, 52 const GURL& url,
53 const std::string& id) { 53 const std::string& id) {
54 if (platform != kPlayPlatform || id.empty()) 54 if (!CheckPlatformAndId(platform, id))
55 return false; 55 return false;
56 56
57 banners::TrackDisplayEvent(DISPLAY_EVENT_BANNER_REQUESTED); 57 banners::TrackDisplayEvent(DISPLAY_EVENT_BANNER_REQUESTED);
58 58
59 // Send the info to the Java side to get info about the app. 59 // Send the info to the Java side to get info about the app.
60 JNIEnv* env = base::android::AttachCurrentThread(); 60 JNIEnv* env = base::android::AttachCurrentThread();
61 ScopedJavaLocalRef<jobject> jobj = weak_java_banner_view_manager_.get(env); 61 ScopedJavaLocalRef<jobject> jobj = weak_java_banner_view_manager_.get(env);
62 if (jobj.is_null()) 62 if (jobj.is_null())
63 return false; 63 return false;
64 64
65 ScopedJavaLocalRef<jstring> jurl( 65 ScopedJavaLocalRef<jstring> jurl(
66 ConvertUTF8ToJavaString(env, data_fetcher()->validated_url().spec())); 66 ConvertUTF8ToJavaString(env, data_fetcher()->validated_url().spec()));
67 ScopedJavaLocalRef<jstring> jpackage( 67 ScopedJavaLocalRef<jstring> jpackage(
68 ConvertUTF8ToJavaString(env, id)); 68 ConvertUTF8ToJavaString(env, id));
69 Java_AppBannerManager_fetchAppDetails( 69 Java_AppBannerManager_fetchAppDetails(
70 env, jobj.obj(), jurl.obj(), jpackage.obj(), ideal_icon_size()); 70 env, jobj.obj(), jurl.obj(), jpackage.obj(), ideal_icon_size());
71 return true; 71 return true;
72 } 72 }
73 73
74 bool AppBannerManagerAndroid::CheckPlatformAndId(const std::string& platform,
75 const std::string& id) {
76 if (platform != kPlayPlatform) {
77 banners::OutputDeveloperDebugMessage(
78 web_contents(), platform + banners::kIgnoredNotSupportedOnAndroid);
79 return false;
80 } else if (id.empty()) {
benwells 2015/05/13 02:55:20 Nit (here and elsewhere): no else after return.
dominickn (DO NOT USE) 2015/05/13 03:08:06 Done.
81 banners::OutputDeveloperDebugMessage(web_contents(), banners::kIgnoredNoId);
82 return false;
83 } else {
84 return true;
85 }
86 }
87
88 bool AppBannerManagerAndroid::CheckFetcherMatchesContents() {
89 if (!web_contents()) {
90 return false;
91 } else if (!data_fetcher() ||
92 data_fetcher()->validated_url() != web_contents()->GetURL()) {
93 banners::OutputDeveloperNotShownMessage(
94 web_contents(), banners::kUserNavigatedBeforeBannerShown);
95 return false;
96 } else {
97 return true;
98 }
99 }
100
74 AppBannerDataFetcher* AppBannerManagerAndroid::CreateAppBannerDataFetcher( 101 AppBannerDataFetcher* AppBannerManagerAndroid::CreateAppBannerDataFetcher(
75 base::WeakPtr<Delegate> weak_delegate, 102 base::WeakPtr<Delegate> weak_delegate,
76 const int ideal_icon_size) { 103 const int ideal_icon_size) {
77 return new AppBannerDataFetcherAndroid(web_contents(), weak_delegate, 104 return new AppBannerDataFetcherAndroid(web_contents(), weak_delegate,
78 ideal_icon_size); 105 ideal_icon_size);
79 } 106 }
80 107
81 bool AppBannerManagerAndroid::OnAppDetailsRetrieved(JNIEnv* env, 108 bool AppBannerManagerAndroid::OnAppDetailsRetrieved(JNIEnv* env,
82 jobject obj, 109 jobject obj,
83 jobject japp_data, 110 jobject japp_data,
84 jstring japp_title, 111 jstring japp_title,
85 jstring japp_package, 112 jstring japp_package,
86 jstring jicon_url) { 113 jstring jicon_url) {
87 if (!data_fetcher() || !web_contents() 114 if (!CheckFetcherMatchesContents())
88 || data_fetcher()->validated_url() != web_contents()->GetURL()) {
89 return false; 115 return false;
90 }
91 116
92 base::android::ScopedJavaLocalRef<jobject> native_app_data; 117 base::android::ScopedJavaLocalRef<jobject> native_app_data;
93 native_app_data.Reset(env, japp_data); 118 native_app_data.Reset(env, japp_data);
94 GURL image_url = GURL(ConvertJavaStringToUTF8(env, jicon_url)); 119 GURL image_url = GURL(ConvertJavaStringToUTF8(env, jicon_url));
95 120
96 AppBannerDataFetcherAndroid* android_fetcher = 121 AppBannerDataFetcherAndroid* android_fetcher =
97 static_cast<AppBannerDataFetcherAndroid*>(data_fetcher().get()); 122 static_cast<AppBannerDataFetcherAndroid*>(data_fetcher().get());
98 return android_fetcher->ContinueFetching( 123 return android_fetcher->ContinueFetching(
99 ConvertJavaStringToUTF16(env, japp_title), 124 ConvertJavaStringToUTF16(env, japp_title),
100 ConvertJavaStringToUTF8(env, japp_package), 125 ConvertJavaStringToUTF8(env, japp_package),
(...skipping 21 matching lines...) Expand all
122 147
123 void DisableSecureSchemeCheckForTesting(JNIEnv* env, jclass clazz) { 148 void DisableSecureSchemeCheckForTesting(JNIEnv* env, jclass clazz) {
124 AppBannerManager::DisableSecureSchemeCheckForTesting(); 149 AppBannerManager::DisableSecureSchemeCheckForTesting();
125 } 150 }
126 151
127 jboolean IsEnabled(JNIEnv* env, jclass clazz) { 152 jboolean IsEnabled(JNIEnv* env, jclass clazz) {
128 return AppBannerManager::IsEnabled(); 153 return AppBannerManager::IsEnabled();
129 } 154 }
130 155
131 } // namespace banners 156 } // namespace banners
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698