summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormirandac@chromium.org <mirandac@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-16 20:59:20 +0000
committermirandac@chromium.org <mirandac@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-16 20:59:20 +0000
commitab9a0ca1b40ad4b17eb7d29e6fee0f9bebd67876 (patch)
treef5f72395beac15adaa77985193a5b6f4de7533f4
parentbca0e13a7707c1fff05b60f9c58230c7d7c3a13e (diff)
downloadchromium_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.cc9
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") {