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

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

Issue 2791923005: Fails InstallableManager if a selected badge icon cannot be fetched. (Closed)
Patch Set: Addressing comments 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
« no previous file with comments | « chrome/browser/installable/installable_manager.cc ('k') | chrome/test/data/banners/manifest_bad_badge.json » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 17cdb092640ecb05b7400ccf138069d3dcc62aac..6240ceb8d0da5c43102efa3332b45342cda65bdb 100644
--- a/chrome/browser/installable/installable_manager_browsertest.cc
+++ b/chrome/browser/installable/installable_manager_browsertest.cc
@@ -482,6 +482,31 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest, CheckManifestAndIcon) {
EXPECT_EQ(NO_ERROR_DETECTED, tester->error_code());
EXPECT_EQ(GetStatus(), InstallabilityCheckStatus::NOT_STARTED);
}
+
+ // Navigate to a page with a bad badge icon. This should now fail with
+ // NO_ICON_AVAILABLE, but still have the manifest and primary icon.
+ {
+ base::RunLoop run_loop;
+ std::unique_ptr<CallbackTester> tester(
+ new CallbackTester(run_loop.QuitClosure()));
+
+ NavigateAndRunInstallableManager(tester.get(),
+ GetPrimaryIconAndBadgeIconParams(),
+ GetURLOfPageWithServiceWorkerAndManifest(
+ "/banners/manifest_bad_badge.json"));
+ run_loop.Run();
+
+ EXPECT_FALSE(tester->manifest().IsEmpty());
+ EXPECT_FALSE(tester->manifest_url().is_empty());
+
+ EXPECT_FALSE(tester->primary_icon_url().is_empty());
+ EXPECT_NE(nullptr, tester->primary_icon());
+ EXPECT_TRUE(tester->badge_icon_url().is_empty());
+ EXPECT_EQ(nullptr, tester->badge_icon());
+ EXPECT_FALSE(tester->is_installable());
+ EXPECT_EQ(NO_ICON_AVAILABLE, tester->error_code());
+ EXPECT_EQ(GetStatus(), InstallabilityCheckStatus::NOT_STARTED);
+ }
}
IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest, CheckWebapp) {
@@ -747,7 +772,7 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
new CallbackTester(run_loop.QuitClosure()));
// Dial up the primary icon size requirements to something that isn't
- // available. This should now fail with NoIconMatchingRequirements.
+ // available. This should now fail with NO_ACCEPTABLE_ICON.
InstallableParams params = GetWebAppParams();
params.ideal_primary_icon_size_in_px = 2000;
params.minimum_primary_icon_size_in_px = 2000;
@@ -771,7 +796,7 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
std::unique_ptr<CallbackTester> tester(
new CallbackTester(run_loop.QuitClosure()));
- // This should fail with NoIconMatchingRequirements.
+ // This should fail with NO_ACCEPTABLE_ICON.
InstallableParams params = GetWebAppParams();
params.ideal_primary_icon_size_in_px = 2000;
params.minimum_primary_icon_size_in_px = 2000;
« no previous file with comments | « chrome/browser/installable/installable_manager.cc ('k') | chrome/test/data/banners/manifest_bad_badge.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698