| Index: chrome/browser/predictors/resource_prefetch_predictor_tables.h
 | 
| diff --git a/chrome/browser/predictors/resource_prefetch_predictor_tables.h b/chrome/browser/predictors/resource_prefetch_predictor_tables.h
 | 
| index 7d95b1f9e908ee9acf95627e9cd80d8d1e68347d..ff9c5ea220f9be08f63e4a8f7477c862d644b032 100644
 | 
| --- a/chrome/browser/predictors/resource_prefetch_predictor_tables.h
 | 
| +++ b/chrome/browser/predictors/resource_prefetch_predictor_tables.h
 | 
| @@ -16,6 +16,7 @@
 | 
|  #include "chrome/browser/predictors/predictor_table_base.h"
 | 
|  #include "chrome/browser/predictors/resource_prefetch_common.h"
 | 
|  #include "chrome/browser/predictors/resource_prefetch_predictor.pb.h"
 | 
| +#include "components/precache/core/proto/precache.pb.h"
 | 
|  
 | 
|  namespace sql {
 | 
|  class Statement;
 | 
| @@ -37,17 +38,16 @@ using RedirectStat = RedirectData_RedirectStat;
 | 
|  //  - HostRedirectTable - redirects per host.
 | 
|  class ResourcePrefetchPredictorTables : public PredictorTableBase {
 | 
|   public:
 | 
| -  // Map from primary key to PrefetchData for the key.
 | 
|    typedef std::map<std::string, PrefetchData> PrefetchDataMap;
 | 
| -
 | 
| -  // Map from primary key to RedirectData for the key.
 | 
|    typedef std::map<std::string, RedirectData> RedirectDataMap;
 | 
| +  typedef std::map<std::string, precache::PrecacheManifest> ManifestDataMap;
 | 
|  
 | 
|    // Returns data for all Urls and Hosts.
 | 
|    virtual void GetAllData(PrefetchDataMap* url_data_map,
 | 
|                            PrefetchDataMap* host_data_map,
 | 
|                            RedirectDataMap* url_redirect_data_map,
 | 
| -                          RedirectDataMap* host_redirect_data_map);
 | 
| +                          RedirectDataMap* host_redirect_data_map,
 | 
| +                          ManifestDataMap* manifest_map);
 | 
|  
 | 
|    // Updates data for a Url and a host. If either of the |url_data| or
 | 
|    // |host_data| or |url_redirect_data| or |host_redirect_data| has an empty
 | 
| @@ -60,6 +60,11 @@ class ResourcePrefetchPredictorTables : public PredictorTableBase {
 | 
|                            const RedirectData& url_redirect_data,
 | 
|                            const RedirectData& host_redirect_data);
 | 
|  
 | 
| +  // Updates manifest data for the input |host|.
 | 
| +  virtual void UpdateManifestData(
 | 
| +      const std::string& host,
 | 
| +      const precache::PrecacheManifest& manifest_data);
 | 
| +
 | 
|    // Delete data for the input |urls| and |hosts|.
 | 
|    virtual void DeleteResourceData(const std::vector<std::string>& urls,
 | 
|                                    const std::vector<std::string>& hosts);
 | 
| @@ -76,6 +81,9 @@ class ResourcePrefetchPredictorTables : public PredictorTableBase {
 | 
|    virtual void DeleteSingleRedirectDataPoint(const std::string& key,
 | 
|                                               PrefetchKeyType key_type);
 | 
|  
 | 
| +  // Delete data for the input |hosts|.
 | 
| +  virtual void DeleteManifestData(const std::vector<std::string>& hosts);
 | 
| +
 | 
|    // Deletes all data in all the tables.
 | 
|    virtual void DeleteAllData();
 | 
|  
 | 
| @@ -104,7 +112,7 @@ class ResourcePrefetchPredictorTables : public PredictorTableBase {
 | 
|  
 | 
|   private:
 | 
|    // Represents the type of information that is stored in prefetch database.
 | 
| -  enum class PrefetchDataType { RESOURCE, REDIRECT };
 | 
| +  enum class PrefetchDataType { RESOURCE, REDIRECT, MANIFEST };
 | 
|  
 | 
|    enum class TableOperationType { INSERT, REMOVE };
 | 
|  
 | 
| @@ -116,7 +124,7 @@ class ResourcePrefetchPredictorTables : public PredictorTableBase {
 | 
|  
 | 
|    // Database version. Always increment it when any change is made to the data
 | 
|    // schema (including the .proto).
 | 
| -  static constexpr int kDatabaseVersion = 5;
 | 
| +  static constexpr int kDatabaseVersion = 6;
 | 
|  
 | 
|    // Helper functions below help perform functions on the Url and host table
 | 
|    // using the same code.
 | 
| @@ -124,6 +132,8 @@ class ResourcePrefetchPredictorTables : public PredictorTableBase {
 | 
|                                  PrefetchDataMap* data_map);
 | 
|    void GetAllRedirectDataHelper(PrefetchKeyType key_type,
 | 
|                                  RedirectDataMap* redirect_map);
 | 
| +  void GetAllManifestDataHelper(ManifestDataMap* manifest_map);
 | 
| +
 | 
|    bool UpdateDataHelper(PrefetchKeyType key_type,
 | 
|                          PrefetchDataType data_type,
 | 
|                          const std::string& key,
 | 
| 
 |