| Index: components/search_engines/template_url.cc | 
| diff --git a/components/search_engines/template_url.cc b/components/search_engines/template_url.cc | 
| index 0a457d1632c1795317c6e6722f186e6e48ce5dbc..a65e305599d8622726ace7d5fb47b16b34d8afa1 100644 | 
| --- a/components/search_engines/template_url.cc | 
| +++ b/components/search_engines/template_url.cc | 
| @@ -160,8 +160,18 @@ bool IsTemplateParameterString(const std::string& param) { | 
| (*(param.rbegin()) == kEndParameter); | 
| } | 
|  | 
| -}  // namespace | 
| +// Special case for search_terms_replacement_key comparison, because of | 
| +// its special initialization in TemplateUrl constructor. | 
| +bool SearchTermsReplacementKeysMatch(const std::string& key1, | 
| +                                     const std::string& key2) { | 
| +  const auto IsInstantExtended = [](const std::string& key) { | 
| +    return (key == google_util::kInstantExtendedAPIParam) || | 
| +           (key == google_util::kGoogleInstantExtendedEnabledKeyFull); | 
| +  }; | 
| +  return (key1 == key2) || (IsInstantExtended(key1) && IsInstantExtended(key2)); | 
| +} | 
|  | 
| +}  // namespace | 
|  | 
| // TemplateURLRef::SearchTermsArgs -------------------------------------------- | 
|  | 
| @@ -605,7 +615,7 @@ bool TemplateURLRef::ParseParameter(size_t start, | 
| } else if (parameter == "google:instantExtendedEnabledParameter") { | 
| replacements->push_back(Replacement(GOOGLE_INSTANT_EXTENDED_ENABLED, | 
| start)); | 
| -  } else if (parameter == "google:instantExtendedEnabledKey") { | 
| +  } else if (parameter == google_util::kGoogleInstantExtendedEnabledKey) { | 
| url->insert(start, google_util::kInstantExtendedAPIParam); | 
| } else if (parameter == "google:iOSSearchLanguage") { | 
| replacements->push_back(Replacement(GOOGLE_IOS_SEARCH_LANGUAGE, start)); | 
| @@ -1159,9 +1169,8 @@ TemplateURL::TemplateURL(const TemplateURLData& data, Type type) | 
| SetPrepopulateId(data_.prepopulate_id); | 
|  | 
| if (data_.search_terms_replacement_key == | 
| -      "{google:instantExtendedEnabledKey}") { | 
| +      google_util::kGoogleInstantExtendedEnabledKeyFull) | 
| data_.search_terms_replacement_key = google_util::kInstantExtendedAPIParam; | 
| -  } | 
| } | 
|  | 
| TemplateURL::~TemplateURL() { | 
| @@ -1206,23 +1215,23 @@ bool TemplateURL::MatchesData(const TemplateURL* t_url, | 
| return !t_url && !data; | 
|  | 
| return (t_url->short_name() == data->short_name()) && | 
| -      t_url->HasSameKeywordAs(*data, search_terms_data) && | 
| -      (t_url->url() == data->url()) && | 
| -      (t_url->suggestions_url() == data->suggestions_url) && | 
| -      (t_url->instant_url() == data->instant_url) && | 
| -      (t_url->image_url() == data->image_url) && | 
| -      (t_url->new_tab_url() == data->new_tab_url) && | 
| -      (t_url->search_url_post_params() == data->search_url_post_params) && | 
| -      (t_url->suggestions_url_post_params() == | 
| +         t_url->HasSameKeywordAs(*data, search_terms_data) && | 
| +         (t_url->url() == data->url()) && | 
| +         (t_url->suggestions_url() == data->suggestions_url) && | 
| +         (t_url->instant_url() == data->instant_url) && | 
| +         (t_url->image_url() == data->image_url) && | 
| +         (t_url->new_tab_url() == data->new_tab_url) && | 
| +         (t_url->search_url_post_params() == data->search_url_post_params) && | 
| +         (t_url->suggestions_url_post_params() == | 
| data->suggestions_url_post_params) && | 
| -      (t_url->instant_url_post_params() == data->instant_url_post_params) && | 
| -      (t_url->image_url_post_params() == data->image_url_post_params) && | 
| -      (t_url->favicon_url() == data->favicon_url) && | 
| -      (t_url->safe_for_autoreplace() == data->safe_for_autoreplace) && | 
| -      (t_url->input_encodings() == data->input_encodings) && | 
| -      (t_url->alternate_urls() == data->alternate_urls) && | 
| -      (t_url->search_terms_replacement_key() == | 
| -          data->search_terms_replacement_key); | 
| +         (t_url->instant_url_post_params() == data->instant_url_post_params) && | 
| +         (t_url->image_url_post_params() == data->image_url_post_params) && | 
| +         (t_url->favicon_url() == data->favicon_url) && | 
| +         (t_url->safe_for_autoreplace() == data->safe_for_autoreplace) && | 
| +         (t_url->input_encodings() == data->input_encodings) && | 
| +         (t_url->alternate_urls() == data->alternate_urls) && | 
| +         SearchTermsReplacementKeysMatch(t_url->search_terms_replacement_key(), | 
| +                                         data->search_terms_replacement_key); | 
| } | 
|  | 
| base::string16 TemplateURL::AdjustedShortNameForLocaleDirection() const { | 
|  |