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

Unified Diff: chrome/browser/installable/installable_manager_browsertest.cc

Issue 2773353002: Make minimum PWA icon size the same accross all device densities
Patch Set: Merge branch 'master' into min_size Created 3 years, 8 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/installable/installable_manager_browsertest.cc
diff --git a/chrome/browser/installable/installable_manager_browsertest.cc b/chrome/browser/installable/installable_manager_browsertest.cc
index f809328ae86c428a862ed8959fa9726de9451997..0b7222b6e544f0eefd478db9e3a370f34e561b2e 100644
--- a/chrome/browser/installable/installable_manager_browsertest.cc
+++ b/chrome/browser/installable/installable_manager_browsertest.cc
@@ -18,8 +18,7 @@ using IconPurpose = content::Manifest::Icon::IconPurpose;
namespace {
-const std::tuple<int, int, IconPurpose> kPrimaryIconParams{144, 144,
- IconPurpose::ANY};
+const std::pair<int, IconPurpose> kPrimaryIconParams{144, IconPurpose::ANY};
InstallableParams GetManifestParams() {
InstallableParams params;
@@ -31,7 +30,6 @@ InstallableParams GetManifestParams() {
InstallableParams GetWebAppParams() {
InstallableParams params = GetManifestParams();
params.ideal_primary_icon_size_in_px = 144;
- params.minimum_primary_icon_size_in_px = 144;
params.check_installable = true;
params.fetch_valid_primary_icon = true;
return params;
@@ -40,7 +38,6 @@ InstallableParams GetWebAppParams() {
InstallableParams GetPrimaryIconParams() {
InstallableParams params = GetManifestParams();
params.ideal_primary_icon_size_in_px = 144;
- params.minimum_primary_icon_size_in_px = 144;
params.fetch_valid_primary_icon = true;
return params;
}
@@ -48,10 +45,8 @@ InstallableParams GetPrimaryIconParams() {
InstallableParams GetPrimaryIconAndBadgeIconParams() {
InstallableParams params = GetManifestParams();
params.ideal_primary_icon_size_in_px = 144;
- params.minimum_primary_icon_size_in_px = 144;
params.fetch_valid_primary_icon = true;
params.ideal_badge_icon_size_in_px = 72;
- params.minimum_badge_icon_size_in_px = 72;
params.fetch_valid_badge_icon = true;
return params;
}
@@ -386,7 +381,6 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
InstallableParams params = GetWebAppParams();
params.ideal_primary_icon_size_in_px = 96;
- params.minimum_primary_icon_size_in_px = 96;
RunInstallableManager(tester.get(), params);
run_loop.Run();
@@ -454,7 +448,6 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest, CheckManifestAndIcon) {
InstallableParams params = GetPrimaryIconAndBadgeIconParams();
params.ideal_badge_icon_size_in_px = 2000;
- params.minimum_badge_icon_size_in_px = 2000;
RunInstallableManager(tester.get(), params);
run_loop.Run();
@@ -706,7 +699,8 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
EXPECT_FALSE(tester->manifest_url().is_empty());
EXPECT_FALSE(tester->manifest().IsEmpty());
EXPECT_TRUE(tester->is_installable());
- EXPECT_FALSE(tester->primary_icon_url().is_empty());
+ EXPECT_EQ(embedded_test_server()->GetURL("/banners/launcher-icon-3x.png"),
+ tester->primary_icon_url());
EXPECT_NE(nullptr, tester->primary_icon());
EXPECT_TRUE(tester->badge_icon_url().is_empty());
EXPECT_EQ(nullptr, tester->badge_icon());
@@ -718,62 +712,18 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
std::unique_ptr<CallbackTester> tester(
new CallbackTester(run_loop.QuitClosure()));
- // Dial up the primary icon size requirements to something that isn't
- // available. This should now fail with NoIconMatchingRequirements.
+ // Change the requested primary icon size. A different primary icon should
+ // be returned.
InstallableParams params = GetWebAppParams();
- params.ideal_primary_icon_size_in_px = 2000;
- params.minimum_primary_icon_size_in_px = 2000;
+ params.ideal_primary_icon_size_in_px = 512;
RunInstallableManager(tester.get(), params);
run_loop.Run();
EXPECT_FALSE(tester->manifest_url().is_empty());
EXPECT_FALSE(tester->manifest().IsEmpty());
EXPECT_TRUE(tester->is_installable());
- EXPECT_TRUE(tester->primary_icon_url().is_empty());
- EXPECT_EQ(nullptr, tester->primary_icon());
- EXPECT_TRUE(tester->badge_icon_url().is_empty());
- EXPECT_EQ(nullptr, tester->badge_icon());
- EXPECT_EQ(NO_ACCEPTABLE_ICON, tester->error_code());
- }
-
- // Navigate and verify the reverse: an overly large primary icon requested
- // first fails, but a smaller primary icon requested second passes.
- {
- base::RunLoop run_loop;
- std::unique_ptr<CallbackTester> tester(
- new CallbackTester(run_loop.QuitClosure()));
-
- // This should fail with NoIconMatchingRequirements.
- InstallableParams params = GetWebAppParams();
- params.ideal_primary_icon_size_in_px = 2000;
- params.minimum_primary_icon_size_in_px = 2000;
- NavigateAndRunInstallableManager(tester.get(), params,
- "/banners/manifest_test_page.html");
- run_loop.Run();
-
- EXPECT_FALSE(tester->manifest_url().is_empty());
- EXPECT_FALSE(tester->manifest().IsEmpty());
- EXPECT_TRUE(tester->is_installable());
- EXPECT_TRUE(tester->primary_icon_url().is_empty());
- EXPECT_EQ(nullptr, tester->primary_icon());
- EXPECT_TRUE(tester->badge_icon_url().is_empty());
- EXPECT_EQ(nullptr, tester->badge_icon());
- EXPECT_EQ(NO_ACCEPTABLE_ICON, tester->error_code());
- }
-
- {
- base::RunLoop run_loop;
- std::unique_ptr<CallbackTester> tester(
- new CallbackTester(run_loop.QuitClosure()));
- RunInstallableManager(tester.get(), GetWebAppParams());
-
- run_loop.Run();
-
- // The smaller primary icon requirements should allow this to pass.
- EXPECT_FALSE(tester->manifest_url().is_empty());
- EXPECT_FALSE(tester->manifest().IsEmpty());
- EXPECT_TRUE(tester->is_installable());
- EXPECT_FALSE(tester->primary_icon_url().is_empty());
+ EXPECT_EQ(embedded_test_server()->GetURL("/banners/image-512px.png"),
+ tester->primary_icon_url());
EXPECT_NE(nullptr, tester->primary_icon());
EXPECT_TRUE(tester->badge_icon_url().is_empty());
EXPECT_EQ(nullptr, tester->badge_icon());

Powered by Google App Engine
This is Rietveld 408576698