Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4281)

Unified Diff: chrome/browser/instant/instant_io_context.h

Issue 12732005: Most visited thumbnails and favicons need id-based urls (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address estade's comments. Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/instant/instant_controller.cc ('k') | chrome/browser/instant/instant_io_context.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/instant/instant_io_context.h
diff --git a/chrome/browser/instant/instant_io_context.h b/chrome/browser/instant/instant_io_context.h
index 26b9a562a9c3ed5b0e1ad6a49d50a68c515acc3f..99b805ce20e295c7cb3455d823faa8de458afe8f 100644
--- a/chrome/browser/instant/instant_io_context.h
+++ b/chrome/browser/instant/instant_io_context.h
@@ -5,11 +5,15 @@
#ifndef CHROME_BROWSER_INSTANT_INSTANT_IO_CONTEXT_
#define CHROME_BROWSER_INSTANT_INSTANT_IO_CONTEXT_
+#include <map>
#include <set>
+#include <vector>
#include "base/basictypes.h"
#include "base/memory/ref_counted.h"
+class GURL;
+
namespace content {
class ResourceContext;
}
@@ -46,10 +50,28 @@ class InstantIOContext : public base::RefCountedThreadSafe<InstantIOContext> {
static void ClearInstantProcessesOnIO(
scoped_refptr<InstantIOContext> instant_io_context);
+ // Associates the |most_visited_item_id| with the |url|.
+ static void AddMostVisitedItemIDOnIO(
+ scoped_refptr<InstantIOContext> instant_io_context,
+ uint64 most_visited_item_id, const GURL& url);
+
+ // Deletes the Most Visited item IDs contained in |deleted_ids| from the url
+ // mapping. If |all_history| is true, then ignores |deleted_ids| and
+ // deletes all mappings.
+ static void DeleteMostVisitedURLsOnIO(
+ scoped_refptr<InstantIOContext> instant_io_context,
+ std::vector<uint64> deleted_ids, bool all_history);
+
// Determine if this chrome-search: request is coming from an Instant render
// process.
static bool ShouldServiceRequest(const net::URLRequest* request);
+ // Returns true if the |most_visited_item_id| is known, and |url| is set.
+ // Returns false otherwise.
+ static bool GetURLForMostVisitedItemId(
+ const net::URLRequest* request,
+ uint64 most_visited_item_id, GURL* url);
+
protected:
virtual ~InstantIOContext();
@@ -60,11 +82,18 @@ class InstantIOContext : public base::RefCountedThreadSafe<InstantIOContext> {
// |process_ids_|.
bool IsInstantProcess(int process_id) const;
+ bool GetURLForMostVisitedItemId(uint64 most_visited_item_id, GURL* url);
+
// The process IDs associated with Instant processes. Mirror of the process
// IDs in InstantService. Duplicated here for synchronous access on the IO
// thread.
std::set<int> process_ids_;
+ // The Most Visited item IDs map associated with Instant processes. Mirror of
+ // the Most Visited item ID map in InstantService. Duplicated here for
+ // synchronous access on the IO thread.
+ std::map<uint64, GURL> most_visited_item_id_to_url_map_;
+
DISALLOW_COPY_AND_ASSIGN(InstantIOContext);
};
« no previous file with comments | « chrome/browser/instant/instant_controller.cc ('k') | chrome/browser/instant/instant_io_context.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698