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

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

Issue 1608733002: Remove ui/gfx/screen_type_delegate.h (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@metro-mode-4
Patch Set: and another rebase Created 4 years, 11 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_data_fetcher.h" 5 #include "chrome/browser/android/webapps/add_to_homescreen_data_fetcher.h"
6 6
7 #include "base/location.h" 7 #include "base/location.h"
8 #include "base/strings/string16.h" 8 #include "base/strings/string16.h"
9 #include "base/task/cancelable_task_tracker.h" 9 #include "base/task/cancelable_task_tracker.h"
10 #include "chrome/browser/android/offline_pages/offline_page_utils.h" 10 #include "chrome/browser/android/offline_pages/offline_page_utils.h"
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 const content::Manifest& manifest) { 106 const content::Manifest& manifest) {
107 if (!web_contents() || !weak_observer_) return; 107 if (!web_contents() || !weak_observer_) return;
108 108
109 if (!manifest.IsEmpty()) { 109 if (!manifest.IsEmpty()) {
110 content::RecordAction( 110 content::RecordAction(
111 base::UserMetricsAction("webapps.AddShortcut.Manifest")); 111 base::UserMetricsAction("webapps.AddShortcut.Manifest"));
112 shortcut_info_.UpdateFromManifest(manifest); 112 shortcut_info_.UpdateFromManifest(manifest);
113 } 113 }
114 114
115 GURL icon_src = ManifestIconSelector::FindBestMatchingIcon( 115 GURL icon_src = ManifestIconSelector::FindBestMatchingIcon(
116 manifest.icons, 116 manifest.icons, ideal_icon_size_in_dp_, minimum_icon_size_in_dp_);
117 ideal_icon_size_in_dp_,
118 minimum_icon_size_in_dp_,
119 gfx::Screen::GetScreenFor(web_contents()->GetNativeView()));
120 117
121 // If fetching the Manifest icon fails, fallback to the best favicon 118 // If fetching the Manifest icon fails, fallback to the best favicon
122 // for the page. 119 // for the page.
123 if (!ManifestIconDownloader::Download( 120 if (!ManifestIconDownloader::Download(
124 web_contents(), 121 web_contents(),
125 icon_src, 122 icon_src,
126 ideal_icon_size_in_dp_, 123 ideal_icon_size_in_dp_,
127 minimum_icon_size_in_dp_, 124 minimum_icon_size_in_dp_,
128 base::Bind(&AddToHomescreenDataFetcher::OnManifestIconFetched, 125 base::Bind(&AddToHomescreenDataFetcher::OnManifestIconFetched,
129 this))) { 126 this))) {
130 FetchFavicon(); 127 FetchFavicon();
131 } 128 }
132 129
133 // Save the splash screen URL for the later download. 130 // Save the splash screen URL for the later download.
134 splash_screen_url_ = ManifestIconSelector::FindBestMatchingIcon( 131 splash_screen_url_ = ManifestIconSelector::FindBestMatchingIcon(
135 manifest.icons, 132 manifest.icons, ideal_splash_image_size_in_dp_,
136 ideal_splash_image_size_in_dp_, 133 minimum_splash_image_size_in_dp_);
137 minimum_splash_image_size_in_dp_,
138 gfx::Screen::GetScreenFor(web_contents()->GetNativeView()));
139 134
140 weak_observer_->OnUserTitleAvailable(shortcut_info_.user_title); 135 weak_observer_->OnUserTitleAvailable(shortcut_info_.user_title);
141 136
142 // Kick off a timeout for downloading the icon. If an icon isn't set within 137 // Kick off a timeout for downloading the icon. If an icon isn't set within
143 // the timeout, fall back to using a dynamically-generated launcher icon. 138 // the timeout, fall back to using a dynamically-generated launcher icon.
144 icon_timeout_timer_.Start(FROM_HERE, 139 icon_timeout_timer_.Start(FROM_HERE,
145 base::TimeDelta::FromMilliseconds(3000), 140 base::TimeDelta::FromMilliseconds(3000),
146 base::Bind( 141 base::Bind(
147 &AddToHomescreenDataFetcher::OnFaviconFetched, 142 &AddToHomescreenDataFetcher::OnFaviconFetched,
148 this, 143 this,
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 std::vector<int> icon_types; 185 std::vector<int> icon_types;
191 icon_types.push_back(favicon_base::FAVICON); 186 icon_types.push_back(favicon_base::FAVICON);
192 icon_types.push_back(favicon_base::TOUCH_PRECOMPOSED_ICON | 187 icon_types.push_back(favicon_base::TOUCH_PRECOMPOSED_ICON |
193 favicon_base::TOUCH_ICON); 188 favicon_base::TOUCH_ICON);
194 favicon::FaviconService* favicon_service = 189 favicon::FaviconService* favicon_service =
195 FaviconServiceFactory::GetForProfile(profile, 190 FaviconServiceFactory::GetForProfile(profile,
196 ServiceAccessType::EXPLICIT_ACCESS); 191 ServiceAccessType::EXPLICIT_ACCESS);
197 192
198 // Using favicon if its size is not smaller than platform required size, 193 // Using favicon if its size is not smaller than platform required size,
199 // otherwise using the largest icon among all avaliable icons. 194 // otherwise using the largest icon among all avaliable icons.
200 int ideal_icon_size_in_px = ideal_icon_size_in_dp_ * 195 int ideal_icon_size_in_px =
201 gfx::Screen::GetScreenFor(web_contents()->GetNativeView())-> 196 ideal_icon_size_in_dp_ *
202 GetPrimaryDisplay().device_scale_factor(); 197 gfx::Screen::GetScreen()->GetPrimaryDisplay().device_scale_factor();
203 int threshold_to_get_any_largest_icon = ideal_icon_size_in_px - 1; 198 int threshold_to_get_any_largest_icon = ideal_icon_size_in_px - 1;
204 favicon_service->GetLargestRawFaviconForPageURL( 199 favicon_service->GetLargestRawFaviconForPageURL(
205 shortcut_info_.url, 200 shortcut_info_.url,
206 icon_types, 201 icon_types,
207 threshold_to_get_any_largest_icon, 202 threshold_to_get_any_largest_icon,
208 base::Bind(&AddToHomescreenDataFetcher::OnFaviconFetched, this), 203 base::Bind(&AddToHomescreenDataFetcher::OnFaviconFetched, this),
209 &favicon_task_tracker_); 204 &favicon_task_tracker_);
210 } 205 }
211 206
212 void AddToHomescreenDataFetcher::OnFaviconFetched( 207 void AddToHomescreenDataFetcher::OnFaviconFetched(
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 dom_distiller::url_utils::GetOriginalUrlFromDistillerUrl(actual_url); 271 dom_distiller::url_utils::GetOriginalUrlFromDistillerUrl(actual_url);
277 272
278 // If URL points to an offline content, get original URL. 273 // If URL points to an offline content, get original URL.
279 GURL online_url = offline_pages::OfflinePageUtils::GetOnlineURLForOfflineURL( 274 GURL online_url = offline_pages::OfflinePageUtils::GetOnlineURLForOfflineURL(
280 web_contents()->GetBrowserContext(), original_url); 275 web_contents()->GetBrowserContext(), original_url);
281 if (online_url.is_valid()) 276 if (online_url.is_valid())
282 return online_url; 277 return online_url;
283 278
284 return original_url; 279 return original_url;
285 } 280 }
OLDNEW
« no previous file with comments | « chrome/browser/android/banners/app_banner_data_fetcher_android.cc ('k') | chrome/browser/banners/app_banner_data_fetcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698