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

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

Issue 932263002: [App banners] Stop passing JNI barrier to get icon size (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebasing Created 5 years, 10 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
« no previous file with comments | « chrome/browser/android/banners/app_banner_manager.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/android/banners/app_banner_manager.cc
diff --git a/chrome/browser/android/banners/app_banner_manager.cc b/chrome/browser/android/banners/app_banner_manager.cc
index 5c9b5b78245c0fc08fcc3c4c4abbe68301b0fb26..b3f1f565a84e9d924593074472abcee91177f957 100644
--- a/chrome/browser/android/banners/app_banner_manager.cc
+++ b/chrome/browser/android/banners/app_banner_manager.cc
@@ -91,8 +91,9 @@ void AppBannerManager::BannerBitmapFetcher::OnFetchComplete(
delete this;
}
-AppBannerManager::AppBannerManager(JNIEnv* env, jobject obj)
- : fetcher_(nullptr),
+AppBannerManager::AppBannerManager(JNIEnv* env, jobject obj, int icon_size)
+ : preferred_icon_size_(icon_size),
+ fetcher_(nullptr),
weak_java_banner_view_manager_(env, obj),
weak_factory_(this) {
}
@@ -179,7 +180,7 @@ void AppBannerManager::OnDidCheckHasServiceWorker(bool has_service_worker) {
GURL icon_url =
ManifestIconSelector::FindBestMatchingIcon(
web_app_data_.icons,
- GetPreferredIconSize(),
+ preferred_icon_size_,
gfx::Screen::GetScreenFor(web_contents()->GetNativeView()));
if (icon_url.is_empty())
return;
@@ -300,7 +301,8 @@ void AppBannerManager::OnDidRetrieveMetaTagContent(
Java_AppBannerManager_fetchAppDetails(env,
jobj.obj(),
jurl.obj(),
- jpackage.obj());
+ jpackage.obj(),
+ preferred_icon_size_);
}
bool AppBannerManager::OnAppDetailsRetrieved(JNIEnv* env,
@@ -342,22 +344,13 @@ bool AppBannerManager::FetchIcon(const GURL& image_url) {
return true;
}
-int AppBannerManager::GetPreferredIconSize() {
- JNIEnv* env = base::android::AttachCurrentThread();
- ScopedJavaLocalRef<jobject> jobj = weak_java_banner_view_manager_.get(env);
- if (jobj.is_null())
- return 0;
-
- return Java_AppBannerManager_getPreferredIconSize(env, jobj.obj());
-}
-
// static
base::Time AppBannerManager::GetCurrentTime() {
return base::Time::Now() + gTimeDeltaForTesting;
}
-jlong Init(JNIEnv* env, jobject obj) {
- AppBannerManager* manager = new AppBannerManager(env, obj);
+jlong Init(JNIEnv* env, jobject obj, jint icon_size) {
+ AppBannerManager* manager = new AppBannerManager(env, obj, icon_size);
return reinterpret_cast<intptr_t>(manager);
}
« no previous file with comments | « chrome/browser/android/banners/app_banner_manager.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698