| Index: chrome/browser/web_resource/promo_resource_service.cc
|
| diff --git a/chrome/browser/web_resource/promo_resource_service.cc b/chrome/browser/web_resource/promo_resource_service.cc
|
| index 09b0aee48784886e7b45ad9a3182c98a054dc5d2..1336fd092b0952fd04c0dd3a6eb2e6168c3e8328 100644
|
| --- a/chrome/browser/web_resource/promo_resource_service.cc
|
| +++ b/chrome/browser/web_resource/promo_resource_service.cc
|
| @@ -316,13 +316,9 @@ void PromoResourceService::UnpackWebStoreSignal(
|
|
|
| bool is_webstore_active = false;
|
| bool signal_found = false;
|
| - std::string promo_id = "";
|
| - std::string promo_header = "";
|
| - std::string promo_button = "";
|
| + AppsPromo::PromoData promo_data;
|
| std::string promo_link = "";
|
| - std::string promo_expire = "";
|
| std::string promo_logo = "";
|
| - int maximize_setting = 0;
|
| int target_builds = 0;
|
|
|
| if (!parsed_json.GetDictionary("topic", &topic_dict) ||
|
| @@ -362,24 +358,26 @@ void PromoResourceService::UnpackWebStoreSignal(
|
| name = name.substr(split+1);
|
| split = name.find(':');
|
| if (split == std::string::npos ||
|
| - !base::StringToInt(name.substr(0, split), &maximize_setting))
|
| + !base::StringToInt(name.substr(0, split), &promo_data.user_group))
|
| continue;
|
|
|
| // (4) optional text that specifies a URL of a logo image
|
| promo_logo = name.substr(split+1);
|
|
|
| - if (!a_dic->GetString(kAnswerIdProperty, &promo_id) ||
|
| - !a_dic->GetString(kWebStoreHeaderProperty, &promo_header) ||
|
| - !a_dic->GetString(kWebStoreButtonProperty, &promo_button) ||
|
| + if (!a_dic->GetString(kAnswerIdProperty, &promo_data.id) ||
|
| + !a_dic->GetString(kWebStoreHeaderProperty, &promo_data.header) ||
|
| + !a_dic->GetString(kWebStoreButtonProperty, &promo_data.button) ||
|
| !a_dic->GetString(kWebStoreLinkProperty, &promo_link) ||
|
| - !a_dic->GetString(kWebStoreExpireProperty, &promo_expire))
|
| + !a_dic->GetString(kWebStoreExpireProperty, &promo_data.expire))
|
| continue;
|
|
|
| if (IsThisBuildTargeted(target_builds)) {
|
| - // Store the first web store promo that targets the current build.
|
| - AppsPromo::SetPromo(promo_id, promo_header, promo_button,
|
| - GURL(promo_link), promo_expire, GURL(promo_logo),
|
| - maximize_setting);
|
| + // The downloader will set the promo prefs and send the
|
| + // NOTIFICATION_WEB_STORE_PROMO_LOADED notification.
|
| + promo_data.link = GURL(promo_link);
|
| + promo_data.logo = GURL(promo_logo);
|
| + apps_promo_logo_fetcher_.reset(
|
| + new AppsPromoLogoFetcher(profile_, promo_data));
|
| signal_found = true;
|
| break;
|
| }
|
| @@ -392,11 +390,6 @@ void PromoResourceService::UnpackWebStoreSignal(
|
|
|
| AppsPromo::SetWebStoreSupportedForLocale(is_webstore_active);
|
|
|
| - NotificationService::current()->Notify(
|
| - chrome::NOTIFICATION_WEB_STORE_PROMO_LOADED,
|
| - Source<Profile>(profile_),
|
| - NotificationService::NoDetails());
|
| -
|
| return;
|
| }
|
|
|
|
|