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

Unified Diff: chrome/browser/android/webapps/add_to_homescreen_data_fetcher.cc

Issue 2611623003: Use exact pixel sizes instead of dip in webapp/WebAPK installability code (Closed)
Patch Set: Rebased version of pkotwicz@'s original patch Created 3 years, 12 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
Index: chrome/browser/android/webapps/add_to_homescreen_data_fetcher.cc
diff --git a/chrome/browser/android/webapps/add_to_homescreen_data_fetcher.cc b/chrome/browser/android/webapps/add_to_homescreen_data_fetcher.cc
index 68fc309f1a46944b10ab5eaf7d6e365d7b502a6e..155aadaf37afc4bf508c9f326a18e9e2d27eb3ca 100644
--- a/chrome/browser/android/webapps/add_to_homescreen_data_fetcher.cc
+++ b/chrome/browser/android/webapps/add_to_homescreen_data_fetcher.cc
@@ -29,8 +29,6 @@
#include "content/public/browser/web_contents_observer.h"
#include "content/public/common/manifest.h"
#include "third_party/WebKit/public/platform/modules/screen_orientation/WebScreenOrientationLockType.h"
-#include "ui/display/display.h"
-#include "ui/display/screen.h"
#include "ui/gfx/codec/png_codec.h"
#include "ui/gfx/favicon_size.h"
#include "url/gurl.h"
@@ -45,12 +43,12 @@ GURL GetShortcutUrl(content::BrowserContext* browser_context,
return dom_distiller::url_utils::GetOriginalUrlFromDistillerUrl(actual_url);
}
-InstallableParams ParamsToPerformInstallableCheck(int ideal_icon_size_in_dp,
- int minimum_icon_size_in_dp,
+InstallableParams ParamsToPerformInstallableCheck(int ideal_icon_size_in_px,
+ int minimum_icon_size_in_px,
bool check_installable) {
InstallableParams params;
- params.ideal_icon_size_in_dp = ideal_icon_size_in_dp;
- params.minimum_icon_size_in_dp = minimum_icon_size_in_dp;
+ params.ideal_icon_size_in_px = ideal_icon_size_in_px;
+ params.minimum_icon_size_in_px = minimum_icon_size_in_px;
params.check_installable = check_installable;
params.fetch_valid_icon = true;
return params;
@@ -60,10 +58,10 @@ InstallableParams ParamsToPerformInstallableCheck(int ideal_icon_size_in_dp,
AddToHomescreenDataFetcher::AddToHomescreenDataFetcher(
content::WebContents* web_contents,
- int ideal_icon_size_in_dp,
- int minimum_icon_size_in_dp,
- int ideal_splash_image_size_in_dp,
- int minimum_splash_image_size_in_dp,
+ int ideal_icon_size_in_px,
+ int minimum_icon_size_in_px,
+ int ideal_splash_image_size_in_px,
+ int minimum_splash_image_size_in_px,
bool check_webapk_compatibility,
Observer* observer)
: WebContentsObserver(web_contents),
@@ -71,17 +69,17 @@ AddToHomescreenDataFetcher::AddToHomescreenDataFetcher(
shortcut_info_(GetShortcutUrl(web_contents->GetBrowserContext(),
web_contents->GetLastCommittedURL())),
data_timeout_timer_(false, false),
- ideal_icon_size_in_dp_(ideal_icon_size_in_dp),
- minimum_icon_size_in_dp_(minimum_icon_size_in_dp),
- ideal_splash_image_size_in_dp_(ideal_splash_image_size_in_dp),
- minimum_splash_image_size_in_dp_(minimum_splash_image_size_in_dp),
+ ideal_icon_size_in_px_(ideal_icon_size_in_px),
+ minimum_icon_size_in_px_(minimum_icon_size_in_px),
+ ideal_splash_image_size_in_px_(ideal_splash_image_size_in_px),
+ minimum_splash_image_size_in_px_(minimum_splash_image_size_in_px),
check_webapk_compatibility_(check_webapk_compatibility),
is_waiting_for_web_application_info_(true),
is_installable_check_complete_(false),
is_icon_saved_(false),
is_ready_(false) {
- DCHECK(minimum_icon_size_in_dp <= ideal_icon_size_in_dp);
- DCHECK(minimum_splash_image_size_in_dp <= ideal_splash_image_size_in_dp);
+ DCHECK(minimum_icon_size_in_px <= ideal_icon_size_in_px);
+ DCHECK(minimum_splash_image_size_in_px <= ideal_splash_image_size_in_px);
// Send a message to the renderer to retrieve information about the page.
Send(new ChromeViewMsg_GetWebApplicationInfo(routing_id()));
@@ -90,8 +88,8 @@ AddToHomescreenDataFetcher::AddToHomescreenDataFetcher(
base::Closure AddToHomescreenDataFetcher::FetchSplashScreenImageCallback(
const std::string& webapp_id) {
return base::Bind(&ShortcutHelper::FetchSplashScreenImage, web_contents(),
- splash_screen_url_, ideal_splash_image_size_in_dp_,
- minimum_splash_image_size_in_dp_, webapp_id);
+ splash_screen_url_, ideal_splash_image_size_in_px_,
+ minimum_splash_image_size_in_px_, webapp_id);
}
void AddToHomescreenDataFetcher::OnDidGetWebApplicationInfo(
@@ -145,8 +143,8 @@ void AddToHomescreenDataFetcher::OnDidGetWebApplicationInfo(
base::Bind(&AddToHomescreenDataFetcher::OnDataTimedout, this));
manager->GetData(
- ParamsToPerformInstallableCheck(ideal_icon_size_in_dp_,
- minimum_icon_size_in_dp_,
+ ParamsToPerformInstallableCheck(ideal_icon_size_in_px_,
+ minimum_icon_size_in_px_,
check_webapk_compatibility_),
base::Bind(&AddToHomescreenDataFetcher::OnDidPerformInstallableCheck,
this));
@@ -215,8 +213,8 @@ void AddToHomescreenDataFetcher::OnDidPerformInstallableCheck(
// Save the splash screen URL for the later download.
splash_screen_url_ = ManifestIconSelector::FindBestMatchingIcon(
- data.manifest.icons, ideal_splash_image_size_in_dp_,
- minimum_splash_image_size_in_dp_);
+ data.manifest.icons, ideal_splash_image_size_in_px_,
+ minimum_splash_image_size_in_px_);
weak_observer_->OnUserTitleAvailable(shortcut_info_.user_title);
@@ -248,10 +246,7 @@ void AddToHomescreenDataFetcher::FetchFavicon() {
// Using favicon if its size is not smaller than platform required size,
// otherwise using the largest icon among all avaliable icons.
- int ideal_icon_size_in_px =
- ideal_icon_size_in_dp_ *
- display::Screen::GetScreen()->GetPrimaryDisplay().device_scale_factor();
- int threshold_to_get_any_largest_icon = ideal_icon_size_in_px - 1;
+ int threshold_to_get_any_largest_icon = ideal_icon_size_in_px_ - 1;
favicon_service->GetLargestRawFaviconForPageURL(
shortcut_info_.url, icon_types, threshold_to_get_any_largest_icon,
base::Bind(&AddToHomescreenDataFetcher::OnFaviconFetched, this),

Powered by Google App Engine
This is Rietveld 408576698