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

Unified Diff: chrome/browser/android/banners/app_banner_manager_android.cc

Issue 1569893003: Add "Request app banner" context menu in DevTools (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: incorporated pfeldman's comment Created 4 years, 11 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 side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698