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

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

Issue 2724723002: [WebAPKs]: Reduce the parameters of ShortcutHelper::AddToLauncherWithSkBitmap() (Closed)
Patch Set: Merge branch 'master' into refactor_shortcut_helper2 Created 3 years, 9 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 <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/android/jni_android.h" 10 #include "base/android/jni_android.h"
(...skipping 29 matching lines...) Expand all
40 const GURL& manifest_url, 40 const GURL& manifest_url,
41 const content::Manifest& manifest, 41 const content::Manifest& manifest,
42 const GURL& icon_url) { 42 const GURL& icon_url) {
43 auto shortcut_info = base::MakeUnique<ShortcutInfo>(GURL()); 43 auto shortcut_info = base::MakeUnique<ShortcutInfo>(GURL());
44 if (!manifest.IsEmpty()) { 44 if (!manifest.IsEmpty()) {
45 shortcut_info->UpdateFromManifest(manifest); 45 shortcut_info->UpdateFromManifest(manifest);
46 shortcut_info->manifest_url = manifest_url; 46 shortcut_info->manifest_url = manifest_url;
47 shortcut_info->best_primary_icon_url = icon_url; 47 shortcut_info->best_primary_icon_url = icon_url;
48 shortcut_info->UpdateSource(ShortcutInfo::SOURCE_APP_BANNER); 48 shortcut_info->UpdateSource(ShortcutInfo::SOURCE_APP_BANNER);
49 } 49 }
50
51 shortcut_info->ideal_splash_image_size_in_px =
52 ShortcutHelper::GetIdealSplashImageSizeInPx();
53 shortcut_info->minimum_splash_image_size_in_px =
54 ShortcutHelper::GetMinimumSplashImageSizeInPx();
55 shortcut_info->splash_image_url = ManifestIconSelector::FindBestMatchingIcon(
56 manifest.icons, shortcut_info->ideal_splash_image_size_in_px,
57 shortcut_info->minimum_splash_image_size_in_px,
58 content::Manifest::Icon::IconPurpose::ANY);
59
50 return shortcut_info; 60 return shortcut_info;
51 } 61 }
52 62
53 } // anonymous namespace 63 } // anonymous namespace
54 64
55 namespace banners { 65 namespace banners {
56 66
57 AppBannerManagerAndroid::AppBannerManagerAndroid( 67 AppBannerManagerAndroid::AppBannerManagerAndroid(
58 content::WebContents* web_contents) 68 content::WebContents* web_contents)
59 : AppBannerManager(web_contents) { 69 : AppBannerManager(web_contents) {
60 can_install_webapk_ = ChromeWebApkHost::CanInstallWebApk(); 70 can_install_webapk_ = ChromeWebApkHost::CanInstallWebApk();
61 CreateJavaBannerManager(); 71 CreateJavaBannerManager();
62 } 72 }
63 73
64 AppBannerManagerAndroid::~AppBannerManagerAndroid() { 74 AppBannerManagerAndroid::~AppBannerManagerAndroid() {
65 JNIEnv* env = base::android::AttachCurrentThread(); 75 JNIEnv* env = base::android::AttachCurrentThread();
66 Java_AppBannerManager_destroy(env, java_banner_manager_); 76 Java_AppBannerManager_destroy(env, java_banner_manager_);
67 java_banner_manager_.Reset(); 77 java_banner_manager_.Reset();
68 } 78 }
69 79
70 base::Closure AppBannerManagerAndroid::FetchWebappSplashScreenImageCallback(
71 const std::string& webapp_id) {
72 content::WebContents* contents = web_contents();
73 DCHECK(contents);
74
75 int ideal_splash_image_size_in_px =
76 ShortcutHelper::GetIdealSplashImageSizeInPx();
77 int minimum_splash_image_size_in_px =
78 ShortcutHelper::GetMinimumSplashImageSizeInPx();
79 GURL image_url = ManifestIconSelector::FindBestMatchingIcon(
80 manifest_.icons, ideal_splash_image_size_in_px,
81 minimum_splash_image_size_in_px,
82 content::Manifest::Icon::IconPurpose::ANY);
83
84 return base::Bind(&ShortcutHelper::FetchSplashScreenImage, contents,
85 image_url, ideal_splash_image_size_in_px,
86 minimum_splash_image_size_in_px, webapp_id);
87 }
88
89 const base::android::ScopedJavaGlobalRef<jobject>& 80 const base::android::ScopedJavaGlobalRef<jobject>&
90 AppBannerManagerAndroid::GetJavaBannerManager() const { 81 AppBannerManagerAndroid::GetJavaBannerManager() const {
91 return java_banner_manager_; 82 return java_banner_manager_;
92 } 83 }
93 84
94 bool AppBannerManagerAndroid::IsActiveForTesting( 85 bool AppBannerManagerAndroid::IsActiveForTesting(
95 JNIEnv* env, 86 JNIEnv* env,
96 const JavaParamRef<jobject>& obj) { 87 const JavaParamRef<jobject>& obj) {
97 return is_active(); 88 return is_active();
98 } 89 }
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 } 356 }
366 357
367 // static 358 // static
368 void SetTotalEngagementToTrigger(JNIEnv* env, 359 void SetTotalEngagementToTrigger(JNIEnv* env,
369 const JavaParamRef<jclass>& clazz, 360 const JavaParamRef<jclass>& clazz,
370 jdouble engagement) { 361 jdouble engagement) {
371 AppBannerSettingsHelper::SetTotalEngagementToTrigger(engagement); 362 AppBannerSettingsHelper::SetTotalEngagementToTrigger(engagement);
372 } 363 }
373 364
374 } // namespace banners 365 } // namespace banners
OLDNEW
« no previous file with comments | « chrome/browser/android/banners/app_banner_manager_android.h ('k') | chrome/browser/android/shortcut_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698