| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/extensions/apps_promo.h" | 5 #include "chrome/browser/extensions/apps_promo.h" |
| 6 | 6 |
| 7 #include "base/base64.h" | 7 #include "base/base64.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
| 10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 165 data.logo = logo_url; | 165 data.logo = logo_url; |
| 166 else | 166 else |
| 167 data.logo = GURL(kDefaultLogo); | 167 data.logo = GURL(kDefaultLogo); |
| 168 | 168 |
| 169 return data; | 169 return data; |
| 170 } | 170 } |
| 171 | 171 |
| 172 // static | 172 // static |
| 173 void AppsPromo::SetPromo(const AppsPromo::PromoData& data) { | 173 void AppsPromo::SetPromo(const AppsPromo::PromoData& data) { |
| 174 PrefService* local_state = g_browser_process->local_state(); | 174 PrefService* local_state = g_browser_process->local_state(); |
| 175 std::string empty; |
| 175 local_state->SetString(prefs::kNtpWebStorePromoId, data.id); | 176 local_state->SetString(prefs::kNtpWebStorePromoId, data.id); |
| 176 local_state->SetString(prefs::kNtpWebStorePromoButton, data.button); | 177 local_state->SetString(prefs::kNtpWebStorePromoButton, data.button); |
| 177 local_state->SetString(prefs::kNtpWebStorePromoHeader, data.header); | 178 local_state->SetString(prefs::kNtpWebStorePromoHeader, data.header); |
| 178 local_state->SetString(prefs::kNtpWebStorePromoLink, data.link.spec()); | 179 local_state->SetString(prefs::kNtpWebStorePromoLink, |
| 179 local_state->SetString(prefs::kNtpWebStorePromoLogo, data.logo.spec()); | 180 data.link.is_valid() ? data.link.spec() : empty); |
| 181 local_state->SetString(prefs::kNtpWebStorePromoLogo, |
| 182 data.logo.is_valid() ? data.logo.spec() : empty); |
| 180 local_state->SetString(prefs::kNtpWebStorePromoExpire, data.expire); | 183 local_state->SetString(prefs::kNtpWebStorePromoExpire, data.expire); |
| 181 local_state->SetInteger(prefs::kNtpWebStorePromoUserGroup, data.user_group); | 184 local_state->SetInteger(prefs::kNtpWebStorePromoUserGroup, data.user_group); |
| 182 } | 185 } |
| 183 | 186 |
| 184 // static | 187 // static |
| 185 GURL AppsPromo::GetSourcePromoLogoURL() { | 188 GURL AppsPromo::GetSourcePromoLogoURL() { |
| 186 return GURL(GetStringPref(prefs::kNtpWebStorePromoLogoSource, "")); | 189 return GURL(GetStringPref(prefs::kNtpWebStorePromoLogoSource, "")); |
| 187 } | 190 } |
| 188 | 191 |
| 189 // static | 192 // static |
| 190 void AppsPromo::SetSourcePromoLogoURL(const GURL& logo_source) { | 193 void AppsPromo::SetSourcePromoLogoURL(const GURL& logo_source) { |
| 191 PrefService* local_state = g_browser_process->local_state(); | 194 PrefService* local_state = g_browser_process->local_state();\ |
| 195 std::string empty; |
| 192 local_state->SetString(prefs::kNtpWebStorePromoLogoSource, | 196 local_state->SetString(prefs::kNtpWebStorePromoLogoSource, |
| 193 logo_source.spec()); | 197 logo_source.is_valid() ? logo_source.spec() : empty); |
| 194 } | 198 } |
| 195 | 199 |
| 196 AppsPromo::AppsPromo(PrefService* prefs) | 200 AppsPromo::AppsPromo(PrefService* prefs) |
| 197 : prefs_(prefs) { | 201 : prefs_(prefs) { |
| 198 // Poppit, Entanglement | 202 // Poppit, Entanglement |
| 199 old_default_app_ids_.insert("mcbkbpnkkkipelfledbfocopglifcfmi"); | 203 old_default_app_ids_.insert("mcbkbpnkkkipelfledbfocopglifcfmi"); |
| 200 old_default_app_ids_.insert("aciahcmjmecflokailenpkdchphgkefd"); | 204 old_default_app_ids_.insert("aciahcmjmecflokailenpkdchphgkefd"); |
| 201 } | 205 } |
| 202 | 206 |
| 203 AppsPromo::~AppsPromo() {} | 207 AppsPromo::~AppsPromo() {} |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 376 content::NotificationService::current()->Notify( | 380 content::NotificationService::current()->Notify( |
| 377 chrome::NOTIFICATION_WEB_STORE_PROMO_LOADED, | 381 chrome::NOTIFICATION_WEB_STORE_PROMO_LOADED, |
| 378 content::Source<Profile>(profile_), | 382 content::Source<Profile>(profile_), |
| 379 content::NotificationService::NoDetails()); | 383 content::NotificationService::NoDetails()); |
| 380 } | 384 } |
| 381 | 385 |
| 382 bool AppsPromoLogoFetcher::SupportsLogoURL() { | 386 bool AppsPromoLogoFetcher::SupportsLogoURL() { |
| 383 URLPattern allowed_urls(URLPattern::SCHEME_HTTPS, kValidLogoPattern); | 387 URLPattern allowed_urls(URLPattern::SCHEME_HTTPS, kValidLogoPattern); |
| 384 return allowed_urls.MatchesURL(promo_data_.logo); | 388 return allowed_urls.MatchesURL(promo_data_.logo); |
| 385 } | 389 } |
| OLD | NEW |