diff options
author | mirandac@chromium.org <mirandac@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-16 20:59:20 +0000 |
---|---|---|
committer | mirandac@chromium.org <mirandac@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-16 20:59:20 +0000 |
commit | ab9a0ca1b40ad4b17eb7d29e6fee0f9bebd67876 (patch) | |
tree | f5f72395beac15adaa77985193a5b6f4de7533f4 | |
parent | bca0e13a7707c1fff05b60f9c58230c7d7c3a13e (diff) | |
download | chromium_src-ab9a0ca1b40ad4b17eb7d29e6fee0f9bebd67876.zip chromium_src-ab9a0ca1b40ad4b17eb7d29e6fee0f9bebd67876.tar.gz chromium_src-ab9a0ca1b40ad4b17eb7d29e6fee0f9bebd67876.tar.bz2 |
Fix the PromoResourceService so that it does not display a promo if data from the server is corrupt.
BUG=76395
TEST=Testers have manual tests.
Review URL: http://codereview.chromium.org/6674029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78431 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/web_resource/promo_resource_service.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/chrome/browser/web_resource/promo_resource_service.cc b/chrome/browser/web_resource/promo_resource_service.cc index bee8645..d318cd5 100644 --- a/chrome/browser/web_resource/promo_resource_service.cc +++ b/chrome/browser/web_resource/promo_resource_service.cc @@ -36,6 +36,7 @@ static const int kMaxTimeSliceHours = 24 * 7 * 4; // Used to determine which build type should be shown a given promo. enum BuildType { + NO_BUILD = 0, DEV_BUILD = 1, BETA_BUILD = 1 << 1, STABLE_BUILD = 1 << 2, @@ -200,10 +201,8 @@ void PromoResourceService::UnpackPromoSignal( prefs_->SetInteger(prefs::kNTPPromoGroupTimeSlice, time_slice_hrs); } else { - // If no time data or bad time data are set, show promo on all - // builds with no time slicing. - prefs_->SetInteger(prefs::kNTPPromoBuild, - DEV_BUILD | BETA_BUILD | STABLE_BUILD); + // If no time data or bad time data are set, do not show promo. + prefs_->SetInteger(prefs::kNTPPromoBuild, NO_BUILD); prefs_->SetInteger(prefs::kNTPPromoGroupTimeSlice, 0); } a_dic->GetString("inproduct", &promo_start_string); @@ -340,6 +339,8 @@ bool CanShowPromo(Profile* profile) { bool is_promo_build = false; if (prefs->HasPrefPath(prefs::kNTPPromoBuild)) { int builds_allowed = prefs->GetInteger(prefs::kNTPPromoBuild); + if (builds_allowed == NO_BUILD) + return false; if (channel == "dev" || channel == "dev-m") { is_promo_build = (DEV_BUILD & builds_allowed) != 0; } else if (channel == "beta" || channel == "beta-m") { |