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

Unified Diff: chrome/browser/search/instant_service.cc

Issue 15907006: Rip out browser-side RID caching for most visited items. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 6 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/search/instant_service.h ('k') | chrome/browser/search/search.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/search/instant_service.cc
diff --git a/chrome/browser/search/instant_service.cc b/chrome/browser/search/instant_service.cc
index b1e4ebd28bc0b3c1716b71407300c90b2750c4e7..ccf8c885a79f398e1e5b9fddd4c1820be384928f 100644
--- a/chrome/browser/search/instant_service.cc
+++ b/chrome/browser/search/instant_service.cc
@@ -16,6 +16,7 @@
#include "chrome/browser/search/instant_service_factory.h"
#include "chrome/browser/search/local_ntp_source.h"
#include "chrome/browser/search/most_visited_iframe_source.h"
+#include "chrome/browser/search/search.h"
#include "chrome/browser/search/suggestion_iframe_source.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_instant_controller.h"
@@ -38,7 +39,6 @@ using content::BrowserThread;
InstantService::InstantService(Profile* profile)
: profile_(profile),
- most_visited_item_cache_(kMaxInstantMostVisitedItemCacheSize),
weak_ptr_factory_(this) {
// Stub for unit tests.
if (!BrowserThread::CurrentlyOn(BrowserThread::UI))
@@ -78,52 +78,6 @@ InstantService::InstantService(Profile* profile)
InstantService::~InstantService() {
}
-// static
-const std::string InstantService::MaybeTranslateInstantPathOnUI(
- Profile* profile, const std::string& path) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- InstantService* instant_service =
- InstantServiceFactory::GetForProfile(profile);
- if (!instant_service)
- return path;
-
- InstantRestrictedID restricted_id = 0;
- DCHECK_EQ(sizeof(InstantRestrictedID), sizeof(int));
- if (base::StringToInt(path, &restricted_id)) {
- InstantMostVisitedItem item;
- if (instant_service->GetMostVisitedItemForID(restricted_id, &item))
- return item.url.spec();
- }
- return path;
-}
-
-const std::string InstantService::MaybeTranslateInstantPathOnIO(
- const net::URLRequest* request, const std::string& path) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
-
- InstantRestrictedID restricted_id = 0;
- DCHECK_EQ(sizeof(InstantRestrictedID), sizeof(int));
- if (base::StringToInt(path, &restricted_id)) {
- GURL url;
- if (InstantIOContext::GetURLForMostVisitedItemID(request,
- restricted_id,
- &url)) {
- return url.spec();
- }
- }
- return path;
-}
-
-// static
-bool InstantService::IsInstantPath(const GURL& url) {
- // Strip leading slash.
- std::string path = url.path().substr(1);
-
- // Check that path is of Most Visited item ID form.
- InstantRestrictedID dummy = 0;
- return base::StringToInt(path, &dummy);
-}
-
void InstantService::AddInstantProcess(int process_id) {
process_ids_.insert(process_id);
@@ -140,22 +94,6 @@ bool InstantService::IsInstantProcess(int process_id) const {
return process_ids_.find(process_id) != process_ids_.end();
}
-void InstantService::AddMostVisitedItems(
- const std::vector<InstantMostVisitedItem>& items) {
- most_visited_item_cache_.AddItems(items);
-
- // Post task to the IO thread to copy the data.
- if (instant_io_context_.get()) {
- std::vector<InstantMostVisitedItemIDPair> items;
- most_visited_item_cache_.GetCurrentItems(&items);
- BrowserThread::PostTask(
- BrowserThread::IO, FROM_HERE,
- base::Bind(&InstantIOContext::AddMostVisitedItemsOnIO,
- instant_io_context_,
- items));
- }
-}
-
void InstantService::DeleteMostVisitedItem(const GURL& url) {
history::TopSites* top_sites = profile_->GetTopSites();
if (!top_sites)
@@ -181,8 +119,8 @@ void InstantService::UndoAllMostVisitedDeletions() {
}
void InstantService::GetCurrentMostVisitedItems(
- std::vector<InstantMostVisitedItemIDPair>* items) const {
- most_visited_item_cache_.GetCurrentItems(items);
+ std::vector<InstantMostVisitedItem>* items) const {
+ *items = most_visited_items_;
}
void InstantService::Shutdown() {
@@ -231,13 +169,6 @@ void InstantService::Observe(int type,
}
}
-bool InstantService::GetMostVisitedItemForID(
- InstantRestrictedID most_visited_item_id,
- InstantMostVisitedItem* item) const {
- return most_visited_item_cache_.GetItemWithRestrictedID(
- most_visited_item_id, item);
-}
-
void InstantService::OnMostVisitedItemsReceived(
const history::MostVisitedURLList& data) {
// Android doesn't use Browser/BrowserList. Do nothing for Android platform.
@@ -245,15 +176,20 @@ void InstantService::OnMostVisitedItemsReceived(
history::MostVisitedURLList reordered_data(data);
history::TopSites::MaybeShuffle(&reordered_data);
- std::vector<InstantMostVisitedItem> most_visited_items;
+ std::vector<InstantMostVisitedItem> new_most_visited_items;
for (size_t i = 0; i < reordered_data.size(); i++) {
const history::MostVisitedURL& url = reordered_data[i];
InstantMostVisitedItem item;
item.url = url.url;
item.title = url.title;
- most_visited_items.push_back(item);
+ new_most_visited_items.push_back(item);
}
- AddMostVisitedItems(most_visited_items);
+ if (chrome::AreMostVisitedItemsEqual(new_most_visited_items,
+ most_visited_items_)) {
+ return;
+ }
+
+ most_visited_items_ = new_most_visited_items;
const BrowserList* browser_list =
BrowserList::GetInstance(chrome::GetActiveDesktop());
« no previous file with comments | « chrome/browser/search/instant_service.h ('k') | chrome/browser/search/search.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698