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

Side by Side Diff: chrome/browser/sync/glue/generic_change_processor.cc

Issue 15987009: Update chrome/ to use WeakPtr<T>::get() instead of implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/sync/glue/generic_change_processor.h" 5 #include "chrome/browser/sync/glue/generic_change_processor.h"
6 6
7 #include "base/location.h" 7 #include "base/location.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "content/public/browser/browser_thread.h" 10 #include "content/public/browser/browser_thread.h"
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 syncer::SyncData::CreateRemoteData( 74 syncer::SyncData::CreateRemoteData(
75 it->id, read_node.GetEntitySpecifics()))); 75 it->id, read_node.GetEntitySpecifics())));
76 } 76 }
77 } 77 }
78 } 78 }
79 79
80 void GenericChangeProcessor::CommitChangesFromSyncModel() { 80 void GenericChangeProcessor::CommitChangesFromSyncModel() {
81 DCHECK(CalledOnValidThread()); 81 DCHECK(CalledOnValidThread());
82 if (syncer_changes_.empty()) 82 if (syncer_changes_.empty())
83 return; 83 return;
84 if (!local_service_) { 84 if (!local_service_.get()) {
85 syncer::ModelType type = syncer_changes_[0].sync_data().GetDataType(); 85 syncer::ModelType type = syncer_changes_[0].sync_data().GetDataType();
86 syncer::SyncError error(FROM_HERE, "Local service destroyed.", type); 86 syncer::SyncError error(FROM_HERE, "Local service destroyed.", type);
87 error_handler()->OnSingleDatatypeUnrecoverableError(error.location(), 87 error_handler()->OnSingleDatatypeUnrecoverableError(error.location(),
88 error.message()); 88 error.message());
89 return; 89 return;
90 } 90 }
91 syncer::SyncError error = local_service_->ProcessSyncChanges(FROM_HERE, 91 syncer::SyncError error = local_service_->ProcessSyncChanges(FROM_HERE,
92 syncer_changes_); 92 syncer_changes_);
93 syncer_changes_.clear(); 93 syncer_changes_.clear();
94 if (error.IsSet()) { 94 if (error.IsSet()) {
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 std::string type_str = syncer::ModelTypeToString(type); 278 std::string type_str = syncer::ModelTypeToString(type);
279 syncer::WriteNode sync_node(&trans); 279 syncer::WriteNode sync_node(&trans);
280 if (change.change_type() == syncer::SyncChange::ACTION_DELETE) { 280 if (change.change_type() == syncer::SyncChange::ACTION_DELETE) {
281 syncer::SyncError error = 281 syncer::SyncError error =
282 AttemptDelete(change, type, type_str, &sync_node, 282 AttemptDelete(change, type, type_str, &sync_node,
283 error_handler()); 283 error_handler());
284 if (error.IsSet()) { 284 if (error.IsSet()) {
285 NOTREACHED(); 285 NOTREACHED();
286 return error; 286 return error;
287 } 287 }
288 if (merge_result_) { 288 if (merge_result_.get()) {
289 merge_result_->set_num_items_deleted( 289 merge_result_->set_num_items_deleted(
290 merge_result_->num_items_deleted() + 1); 290 merge_result_->num_items_deleted() + 1);
291 } 291 }
292 } else if (change.change_type() == syncer::SyncChange::ACTION_ADD) { 292 } else if (change.change_type() == syncer::SyncChange::ACTION_ADD) {
293 // TODO(sync): Handle other types of creation (custom parents, folders, 293 // TODO(sync): Handle other types of creation (custom parents, folders,
294 // etc.). 294 // etc.).
295 syncer::ReadNode root_node(&trans); 295 syncer::ReadNode root_node(&trans);
296 if (root_node.InitByTagLookup( 296 if (root_node.InitByTagLookup(
297 syncer::ModelTypeToRootTag(change.sync_data().GetDataType())) != 297 syncer::ModelTypeToRootTag(change.sync_data().GetDataType())) !=
298 syncer::BaseNode::INIT_OK) { 298 syncer::BaseNode::INIT_OK) {
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 error.Reset(FROM_HERE, error_prefix + "unknown error", type); 352 error.Reset(FROM_HERE, error_prefix + "unknown error", type);
353 error_handler()->OnSingleDatatypeUnrecoverableError( 353 error_handler()->OnSingleDatatypeUnrecoverableError(
354 FROM_HERE, error.message()); 354 FROM_HERE, error.message());
355 LOG(ERROR) << "Create: Unknown error."; 355 LOG(ERROR) << "Create: Unknown error.";
356 return error; 356 return error;
357 } 357 }
358 } 358 }
359 } 359 }
360 sync_node.SetTitle(UTF8ToWide(change.sync_data().GetTitle())); 360 sync_node.SetTitle(UTF8ToWide(change.sync_data().GetTitle()));
361 sync_node.SetEntitySpecifics(change.sync_data().GetSpecifics()); 361 sync_node.SetEntitySpecifics(change.sync_data().GetSpecifics());
362 if (merge_result_) { 362 if (merge_result_.get()) {
363 merge_result_->set_num_items_added( 363 merge_result_->set_num_items_added(merge_result_->num_items_added() +
364 merge_result_->num_items_added() + 1); 364 1);
365 } 365 }
366 } else if (change.change_type() == syncer::SyncChange::ACTION_UPDATE) { 366 } else if (change.change_type() == syncer::SyncChange::ACTION_UPDATE) {
367 // TODO(zea): consider having this logic for all possible changes? 367 // TODO(zea): consider having this logic for all possible changes?
368 syncer::BaseNode::InitByLookupResult result = 368 syncer::BaseNode::InitByLookupResult result =
369 sync_node.InitByClientTagLookup(change.sync_data().GetDataType(), 369 sync_node.InitByClientTagLookup(change.sync_data().GetDataType(),
370 change.sync_data().GetTag()); 370 change.sync_data().GetTag());
371 if (result != syncer::BaseNode::INIT_OK) { 371 if (result != syncer::BaseNode::INIT_OK) {
372 std::string error_prefix = "Failed to load " + type_str + " node. " + 372 std::string error_prefix = "Failed to load " + type_str + " node. " +
373 change.location().ToString() + ", "; 373 change.location().ToString() + ", ";
374 if (result == syncer::BaseNode::INIT_FAILED_PRECONDITION) { 374 if (result == syncer::BaseNode::INIT_FAILED_PRECONDITION) {
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 error_handler()->OnSingleDatatypeUnrecoverableError( 445 error_handler()->OnSingleDatatypeUnrecoverableError(
446 FROM_HERE, error.message()); 446 FROM_HERE, error.message());
447 LOG(ERROR) << "Update: encr case 4."; 447 LOG(ERROR) << "Update: encr case 4.";
448 return error; 448 return error;
449 } 449 }
450 } 450 }
451 } 451 }
452 452
453 sync_node.SetTitle(UTF8ToWide(change.sync_data().GetTitle())); 453 sync_node.SetTitle(UTF8ToWide(change.sync_data().GetTitle()));
454 sync_node.SetEntitySpecifics(change.sync_data().GetSpecifics()); 454 sync_node.SetEntitySpecifics(change.sync_data().GetSpecifics());
455 if (merge_result_) { 455 if (merge_result_.get()) {
456 merge_result_->set_num_items_modified( 456 merge_result_->set_num_items_modified(
457 merge_result_->num_items_modified() + 1); 457 merge_result_->num_items_modified() + 1);
458 } 458 }
459 // TODO(sync): Support updating other parts of the sync node (title, 459 // TODO(sync): Support updating other parts of the sync node (title,
460 // successor, parent, etc.). 460 // successor, parent, etc.).
461 } else { 461 } else {
462 syncer::SyncError error( 462 syncer::SyncError error(
463 FROM_HERE, 463 FROM_HERE,
464 "Received unset SyncChange in the change processor, " + 464 "Received unset SyncChange in the change processor, " +
465 change.location().ToString(), 465 change.location().ToString(),
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 void GenericChangeProcessor::StartImpl(Profile* profile) { 511 void GenericChangeProcessor::StartImpl(Profile* profile) {
512 DCHECK(CalledOnValidThread()); 512 DCHECK(CalledOnValidThread());
513 } 513 }
514 514
515 syncer::UserShare* GenericChangeProcessor::share_handle() const { 515 syncer::UserShare* GenericChangeProcessor::share_handle() const {
516 DCHECK(CalledOnValidThread()); 516 DCHECK(CalledOnValidThread());
517 return share_handle_; 517 return share_handle_;
518 } 518 }
519 519
520 } // namespace browser_sync 520 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698