| Index: chrome/browser/predictors/resource_prefetch_predictor.cc
|
| diff --git a/chrome/browser/predictors/resource_prefetch_predictor.cc b/chrome/browser/predictors/resource_prefetch_predictor.cc
|
| index ad3e824f5ea5adadb37ada20bb5fbf40412e3ae5..42a811b969e62d807d18cb72ed71206ae29be14e 100644
|
| --- a/chrome/browser/predictors/resource_prefetch_predictor.cc
|
| +++ b/chrome/browser/predictors/resource_prefetch_predictor.cc
|
| @@ -221,6 +221,22 @@ void ReportPredictionAccuracy(
|
| static_cast<int>(redirect_status), static_cast<int>(RedirectStatus::MAX));
|
| }
|
|
|
| +void RemoveUnknownFieldsFromPrecacheManifest(
|
| + precache::PrecacheManifest* manifest) {
|
| + manifest->mutable_unknown_fields()->clear();
|
| + for (auto& resource : *manifest->mutable_resource())
|
| + resource.mutable_unknown_fields()->clear();
|
| + if (manifest->has_experiments()) {
|
| + manifest->mutable_experiments()->mutable_unknown_fields()->clear();
|
| + for (auto& kv : *manifest->mutable_experiments()
|
| + ->mutable_resources_by_experiment_group()) {
|
| + kv.second.mutable_unknown_fields()->clear();
|
| + }
|
| + }
|
| + if (manifest->has_id())
|
| + manifest->mutable_id()->mutable_unknown_fields()->clear();
|
| +}
|
| +
|
| } // namespace
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| @@ -1466,6 +1482,8 @@ void ResourcePrefetchPredictor::OnManifestFetched(
|
| cache_entry->second = manifest;
|
| }
|
|
|
| + RemoveUnknownFieldsFromPrecacheManifest(&cache_entry->second);
|
| +
|
| BrowserThread::PostTask(
|
| BrowserThread::DB, FROM_HERE,
|
| base::Bind(&ResourcePrefetchPredictorTables::UpdateManifestData, tables_,
|
|
|