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

Side by Side Diff: components/sync/driver/glue/sync_backend_host_core.cc

Issue 2452713003: [Sync] Implement MemoryDumpProvider. (Closed)
Patch Set: Fix presumit; fix Windows; git cl format Created 4 years 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "components/sync/driver/glue/sync_backend_host_core.h" 5 #include "components/sync/driver/glue/sync_backend_host_core.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
11 #include "base/location.h" 11 #include "base/location.h"
12 #include "base/memory/ptr_util.h" 12 #include "base/memory/ptr_util.h"
13 #include "base/single_thread_task_runner.h" 13 #include "base/single_thread_task_runner.h"
14 #include "base/trace_event/memory_dump_manager.h"
14 #include "components/data_use_measurement/core/data_use_user_data.h" 15 #include "components/data_use_measurement/core/data_use_user_data.h"
15 #include "components/invalidation/public/invalidation_util.h" 16 #include "components/invalidation/public/invalidation_util.h"
16 #include "components/invalidation/public/object_id_invalidation_map.h" 17 #include "components/invalidation/public/object_id_invalidation_map.h"
17 #include "components/sync/base/invalidation_adapter.h" 18 #include "components/sync/base/invalidation_adapter.h"
18 #include "components/sync/device_info/local_device_info_provider_impl.h" 19 #include "components/sync/device_info/local_device_info_provider_impl.h"
19 #include "components/sync/driver/glue/sync_backend_registrar.h" 20 #include "components/sync/driver/glue/sync_backend_registrar.h"
20 #include "components/sync/engine/cycle/commit_counters.h" 21 #include "components/sync/engine/cycle/commit_counters.h"
21 #include "components/sync/engine/cycle/status_counters.h" 22 #include "components/sync/engine/cycle/status_counters.h"
22 #include "components/sync/engine/cycle/sync_cycle_snapshot.h" 23 #include "components/sync/engine/cycle/sync_cycle_snapshot.h"
23 #include "components/sync/engine/cycle/update_counters.h" 24 #include "components/sync/engine/cycle/update_counters.h"
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 forward_protocol_events_(false), 122 forward_protocol_events_(false),
122 forward_type_info_(false), 123 forward_type_info_(false),
123 weak_ptr_factory_(this) { 124 weak_ptr_factory_(this) {
124 DCHECK(backend.get()); 125 DCHECK(backend.get());
125 } 126 }
126 127
127 SyncBackendHostCore::~SyncBackendHostCore() { 128 SyncBackendHostCore::~SyncBackendHostCore() {
128 DCHECK(!sync_manager_.get()); 129 DCHECK(!sync_manager_.get());
129 } 130 }
130 131
132 bool SyncBackendHostCore::OnMemoryDump(
133 const base::trace_event::MemoryDumpArgs& args,
134 base::trace_event::ProcessMemoryDump* pmd) {
135 DCHECK(sync_loop_->task_runner()->BelongsToCurrentThread());
136 if (!sync_manager_)
137 return false;
138 sync_manager_->OnMemoryDump(pmd);
139 return true;
140 }
141
131 void SyncBackendHostCore::OnSyncCycleCompleted( 142 void SyncBackendHostCore::OnSyncCycleCompleted(
132 const SyncCycleSnapshot& snapshot) { 143 const SyncCycleSnapshot& snapshot) {
133 if (!sync_loop_) 144 if (!sync_loop_)
134 return; 145 return;
135 DCHECK(sync_loop_->task_runner()->BelongsToCurrentThread()); 146 DCHECK(sync_loop_->task_runner()->BelongsToCurrentThread());
136 147
137 host_.Call(FROM_HERE, 148 host_.Call(FROM_HERE,
138 &SyncBackendHostImpl::HandleSyncCycleCompletedOnFrontendLoop, 149 &SyncBackendHostImpl::HandleSyncCycleCompletedOnFrontendLoop,
139 snapshot); 150 snapshot);
140 } 151 }
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 options->restored_keystore_key_for_bootstrapping; 435 options->restored_keystore_key_for_bootstrapping;
425 args.engine_components_factory = 436 args.engine_components_factory =
426 std::move(options->engine_components_factory); 437 std::move(options->engine_components_factory);
427 args.encryptor = &encryptor_; 438 args.encryptor = &encryptor_;
428 args.unrecoverable_error_handler = options->unrecoverable_error_handler; 439 args.unrecoverable_error_handler = options->unrecoverable_error_handler;
429 args.report_unrecoverable_error_function = 440 args.report_unrecoverable_error_function =
430 options->report_unrecoverable_error_function; 441 options->report_unrecoverable_error_function;
431 args.cancelation_signal = &stop_syncing_signal_; 442 args.cancelation_signal = &stop_syncing_signal_;
432 args.saved_nigori_state = std::move(options->saved_nigori_state); 443 args.saved_nigori_state = std::move(options->saved_nigori_state);
433 sync_manager_->Init(&args); 444 sync_manager_->Init(&args);
445 base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider(
446 this, "SyncDirectory", sync_loop_->task_runner());
434 } 447 }
435 448
436 void SyncBackendHostCore::DoUpdateCredentials( 449 void SyncBackendHostCore::DoUpdateCredentials(
437 const SyncCredentials& credentials) { 450 const SyncCredentials& credentials) {
438 DCHECK(sync_loop_->task_runner()->BelongsToCurrentThread()); 451 DCHECK(sync_loop_->task_runner()->BelongsToCurrentThread());
439 // UpdateCredentials can be called during backend initialization, possibly 452 // UpdateCredentials can be called during backend initialization, possibly
440 // when backend initialization has failed but hasn't notified the UI thread 453 // when backend initialization has failed but hasn't notified the UI thread
441 // yet. In that case, the sync manager may have been destroyed on the sync 454 // yet. In that case, the sync manager may have been destroyed on the sync
442 // thread before this task was executed, so we do nothing. 455 // thread before this task was executed, so we do nothing.
443 if (sync_manager_) { 456 if (sync_manager_) {
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 550
538 if (reason == DISABLE_SYNC) 551 if (reason == DISABLE_SYNC)
539 DeleteSyncDataFolder(); 552 DeleteSyncDataFolder();
540 553
541 host_.Reset(); 554 host_.Reset();
542 weak_ptr_factory_.InvalidateWeakPtrs(); 555 weak_ptr_factory_.InvalidateWeakPtrs();
543 } 556 }
544 557
545 void SyncBackendHostCore::DoDestroySyncManager(ShutdownReason reason) { 558 void SyncBackendHostCore::DoDestroySyncManager(ShutdownReason reason) {
546 DCHECK(sync_loop_->task_runner()->BelongsToCurrentThread()); 559 DCHECK(sync_loop_->task_runner()->BelongsToCurrentThread());
560 base::trace_event::MemoryDumpManager::GetInstance()->UnregisterDumpProvider(
561 this);
547 if (sync_manager_) { 562 if (sync_manager_) {
548 DisableDirectoryTypeDebugInfoForwarding(); 563 DisableDirectoryTypeDebugInfoForwarding();
549 save_changes_timer_.reset(); 564 save_changes_timer_.reset();
550 sync_manager_->RemoveObserver(this); 565 sync_manager_->RemoveObserver(this);
551 sync_manager_->ShutdownOnSyncThread(reason); 566 sync_manager_->ShutdownOnSyncThread(reason);
552 sync_manager_.reset(); 567 sync_manager_.reset();
553 } 568 }
554 } 569 }
555 570
556 void SyncBackendHostCore::DoConfigureSyncer( 571 void SyncBackendHostCore::DoConfigureSyncer(
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 } 703 }
689 704
690 void SyncBackendHostCore::ClearServerDataDone( 705 void SyncBackendHostCore::ClearServerDataDone(
691 const base::Closure& frontend_callback) { 706 const base::Closure& frontend_callback) {
692 DCHECK(sync_loop_->task_runner()->BelongsToCurrentThread()); 707 DCHECK(sync_loop_->task_runner()->BelongsToCurrentThread());
693 host_.Call(FROM_HERE, &SyncBackendHostImpl::ClearServerDataDoneOnFrontendLoop, 708 host_.Call(FROM_HERE, &SyncBackendHostImpl::ClearServerDataDoneOnFrontendLoop,
694 frontend_callback); 709 frontend_callback);
695 } 710 }
696 711
697 } // namespace syncer 712 } // namespace syncer
OLDNEW
« no previous file with comments | « components/sync/driver/glue/sync_backend_host_core.h ('k') | components/sync/engine/fake_sync_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698