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

Unified Diff: chrome/browser/sync/glue/typed_url_change_processor.cc

Issue 8414043: Refactored TypedUrlChangeProcessor to treat ADD and UPDATE similarly. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Now set the page title in the integration test to ensure it is synced. Created 9 years, 2 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
Index: chrome/browser/sync/glue/typed_url_change_processor.cc
diff --git a/chrome/browser/sync/glue/typed_url_change_processor.cc b/chrome/browser/sync/glue/typed_url_change_processor.cc
index 83bdb90d483f9c7f3778ba21275d0e5b56ad45c4..1c38e80085b990d70ad2567dbd53ddc1d0859746 100644
--- a/chrome/browser/sync/glue/typed_url_change_processor.cc
+++ b/chrome/browser/sync/glue/typed_url_change_processor.cc
@@ -205,9 +205,9 @@ void TypedUrlChangeProcessor::ApplyChangesFromSyncModel(
return;
}
- DCHECK(pending_titles_.empty() && pending_new_urls_.empty() &&
- pending_new_visits_.empty() && pending_deleted_visits_.empty() &&
- pending_updated_urls_.empty() && pending_deleted_urls_.empty());
+ DCHECK(pending_new_urls_.empty() && pending_new_visits_.empty() &&
+ pending_deleted_visits_.empty() && pending_updated_urls_.empty() &&
+ pending_deleted_urls_.empty());
for (sync_api::ChangeRecordList::const_iterator it =
changes.Get().begin(); it != changes.Get().end(); ++it) {
@@ -237,67 +237,21 @@ void TypedUrlChangeProcessor::ApplyChangesFromSyncModel(
const sync_pb::TypedUrlSpecifics& typed_url(
sync_node.GetTypedUrlSpecifics());
- GURL url(typed_url.url());
-
- if (sync_api::ChangeRecord::ACTION_ADD == it->action) {
- DCHECK(typed_url.visits_size());
- if (!typed_url.visits_size()) {
- continue;
- }
+ DCHECK(typed_url.visits_size());
+ if (!typed_url.visits_size()) {
+ continue;
+ }
- // TODO(atwilson): Combine this with the UPDATE code below
- // (http://crbug.com/101633).
- if (!model_associator_->UpdateFromNewTypedUrl(
- typed_url, &pending_new_visits_, &pending_updated_urls_,
- &pending_new_urls_)) {
- error_handler()->OnUnrecoverableError(
- FROM_HERE, "Could not get existing url's visits.");
- return;
- }
+ if (!model_associator_->UpdateFromSyncDB(
+ typed_url, &pending_new_visits_, &pending_deleted_visits_,
+ &pending_updated_urls_, &pending_new_urls_)) {
+ error_handler()->OnUnrecoverableError(
+ FROM_HERE, "Could not get existing url's visits.");
+ return;
+ }
+ if (it->action == sync_api::ChangeRecord::ACTION_ADD) {
model_associator_->Associate(&typed_url.url(), it->id);
- } else {
- DCHECK_EQ(sync_api::ChangeRecord::ACTION_UPDATE, it->action);
- history::URLRow old_url;
- if (!history_backend_->GetURL(url, &old_url)) {
- LOG(ERROR) << "Could not fetch history row for " << url;
- continue;
- }
-
- history::VisitVector visits;
- if (!TypedUrlModelAssociator::FixupURLAndGetVisits(
- history_backend_, &old_url, &visits)) {
- error_handler()->OnUnrecoverableError(FROM_HERE,
- "Could not get the url's visits.");
- return;
- }
-
- history::URLRow new_url(old_url);
- TypedUrlModelAssociator::UpdateURLRowFromTypedUrlSpecifics(
- typed_url, &new_url);
-
- pending_updated_urls_.push_back(
- std::pair<history::URLID, history::URLRow>(old_url.id(), new_url));
-
- if (old_url.title().compare(new_url.title()) != 0) {
- pending_titles_.push_back(
- std::pair<GURL, string16>(new_url.url(), new_url.title()));
- }
-
- std::vector<history::VisitInfo> added_visits;
- history::VisitVector removed_visits;
- TypedUrlModelAssociator::DiffVisits(visits, typed_url,
- &added_visits, &removed_visits);
- if (added_visits.size()) {
- pending_new_visits_.push_back(
- std::pair<GURL, std::vector<history::VisitInfo> >(
- url, added_visits));
- }
- if (removed_visits.size()) {
- pending_deleted_visits_.insert(pending_deleted_visits_.end(),
- removed_visits.begin(),
- removed_visits.end());
- }
}
}
}
@@ -311,8 +265,7 @@ void TypedUrlChangeProcessor::CommitChangesFromSyncModel() {
if (!pending_deleted_urls_.empty())
history_backend_->DeleteURLs(pending_deleted_urls_);
- if (!model_associator_->WriteToHistoryBackend(&pending_titles_,
- &pending_new_urls_,
+ if (!model_associator_->WriteToHistoryBackend(&pending_new_urls_,
&pending_updated_urls_,
&pending_new_visits_,
&pending_deleted_visits_)) {
@@ -321,7 +274,6 @@ void TypedUrlChangeProcessor::CommitChangesFromSyncModel() {
return;
}
- pending_titles_.clear();
pending_new_urls_.clear();
pending_updated_urls_.clear();
pending_new_visits_.clear();
« no previous file with comments | « chrome/browser/sync/glue/typed_url_change_processor.h ('k') | chrome/browser/sync/glue/typed_url_model_associator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698