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

Side by Side Diff: chrome/browser/android/webapps/add_to_homescreen_manager.cc

Issue 2968693003: [Android Webapps] Make AddToHomescreenDataFetcher easier to test (Closed)
Patch Set: Merge branch 'master' into homescreen_fetcher_weak_ptr2 Created 3 years, 5 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
« no previous file with comments | « chrome/browser/android/webapps/add_to_homescreen_manager.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/webapps/add_to_homescreen_manager.h" 5 #include "chrome/browser/android/webapps/add_to_homescreen_manager.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/location.h" 9 #include "base/location.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 89
90 void AddToHomescreenManager::Start(content::WebContents* web_contents) { 90 void AddToHomescreenManager::Start(content::WebContents* web_contents) {
91 bool check_webapk_compatible = false; 91 bool check_webapk_compatible = false;
92 if (ChromeWebApkHost::CanInstallWebApk() && 92 if (ChromeWebApkHost::CanInstallWebApk() &&
93 InstallableManager::IsContentSecure(web_contents)) { 93 InstallableManager::IsContentSecure(web_contents)) {
94 check_webapk_compatible = true; 94 check_webapk_compatible = true;
95 } else { 95 } else {
96 ShowDialog(); 96 ShowDialog();
97 } 97 }
98 98
99 data_fetcher_ = new AddToHomescreenDataFetcher( 99 data_fetcher_ = base::MakeUnique<AddToHomescreenDataFetcher>(
100 web_contents, ShortcutHelper::GetIdealHomescreenIconSizeInPx(), 100 web_contents, ShortcutHelper::GetIdealHomescreenIconSizeInPx(),
101 ShortcutHelper::GetMinimumHomescreenIconSizeInPx(), 101 ShortcutHelper::GetMinimumHomescreenIconSizeInPx(),
102 ShortcutHelper::GetIdealSplashImageSizeInPx(), 102 ShortcutHelper::GetIdealSplashImageSizeInPx(),
103 ShortcutHelper::GetMinimumSplashImageSizeInPx(), 103 ShortcutHelper::GetMinimumSplashImageSizeInPx(),
104 ShortcutHelper::GetIdealBadgeIconSizeInPx(), kDataTimeoutInMilliseconds, 104 ShortcutHelper::GetIdealBadgeIconSizeInPx(), kDataTimeoutInMilliseconds,
105 check_webapk_compatible, this); 105 check_webapk_compatible, this);
106 } 106 }
107 107
108 AddToHomescreenManager::~AddToHomescreenManager() { 108 AddToHomescreenManager::~AddToHomescreenManager() {}
109 if (data_fetcher_) {
110 data_fetcher_->set_weak_observer(nullptr);
111 data_fetcher_ = nullptr;
112 }
113 }
114 109
115 void AddToHomescreenManager::ShowDialog() { 110 void AddToHomescreenManager::ShowDialog() {
116 JNIEnv* env = base::android::AttachCurrentThread(); 111 JNIEnv* env = base::android::AttachCurrentThread();
117 Java_AddToHomescreenManager_showDialog(env, java_ref_); 112 Java_AddToHomescreenManager_showDialog(env, java_ref_);
118 } 113 }
119 114
120 void AddToHomescreenManager::RecordAddToHomescreen() { 115 void AddToHomescreenManager::RecordAddToHomescreen() {
121 // Record that the shortcut has been added, so no banners will be shown 116 // Record that the shortcut has been added, so no banners will be shown
122 // for this app. 117 // for this app.
123 content::WebContents* web_contents = data_fetcher_->web_contents(); 118 content::WebContents* web_contents = data_fetcher_->web_contents();
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 const SkBitmap& badge_icon) { 176 const SkBitmap& badge_icon) {
182 content::WebContents* web_contents = data_fetcher_->web_contents(); 177 content::WebContents* web_contents = data_fetcher_->web_contents();
183 banners::AppBannerManagerAndroid* app_banner_manager = 178 banners::AppBannerManagerAndroid* app_banner_manager =
184 banners::AppBannerManagerAndroid::FromWebContents(web_contents); 179 banners::AppBannerManagerAndroid::FromWebContents(web_contents);
185 banners::AppBannerInfoBarDelegateAndroid::Create( 180 banners::AppBannerInfoBarDelegateAndroid::Create(
186 web_contents, app_banner_manager->GetWeakPtr(), 181 web_contents, app_banner_manager->GetWeakPtr(),
187 base::MakeUnique<ShortcutInfo>(info), primary_icon, badge_icon, 182 base::MakeUnique<ShortcutInfo>(info), primary_icon, badge_icon,
188 -1 /* event_request_id */, true /* is_webapk */, 183 -1 /* event_request_id */, true /* is_webapk */,
189 webapk::INSTALL_SOURCE_MENU); 184 webapk::INSTALL_SOURCE_MENU);
190 } 185 }
191
192 SkBitmap AddToHomescreenManager::FinalizeLauncherIconInBackground(
193 const SkBitmap& bitmap,
194 const GURL& url,
195 bool* is_generated) {
196 base::ThreadRestrictions::AssertIOAllowed();
197
198 return ShortcutHelper::FinalizeLauncherIconInBackground(bitmap, url,
199 is_generated);
200 }
OLDNEW
« no previous file with comments | « chrome/browser/android/webapps/add_to_homescreen_manager.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698