| 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());
|
|
|