| Index: ios/chrome/browser/ui/ntp/notification_promo_whats_new.mm
|
| diff --git a/ios/chrome/browser/ui/ntp/notification_promo_whats_new.mm b/ios/chrome/browser/ui/ntp/notification_promo_whats_new.mm
|
| index 2828c7980836750a96a8152376c65ca1a471eb29..e47479fa9c9c7b34ade4a3a8679ae0ba30ced885 100644
|
| --- a/ios/chrome/browser/ui/ntp/notification_promo_whats_new.mm
|
| +++ b/ios/chrome/browser/ui/ntp/notification_promo_whats_new.mm
|
| @@ -42,13 +42,13 @@ const PromoStringToIdsMapEntry kPromoStringToIdsMap[] = {
|
| };
|
|
|
| // Returns a localized version of |promo_text| if it has an entry in the
|
| -// |kPromoStringToIdsMap|. If there is no entry, |promo_text| is returned.
|
| +// |kPromoStringToIdsMap|. If there is no entry, an empty string is returned.
|
| std::string GetLocalizedPromoText(const std::string& promo_text) {
|
| for (size_t i = 0; i < arraysize(kPromoStringToIdsMap); ++i) {
|
| if (kPromoStringToIdsMap[i].promo_text_str == promo_text)
|
| return l10n_util::GetStringUTF8(kPromoStringToIdsMap[i].message_id);
|
| }
|
| - return promo_text;
|
| + return std::string();
|
| }
|
|
|
| } // namespace
|
| @@ -141,12 +141,6 @@ bool NotificationPromoWhatsNew::CanShow() const {
|
| }
|
| }
|
|
|
| - if (promo_name_ == "WKWVGotFasterPromo") {
|
| - // Promo is not relevant anymore: It was shown during the migration to the
|
| - // WKWebview.
|
| - return false;
|
| - }
|
| -
|
| return true;
|
| }
|
|
|
| @@ -195,21 +189,23 @@ WhatsNewIcon NotificationPromoWhatsNew::ParseIconName(
|
| bool NotificationPromoWhatsNew::InitFromNotificationPromo() {
|
| valid_ = false;
|
|
|
| - notification_promo_.promo_payload()->GetString("promo_type", &promo_type_);
|
| - notification_promo_.promo_payload()->GetString("metric_name", &metric_name_);
|
| promo_text_ = GetLocalizedPromoText(notification_promo_.promo_text());
|
| + if (promo_text_.empty())
|
| + return valid_;
|
| +
|
| + notification_promo_.promo_payload()->GetString("metric_name", &metric_name_);
|
| + if (metric_name_.empty())
|
| + return valid_;
|
|
|
| + notification_promo_.promo_payload()->GetString("promo_type", &promo_type_);
|
| if (IsURLPromo()) {
|
| std::string url_text;
|
| notification_promo_.promo_payload()->GetString("url", &url_text);
|
| url_ = GURL(url_text);
|
| if (url_.is_empty() || !url_.is_valid()) {
|
| - valid_ = false;
|
| return valid_;
|
| }
|
| - }
|
| -
|
| - if (IsChromeCommand()) {
|
| + } else if (IsChromeCommand()) {
|
| std::string command;
|
| notification_promo_.promo_payload()->GetString("command", &command);
|
| if (command == "bookmark") {
|
| @@ -217,20 +213,19 @@ bool NotificationPromoWhatsNew::InitFromNotificationPromo() {
|
| } else if (command == "ratethisapp") {
|
| command_id_ = IDC_RATE_THIS_APP;
|
| } else {
|
| - valid_ = false;
|
| return valid_;
|
| }
|
| + } else { // If |promo_type_| is not set to URL or Command, return early.
|
| + return valid_;
|
| }
|
|
|
| - valid_ =
|
| - !metric_name_.empty() && !promo_type_.empty() && !promo_text_.empty();
|
| + valid_ = true;
|
|
|
| - notification_promo_.promo_payload()->GetString("promo_name", &promo_name_);
|
| + // Optional values don't need validation.
|
| std::string icon_name;
|
| notification_promo_.promo_payload()->GetString("icon", &icon_name);
|
| icon_ = ParseIconName(icon_name);
|
|
|
| - // Optional values don't need validation.
|
| seconds_since_install_ = 0;
|
| notification_promo_.promo_payload()->GetInteger("seconds_since_install",
|
| &seconds_since_install_);
|
|
|