| Index: chrome/browser/search/instant_service.h
|
| diff --git a/chrome/browser/search/instant_service.h b/chrome/browser/search/instant_service.h
|
| index d1c84cae31ecfe7f8ad2f2d8d65f7575d9e6f40c..14738fcae98b47df4870a5aa21875c5f21523254 100644
|
| --- a/chrome/browser/search/instant_service.h
|
| +++ b/chrome/browser/search/instant_service.h
|
| @@ -13,6 +13,7 @@
|
| #include "base/compiler_specific.h"
|
| #include "base/memory/ref_counted.h"
|
| #include "chrome/browser/profiles/profile_keyed_service.h"
|
| +#include "chrome/common/instant_restricted_id_cache.h"
|
| #include "content/public/browser/notification_observer.h"
|
| #include "content/public/browser/notification_registrar.h"
|
|
|
| @@ -55,18 +56,22 @@ class InstantService : public ProfileKeyedService,
|
| }
|
| #endif
|
|
|
| - // If |url| is known the existing Most Visited item ID is returned. Otherwise
|
| - // a new Most Visited item ID is associated with the |url| and returned.
|
| - uint64 AddURL(const GURL& url);
|
| + // Most visited item API.
|
|
|
| - // If there is a mapping for the |url|, sets |most_visited_item_id| and
|
| - // returns true.
|
| - bool GetMostVisitedItemIDForURL(const GURL& url,
|
| - uint64* most_visited_item_id);
|
| + // Adds |items| to the |most_visited_item_cache_| assigning restricted IDs in
|
| + // the process.
|
| + void AddMostVisitedItems(const std::vector<InstantMostVisitedItem>& items);
|
|
|
| - // If there is a mapping for the |most_visited_item_id|, sets |url| and
|
| - // returns true.
|
| - bool GetURLForMostVisitedItemId(uint64 most_visited_item_id, GURL* url);
|
| + // Returns the last added InstantMostVisitedItems. After the call to
|
| + // |AddMostVisitedItems|, the caller should call this to get the items with
|
| + // the assigned IDs.
|
| + void GetCurrentMostVisitedItems(
|
| + std::vector<InstantMostVisitedItemIDPair>* items) const;
|
| +
|
| + // If the |most_visited_item_id| is found in the cache, sets the |item| to it
|
| + // and returns true.
|
| + bool GetMostVisitedItemForID(InstantRestrictedID most_visited_item_id,
|
| + InstantMostVisitedItem* item) const;
|
|
|
| private:
|
| // Overridden from ProfileKeyedService:
|
| @@ -77,22 +82,13 @@ class InstantService : public ProfileKeyedService,
|
| const content::NotificationSource& source,
|
| const content::NotificationDetails& details) OVERRIDE;
|
|
|
| - // Removes entries of each url in |deleted_urls| from the ID maps. Or all
|
| - // IDs if |all_history| is true. |deleted_ids| is filled with the newly
|
| - // deleted Most Visited item IDs.
|
| - void DeleteHistoryURLs(const std::vector<GURL>& deleted_urls,
|
| - std::vector<uint64>* deleted_ids);
|
| -
|
| Profile* const profile_;
|
|
|
| // The process ids associated with Instant processes.
|
| std::set<int> process_ids_;
|
|
|
| - // A mapping of Most Visited IDs to URLs. Used to hide Most Visited and
|
| - // Favicon URLs from the Instant search provider.
|
| - uint64 last_most_visited_item_id_;
|
| - std::map<uint64, GURL> most_visited_item_id_to_url_map_;
|
| - std::map<GURL, uint64> url_to_most_visited_item_id_map_;
|
| + // A cache of the InstantMostVisitedItems sent to the Instant Pages.
|
| + InstantRestrictedIDCache<InstantMostVisitedItem> most_visited_item_cache_;
|
|
|
| content::NotificationRegistrar registrar_;
|
|
|
|
|