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

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

Issue 2778983005: Allow the app banner installability check to run on page load. (Closed)
Patch Set: Address comments Created 3 years, 9 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/browser/installable/installable_metrics.h » ('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 f809328ae86c428a862ed8959fa9726de9451997..17cdb092640ecb05b7400ccf138069d3dcc62aac 100644
--- a/chrome/browser/installable/installable_manager_browsertest.cc
+++ b/chrome/browser/installable/installable_manager_browsertest.cc
@@ -61,7 +61,7 @@ InstallableParams GetPrimaryIconAndBadgeIconParams() {
class CallbackTester {
public:
explicit CallbackTester(base::Closure quit_closure)
- : quit_closure_(quit_closure) { }
+ : quit_closure_(quit_closure) {}
void OnDidFinishInstallableCheck(const InstallableData& data) {
error_code_ = data.error_code;
@@ -200,6 +200,7 @@ class InstallableManagerBrowserTest : public InProcessBrowserTest {
return manager;
}
+ InstallabilityCheckStatus GetStatus() { return GetManager()->page_status_; }
};
IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
@@ -237,6 +238,7 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest, CheckNoManifest) {
EXPECT_EQ(nullptr, tester->badge_icon());
EXPECT_FALSE(tester->is_installable());
EXPECT_EQ(NO_MANIFEST, tester->error_code());
+ EXPECT_EQ(GetStatus(), InstallabilityCheckStatus::NOT_STARTED);
}
IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest, CheckManifest404) {
@@ -245,8 +247,8 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest, CheckManifest404) {
new CallbackTester(run_loop.QuitClosure()));
NavigateAndRunInstallableManager(tester.get(), GetManifestParams(),
- GetURLOfPageWithServiceWorkerAndManifest(
- "/banners/manifest_missing.json"));
+ GetURLOfPageWithServiceWorkerAndManifest(
+ "/banners/manifest_missing.json"));
run_loop.Run();
// The installable manager should return a manifest URL even if it 404s.
@@ -260,6 +262,7 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest, CheckManifest404) {
EXPECT_EQ(nullptr, tester->badge_icon());
EXPECT_FALSE(tester->is_installable());
EXPECT_EQ(MANIFEST_EMPTY, tester->error_code());
+ EXPECT_EQ(GetStatus(), InstallabilityCheckStatus::NOT_STARTED);
}
IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest, CheckManifestOnly) {
@@ -281,6 +284,7 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest, CheckManifestOnly) {
EXPECT_EQ(nullptr, tester->badge_icon());
EXPECT_FALSE(tester->is_installable());
EXPECT_EQ(NO_ERROR_DETECTED, tester->error_code());
+ EXPECT_EQ(GetStatus(), InstallabilityCheckStatus::NOT_STARTED);
}
IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
@@ -305,6 +309,7 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
EXPECT_EQ(nullptr, tester->badge_icon());
EXPECT_FALSE(tester->is_installable());
EXPECT_EQ(NO_ERROR_DETECTED, tester->error_code());
+ EXPECT_EQ(GetStatus(), InstallabilityCheckStatus::NOT_STARTED);
}
IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
@@ -330,6 +335,7 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
EXPECT_EQ(nullptr, tester->badge_icon());
EXPECT_FALSE(tester->is_installable());
EXPECT_EQ(NO_ERROR_DETECTED, tester->error_code());
+ EXPECT_EQ(GetStatus(), InstallabilityCheckStatus::NOT_STARTED);
}
// Ask for a primary icon (but don't navigate). This should fail with
@@ -352,6 +358,7 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
EXPECT_EQ(nullptr, tester->badge_icon());
EXPECT_FALSE(tester->is_installable());
EXPECT_EQ(NO_ACCEPTABLE_ICON, tester->error_code());
+ EXPECT_EQ(GetStatus(), InstallabilityCheckStatus::NOT_STARTED);
}
// Ask for everything except badge icon. This should fail with
@@ -375,6 +382,8 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
EXPECT_EQ(nullptr, tester->badge_icon());
EXPECT_FALSE(tester->is_installable());
EXPECT_EQ(NO_ACCEPTABLE_ICON, tester->error_code());
+ EXPECT_EQ(GetStatus(),
+ InstallabilityCheckStatus::COMPLETE_NON_PROGRESSIVE_WEB_APP);
}
// Ask for a different size primary icon. This should fail with
@@ -400,6 +409,8 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
EXPECT_EQ(nullptr, tester->badge_icon());
EXPECT_FALSE(tester->is_installable());
EXPECT_EQ(START_URL_NOT_VALID, tester->error_code());
+ EXPECT_EQ(GetStatus(),
+ InstallabilityCheckStatus::COMPLETE_NON_PROGRESSIVE_WEB_APP);
}
}
@@ -423,6 +434,7 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest, CheckManifestAndIcon) {
EXPECT_EQ(nullptr, tester->badge_icon());
EXPECT_FALSE(tester->is_installable());
EXPECT_EQ(NO_ERROR_DETECTED, tester->error_code());
+ EXPECT_EQ(GetStatus(), InstallabilityCheckStatus::NOT_STARTED);
}
// Add to homescreen checks for manifest + primary icon + badge icon.
@@ -443,6 +455,7 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest, CheckManifestAndIcon) {
EXPECT_NE(nullptr, tester->badge_icon());
EXPECT_FALSE(tester->is_installable());
EXPECT_EQ(NO_ERROR_DETECTED, tester->error_code());
+ EXPECT_EQ(GetStatus(), InstallabilityCheckStatus::NOT_STARTED);
}
// Request an oversized badge icon. This should fetch only the manifest and
@@ -467,6 +480,7 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest, CheckManifestAndIcon) {
EXPECT_EQ(nullptr, tester->badge_icon());
EXPECT_FALSE(tester->is_installable());
EXPECT_EQ(NO_ERROR_DETECTED, tester->error_code());
+ EXPECT_EQ(GetStatus(), InstallabilityCheckStatus::NOT_STARTED);
}
}
@@ -489,6 +503,8 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest, CheckWebapp) {
EXPECT_TRUE(tester->badge_icon_url().is_empty());
EXPECT_EQ(nullptr, tester->badge_icon());
EXPECT_EQ(NO_ERROR_DETECTED, tester->error_code());
+ EXPECT_EQ(GetStatus(),
+ InstallabilityCheckStatus::COMPLETE_PROGRESSIVE_WEB_APP);
// Verify that the returned state matches manager internal state.
InstallableManager* manager = GetManager();
@@ -523,6 +539,8 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest, CheckWebapp) {
EXPECT_TRUE(tester->badge_icon_url().is_empty());
EXPECT_EQ(nullptr, tester->badge_icon());
EXPECT_EQ(NO_ERROR_DETECTED, tester->error_code());
+ EXPECT_EQ(GetStatus(),
+ InstallabilityCheckStatus::COMPLETE_PROGRESSIVE_WEB_APP);
// Verify that the returned state matches manager internal state.
InstallableManager* manager = GetManager();
@@ -573,6 +591,8 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest, CheckWebappInIframe) {
EXPECT_EQ(nullptr, tester->badge_icon());
EXPECT_FALSE(tester->is_installable());
EXPECT_EQ(NO_MANIFEST, tester->error_code());
+ EXPECT_EQ(GetStatus(),
+ InstallabilityCheckStatus::COMPLETE_NON_PROGRESSIVE_WEB_APP);
}
IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
@@ -597,6 +617,7 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
EXPECT_EQ(nullptr, tester->badge_icon());
EXPECT_FALSE(tester->is_installable());
EXPECT_EQ(NO_ERROR_DETECTED, tester->error_code());
+ EXPECT_EQ(GetStatus(), InstallabilityCheckStatus::NOT_STARTED);
}
// Fetch the full criteria should fail.
@@ -617,6 +638,8 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
EXPECT_EQ(nullptr, tester->badge_icon());
EXPECT_FALSE(tester->is_installable());
EXPECT_EQ(NO_MATCHING_SERVICE_WORKER, tester->error_code());
+ EXPECT_EQ(GetStatus(),
+ InstallabilityCheckStatus::COMPLETE_NON_PROGRESSIVE_WEB_APP);
}
}
@@ -642,6 +665,8 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
EXPECT_EQ(nullptr, tester->badge_icon());
EXPECT_FALSE(tester->is_installable());
EXPECT_EQ(NOT_OFFLINE_CAPABLE, tester->error_code());
+ EXPECT_EQ(GetStatus(),
+ InstallabilityCheckStatus::COMPLETE_NON_PROGRESSIVE_WEB_APP);
}
IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest, CheckDataUrlIcon) {
@@ -665,6 +690,8 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest, CheckDataUrlIcon) {
EXPECT_EQ(nullptr, tester->badge_icon());
EXPECT_TRUE(tester->is_installable());
EXPECT_EQ(NO_ERROR_DETECTED, tester->error_code());
+ EXPECT_EQ(GetStatus(),
+ InstallabilityCheckStatus::COMPLETE_PROGRESSIVE_WEB_APP);
}
IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
@@ -688,6 +715,7 @@ IN_PROC_BROWSER_TEST_F(InstallableManagerBrowserTest,
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,
« no previous file with comments | « chrome/browser/installable/installable_manager.cc ('k') | chrome/browser/installable/installable_metrics.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698