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

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

Issue 1092193004: Use related_applications manifest fields when showing native app banners (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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 ff2c8b39fc9cf0c5cb3d1c46a972e1d3ba114dd3..829b0b019296829cc6feabd9b4eaf49d56749ae7 100644
--- a/chrome/browser/android/banners/app_banner_manager_android.cc
+++ b/chrome/browser/android/banners/app_banner_manager_android.cc
@@ -21,7 +21,7 @@ using base::android::ConvertUTF8ToJavaString;
using base::android::ConvertUTF16ToJavaString;
namespace {
-const char kBannerTag[] = "google-play-id";
+const char kPlayPlatform[] = "play";
} // anonymous namespace
namespace banners {
@@ -48,49 +48,11 @@ void AppBannerManagerAndroid::ReplaceWebContents(JNIEnv* env,
AppBannerManager::ReplaceWebContents(web_contents);
}
-bool AppBannerManagerAndroid::OnMessageReceived(
- const IPC::Message& message) {
- bool handled = true;
- IPC_BEGIN_MESSAGE_MAP(AppBannerManagerAndroid, message)
- IPC_MESSAGE_HANDLER(ChromeViewHostMsg_DidRetrieveMetaTagContent,
- OnDidRetrieveMetaTagContent)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP()
- return handled;
-}
-
-bool AppBannerManagerAndroid::OnInvalidManifest(AppBannerDataFetcher* fetcher) {
- DCHECK(data_fetcher() == fetcher);
- if (web_contents()->IsBeingDestroyed()) {
+bool AppBannerManagerAndroid::HandleNonWebApp(const std::string& platform,
+ const GURL& url,
+ const std::string& id) {
+ if (platform != kPlayPlatform || id.empty())
return false;
- }
-
- Send(new ChromeViewMsg_RetrieveMetaTagContent(routing_id(),
- fetcher->validated_url(),
- kBannerTag));
- return true;
-}
-
-AppBannerDataFetcher* AppBannerManagerAndroid::CreateAppBannerDataFetcher(
- base::WeakPtr<Delegate> weak_delegate,
- const int ideal_icon_size) {
- return new AppBannerDataFetcherAndroid(web_contents(), weak_delegate,
- ideal_icon_size);
-}
-
-void AppBannerManagerAndroid::OnDidRetrieveMetaTagContent(
- bool success,
- const std::string& tag_name,
- const std::string& tag_content,
- const GURL& expected_url) {
- DCHECK(web_contents());
- if (!success
- || tag_name != kBannerTag
- || !data_fetcher()
- || data_fetcher()->validated_url() != expected_url
- || tag_content.size() >= chrome::kMaxMetaTagAttributeLength) {
- return;
- }
banners::TrackDisplayEvent(DISPLAY_EVENT_BANNER_REQUESTED);
@@ -98,14 +60,22 @@ void AppBannerManagerAndroid::OnDidRetrieveMetaTagContent(
JNIEnv* env = base::android::AttachCurrentThread();
ScopedJavaLocalRef<jobject> jobj = weak_java_banner_view_manager_.get(env);
if (jobj.is_null())
- return;
+ return false;
ScopedJavaLocalRef<jstring> jurl(
- ConvertUTF8ToJavaString(env, expected_url.spec()));
+ ConvertUTF8ToJavaString(env, data_fetcher()->validated_url().spec()));
ScopedJavaLocalRef<jstring> jpackage(
- ConvertUTF8ToJavaString(env, tag_content));
+ ConvertUTF8ToJavaString(env, id));
Java_AppBannerManager_fetchAppDetails(
env, jobj.obj(), jurl.obj(), jpackage.obj(), ideal_icon_size());
+ return true;
+}
+
+AppBannerDataFetcher* AppBannerManagerAndroid::CreateAppBannerDataFetcher(
+ base::WeakPtr<Delegate> weak_delegate,
+ const int ideal_icon_size) {
+ return new AppBannerDataFetcherAndroid(web_contents(), weak_delegate,
+ ideal_icon_size);
}
bool AppBannerManagerAndroid::OnAppDetailsRetrieved(JNIEnv* env,
« no previous file with comments | « chrome/browser/android/banners/app_banner_manager_android.h ('k') | chrome/browser/banners/app_banner_data_fetcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698