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

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

Issue 2949993002: Don't ignore manifest icons for sites that don't have a service worker. (Closed)
Patch Set: Comments 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
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 13 matching lines...) Expand all
24 #include "content/public/browser/web_contents.h" 24 #include "content/public/browser/web_contents.h"
25 #include "jni/AddToHomescreenManager_jni.h" 25 #include "jni/AddToHomescreenManager_jni.h"
26 #include "mojo/public/cpp/bindings/interface_request.h" 26 #include "mojo/public/cpp/bindings/interface_request.h"
27 #include "services/service_manager/public/cpp/interface_provider.h" 27 #include "services/service_manager/public/cpp/interface_provider.h"
28 #include "third_party/WebKit/public/platform/modules/installation/installation.m ojom.h" 28 #include "third_party/WebKit/public/platform/modules/installation/installation.m ojom.h"
29 #include "ui/gfx/android/java_bitmap.h" 29 #include "ui/gfx/android/java_bitmap.h"
30 30
31 using base::android::JavaParamRef; 31 using base::android::JavaParamRef;
32 using base::android::ScopedJavaLocalRef; 32 using base::android::ScopedJavaLocalRef;
33 33
34 namespace {
35
36 // The length of time to allow the add to homescreen data fetcher to run before
37 // timing out and generating an icon.
38 const int kDataTimeoutInMilliseconds = 4000;
39
40 } // namespace
41
34 jlong InitializeAndStart(JNIEnv* env, 42 jlong InitializeAndStart(JNIEnv* env,
35 const JavaParamRef<jobject>& obj, 43 const JavaParamRef<jobject>& obj,
36 const JavaParamRef<jobject>& java_web_contents) { 44 const JavaParamRef<jobject>& java_web_contents) {
37 content::WebContents* web_contents = 45 content::WebContents* web_contents =
38 content::WebContents::FromJavaWebContents(java_web_contents); 46 content::WebContents::FromJavaWebContents(java_web_contents);
39 AddToHomescreenManager* manager = new AddToHomescreenManager(env, obj); 47 AddToHomescreenManager* manager = new AddToHomescreenManager(env, obj);
40 manager->Start(web_contents); 48 manager->Start(web_contents);
41 return reinterpret_cast<intptr_t>(manager); 49 return reinterpret_cast<intptr_t>(manager);
42 } 50 }
43 51
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 check_webapk_compatible = true; 95 check_webapk_compatible = true;
88 } else { 96 } else {
89 ShowDialog(); 97 ShowDialog();
90 } 98 }
91 99
92 data_fetcher_ = new AddToHomescreenDataFetcher( 100 data_fetcher_ = new AddToHomescreenDataFetcher(
93 web_contents, ShortcutHelper::GetIdealHomescreenIconSizeInPx(), 101 web_contents, ShortcutHelper::GetIdealHomescreenIconSizeInPx(),
94 ShortcutHelper::GetMinimumHomescreenIconSizeInPx(), 102 ShortcutHelper::GetMinimumHomescreenIconSizeInPx(),
95 ShortcutHelper::GetIdealSplashImageSizeInPx(), 103 ShortcutHelper::GetIdealSplashImageSizeInPx(),
96 ShortcutHelper::GetMinimumSplashImageSizeInPx(), 104 ShortcutHelper::GetMinimumSplashImageSizeInPx(),
97 ShortcutHelper::GetIdealBadgeIconSizeInPx(), 105 ShortcutHelper::GetIdealBadgeIconSizeInPx(), kDataTimeoutInMilliseconds,
98 check_webapk_compatible, this); 106 check_webapk_compatible, this);
99 } 107 }
100 108
101 AddToHomescreenManager::~AddToHomescreenManager() { 109 AddToHomescreenManager::~AddToHomescreenManager() {
102 if (data_fetcher_) { 110 if (data_fetcher_) {
103 data_fetcher_->set_weak_observer(nullptr); 111 data_fetcher_->set_weak_observer(nullptr);
104 data_fetcher_ = nullptr; 112 data_fetcher_ = nullptr;
105 } 113 }
106 } 114 }
107 115
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 192
185 SkBitmap AddToHomescreenManager::FinalizeLauncherIconInBackground( 193 SkBitmap AddToHomescreenManager::FinalizeLauncherIconInBackground(
186 const SkBitmap& bitmap, 194 const SkBitmap& bitmap,
187 const GURL& url, 195 const GURL& url,
188 bool* is_generated) { 196 bool* is_generated) {
189 base::ThreadRestrictions::AssertIOAllowed(); 197 base::ThreadRestrictions::AssertIOAllowed();
190 198
191 return ShortcutHelper::FinalizeLauncherIconInBackground(bitmap, url, 199 return ShortcutHelper::FinalizeLauncherIconInBackground(bitmap, url,
192 is_generated); 200 is_generated);
193 } 201 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698