summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sync/sessions
diff options
context:
space:
mode:
authorerg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-04 23:11:19 +0000
committererg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-04 23:11:19 +0000
commit9b2331d912b0a15c3eef290eaa617c54a87dc68e (patch)
tree6ca5f0248ce754b74b39112c17c2d9726c004e79 /chrome/browser/sync/sessions
parent9f1e5d235d5bdb3a0fe626fe47f5468cddaf75e4 (diff)
downloadchromium_src-9b2331d912b0a15c3eef290eaa617c54a87dc68e.zip
chromium_src-9b2331d912b0a15c3eef290eaa617c54a87dc68e.tar.gz
chromium_src-9b2331d912b0a15c3eef290eaa617c54a87dc68e.tar.bz2
Reapply r61237: FBTF: Another big ctor/dtor cleanup found by automated tools.
Removes changes to code in webkit/ that broke chrome_frame. Will debug that portion later. (Shaves ~2MB off Linux Debug .a files) BUG=none TEST=compiles First Review URL: http://codereview.chromium.org/3563004 Review URL: http://codereview.chromium.org/3621003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61435 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/sync/sessions')
-rw-r--r--chrome/browser/sync/sessions/ordered_commit_set.cc7
-rw-r--r--chrome/browser/sync/sessions/ordered_commit_set.h6
-rw-r--r--chrome/browser/sync/sessions/session_state.cc61
-rw-r--r--chrome/browser/sync/sessions/session_state.h41
-rw-r--r--chrome/browser/sync/sessions/status_controller.cc2
-rw-r--r--chrome/browser/sync/sessions/status_controller.h1
-rw-r--r--chrome/browser/sync/sessions/sync_session.cc2
-rw-r--r--chrome/browser/sync/sessions/sync_session.h1
-rw-r--r--chrome/browser/sync/sessions/sync_session_context.cc41
-rw-r--r--chrome/browser/sync/sessions/sync_session_context.h29
10 files changed, 141 insertions, 50 deletions
diff --git a/chrome/browser/sync/sessions/ordered_commit_set.cc b/chrome/browser/sync/sessions/ordered_commit_set.cc
index 104bafb..d700494 100644
--- a/chrome/browser/sync/sessions/ordered_commit_set.cc
+++ b/chrome/browser/sync/sessions/ordered_commit_set.cc
@@ -11,6 +11,13 @@
namespace browser_sync {
namespace sessions {
+OrderedCommitSet::OrderedCommitSet(
+ const browser_sync::ModelSafeRoutingInfo& routes)
+ : routes_(routes) {
+}
+
+OrderedCommitSet::~OrderedCommitSet() {}
+
void OrderedCommitSet::AddCommitItem(const int64 metahandle,
const syncable::Id& commit_id,
syncable::ModelType type) {
diff --git a/chrome/browser/sync/sessions/ordered_commit_set.h b/chrome/browser/sync/sessions/ordered_commit_set.h
index 50f3e97..bce2246 100644
--- a/chrome/browser/sync/sessions/ordered_commit_set.h
+++ b/chrome/browser/sync/sessions/ordered_commit_set.h
@@ -30,10 +30,8 @@ class OrderedCommitSet {
typedef std::vector<size_t> Projection;
// TODO(chron): Reserve space according to batch size?
- explicit OrderedCommitSet(const browser_sync::ModelSafeRoutingInfo& routes)
- : routes_(routes) {}
-
- ~OrderedCommitSet() {}
+ explicit OrderedCommitSet(const browser_sync::ModelSafeRoutingInfo& routes);
+ ~OrderedCommitSet();
bool HaveCommitItem(const int64 metahandle) const {
return inserted_metahandles_.count(metahandle) > 0;
diff --git a/chrome/browser/sync/sessions/session_state.cc b/chrome/browser/sync/sessions/session_state.cc
index f28a7dc..644d2f6 100644
--- a/chrome/browser/sync/sessions/session_state.cc
+++ b/chrome/browser/sync/sessions/session_state.cc
@@ -13,6 +13,39 @@ using std::vector;
namespace browser_sync {
namespace sessions {
+SyncSessionSnapshot::SyncSessionSnapshot(
+ const SyncerStatus& syncer_status,
+ const ErrorCounters& errors,
+ int64 num_server_changes_remaining,
+ int64 max_local_timestamp,
+ bool is_share_usable,
+ const syncable::ModelTypeBitSet& initial_sync_ended,
+ bool more_to_sync,
+ bool is_silenced,
+ int64 unsynced_count,
+ int num_conflicting_updates,
+ bool did_commit_items)
+ : syncer_status(syncer_status),
+ errors(errors),
+ num_server_changes_remaining(num_server_changes_remaining),
+ max_local_timestamp(max_local_timestamp),
+ is_share_usable(is_share_usable),
+ initial_sync_ended(initial_sync_ended),
+ has_more_to_sync(more_to_sync),
+ is_silenced(is_silenced),
+ unsynced_count(unsynced_count),
+ num_conflicting_updates(num_conflicting_updates),
+ did_commit_items(did_commit_items) {
+}
+
+SyncSessionSnapshot::~SyncSessionSnapshot() {}
+
+ConflictProgress::ConflictProgress(bool* dirty_flag) : dirty_(dirty_flag) {}
+
+ConflictProgress::~ConflictProgress() {
+ CleanupSets();
+}
+
IdToConflictSetMap::const_iterator ConflictProgress::IdToConflictSetFind(
const syncable::Id& the_id) const {
return id_to_conflict_set_.find(the_id);
@@ -131,6 +164,10 @@ void ConflictProgress::CleanupSets() {
id_to_conflict_set_.clear();
}
+UpdateProgress::UpdateProgress() {}
+
+UpdateProgress::~UpdateProgress() {}
+
void UpdateProgress::AddVerifyResult(const VerifyResult& verify_result,
const sync_pb::SyncEntity& entity) {
verified_updates_.push_back(std::make_pair(verify_result, entity));
@@ -184,5 +221,29 @@ bool UpdateProgress::HasConflictingUpdates() const {
return false;
}
+AllModelTypeState::AllModelTypeState(bool* dirty_flag)
+ : unsynced_handles(dirty_flag),
+ syncer_status(dirty_flag),
+ error_counters(dirty_flag),
+ num_server_changes_remaining(dirty_flag, 0),
+ commit_set(ModelSafeRoutingInfo()) {
+}
+
+AllModelTypeState::~AllModelTypeState() {}
+
+PerModelSafeGroupState::PerModelSafeGroupState(bool* dirty_flag)
+ : conflict_progress(dirty_flag) {
+}
+
+PerModelSafeGroupState::~PerModelSafeGroupState() {
+}
+
+PerModelTypeState::PerModelTypeState(bool* dirty_flag)
+ : current_download_timestamp(dirty_flag, 0) {
+}
+
+PerModelTypeState::~PerModelTypeState() {
+}
+
} // namespace sessions
} // namespace browser_sync
diff --git a/chrome/browser/sync/sessions/session_state.h b/chrome/browser/sync/sessions/session_state.h
index 3f1e721..c345fb4 100644
--- a/chrome/browser/sync/sessions/session_state.h
+++ b/chrome/browser/sync/sessions/session_state.h
@@ -80,18 +80,9 @@ struct SyncSessionSnapshot {
bool is_silenced,
int64 unsynced_count,
int num_conflicting_updates,
- bool did_commit_items)
- : syncer_status(syncer_status),
- errors(errors),
- num_server_changes_remaining(num_server_changes_remaining),
- max_local_timestamp(max_local_timestamp),
- is_share_usable(is_share_usable),
- initial_sync_ended(initial_sync_ended),
- has_more_to_sync(more_to_sync),
- is_silenced(is_silenced),
- unsynced_count(unsynced_count),
- num_conflicting_updates(num_conflicting_updates),
- did_commit_items(did_commit_items) {}
+ bool did_commit_items);
+ ~SyncSessionSnapshot();
+
const SyncerStatus syncer_status;
const ErrorCounters errors;
const int64 num_server_changes_remaining;
@@ -108,8 +99,8 @@ struct SyncSessionSnapshot {
// Tracks progress of conflicts and their resolution using conflict sets.
class ConflictProgress {
public:
- explicit ConflictProgress(bool* dirty_flag) : dirty_(dirty_flag) {}
- ~ConflictProgress() { CleanupSets(); }
+ explicit ConflictProgress(bool* dirty_flag);
+ ~ConflictProgress();
// Various iterators, size, and retrieval functions for conflict sets.
IdToConflictSetMap::const_iterator IdToConflictSetBegin() const;
IdToConflictSetMap::const_iterator IdToConflictSetEnd() const;
@@ -150,6 +141,9 @@ typedef std::pair<UpdateAttemptResponse, syncable::Id> AppliedUpdate;
// Tracks update application and verification.
class UpdateProgress {
public:
+ UpdateProgress();
+ ~UpdateProgress();
+
void AddVerifyResult(const VerifyResult& verify_result,
const sync_pb::SyncEntity& entity);
@@ -232,12 +226,9 @@ class DirtyOnWrite {
// scope control (such as OrderedCommitSet), but the top level entity is still
// a singleton with respect to model types.
struct AllModelTypeState {
- explicit AllModelTypeState(bool* dirty_flag)
- : unsynced_handles(dirty_flag),
- syncer_status(dirty_flag),
- error_counters(dirty_flag),
- num_server_changes_remaining(dirty_flag, 0),
- commit_set(ModelSafeRoutingInfo()) {}
+ explicit AllModelTypeState(bool* dirty_flag);
+ ~AllModelTypeState();
+
// Commits for all model types are bundled together into a single message.
ClientToServerMessage commit_message;
ClientToServerResponse commit_response;
@@ -256,16 +247,18 @@ struct AllModelTypeState {
// Grouping of all state that applies to a single ModelSafeGroup.
struct PerModelSafeGroupState {
- explicit PerModelSafeGroupState(bool* dirty_flag)
- : conflict_progress(dirty_flag) {}
+ explicit PerModelSafeGroupState(bool* dirty_flag);
+ ~PerModelSafeGroupState();
+
UpdateProgress update_progress;
ConflictProgress conflict_progress;
};
// Grouping of all state that applies to a single ModelType.
struct PerModelTypeState {
- explicit PerModelTypeState(bool* dirty_flag)
- : current_download_timestamp(dirty_flag, 0) {}
+ explicit PerModelTypeState(bool* dirty_flag);
+ ~PerModelTypeState();
+
DirtyOnWrite<int64> current_download_timestamp;
};
diff --git a/chrome/browser/sync/sessions/status_controller.cc b/chrome/browser/sync/sessions/status_controller.cc
index 21159d8..f7e159c 100644
--- a/chrome/browser/sync/sessions/status_controller.cc
+++ b/chrome/browser/sync/sessions/status_controller.cc
@@ -23,6 +23,8 @@ StatusController::StatusController(const ModelSafeRoutingInfo& routes)
routing_info_(routes) {
}
+StatusController::~StatusController() {}
+
bool StatusController::TestAndClearIsDirty() {
bool is_dirty = is_dirty_;
is_dirty_ = false;
diff --git a/chrome/browser/sync/sessions/status_controller.h b/chrome/browser/sync/sessions/status_controller.h
index f367b50..d038ed5 100644
--- a/chrome/browser/sync/sessions/status_controller.h
+++ b/chrome/browser/sync/sessions/status_controller.h
@@ -45,6 +45,7 @@ namespace sessions {
class StatusController {
public:
explicit StatusController(const ModelSafeRoutingInfo& routes);
+ ~StatusController();
// Returns true if some portion of the session state has changed (is dirty)
// since it was created or was last reset.
diff --git a/chrome/browser/sync/sessions/sync_session.cc b/chrome/browser/sync/sessions/sync_session.cc
index 8e5064c..a861b2c 100644
--- a/chrome/browser/sync/sessions/sync_session.cc
+++ b/chrome/browser/sync/sessions/sync_session.cc
@@ -22,6 +22,8 @@ SyncSession::SyncSession(SyncSessionContext* context, Delegate* delegate)
status_controller_.reset(new StatusController(routing_info_));
}
+SyncSession::~SyncSession() {}
+
SyncSessionSnapshot SyncSession::TakeSnapshot() const {
syncable::ScopedDirLookup dir(context_->directory_manager(),
context_->account_name());
diff --git a/chrome/browser/sync/sessions/sync_session.h b/chrome/browser/sync/sessions/sync_session.h
index d3320ca..568c1f4 100644
--- a/chrome/browser/sync/sessions/sync_session.h
+++ b/chrome/browser/sync/sessions/sync_session.h
@@ -77,6 +77,7 @@ class SyncSession {
// Creates a new SyncSession with mandatory context and delegate.
SyncSession(SyncSessionContext* context, Delegate* delegate);
+ ~SyncSession();
// Builds a thread-safe and read-only copy of the current session state.
SyncSessionSnapshot TakeSnapshot() const;
diff --git a/chrome/browser/sync/sessions/sync_session_context.cc b/chrome/browser/sync/sessions/sync_session_context.cc
new file mode 100644
index 0000000..7b69568
--- /dev/null
+++ b/chrome/browser/sync/sessions/sync_session_context.cc
@@ -0,0 +1,41 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/sync/sessions/sync_session_context.h"
+
+#include "chrome/browser/chrome_thread.h"
+#include "chrome/browser/sync/util/extensions_activity_monitor.h"
+#include "chrome/browser/sync/sessions/session_state.h"
+
+namespace browser_sync {
+namespace sessions {
+
+SyncSessionContext::SyncSessionContext(
+ ServerConnectionManager* connection_manager,
+ syncable::DirectoryManager* directory_manager,
+ ModelSafeWorkerRegistrar* model_safe_worker_registrar)
+ : resolver_(NULL),
+ syncer_event_channel_(NULL),
+ connection_manager_(connection_manager),
+ directory_manager_(directory_manager),
+ registrar_(model_safe_worker_registrar),
+ extensions_activity_monitor_(new ExtensionsActivityMonitor()),
+ notifications_enabled_(false) {
+}
+
+SyncSessionContext::~SyncSessionContext() {
+ // In unittests, there may be no UI thread, so the above will fail.
+ if (!ChromeThread::DeleteSoon(ChromeThread::UI, FROM_HERE,
+ extensions_activity_monitor_)) {
+ delete extensions_activity_monitor_;
+ }
+}
+
+void SyncSessionContext::set_last_snapshot(
+ const SyncSessionSnapshot& snapshot) {
+ previous_session_snapshot_.reset(new SyncSessionSnapshot(snapshot));
+}
+
+} // namespace sessions
+} // namespace browser_sync
diff --git a/chrome/browser/sync/sessions/sync_session_context.h b/chrome/browser/sync/sessions/sync_session_context.h
index 4c6b63f..b782876 100644
--- a/chrome/browser/sync/sessions/sync_session_context.h
+++ b/chrome/browser/sync/sessions/sync_session_context.h
@@ -20,10 +20,10 @@
#pragma once
#include <string>
-#include "chrome/browser/chrome_thread.h"
+
+#include "base/scoped_ptr.h"
#include "chrome/browser/sync/engine/model_safe_worker.h"
#include "chrome/browser/sync/engine/syncer_types.h"
-#include "chrome/browser/sync/util/extensions_activity_monitor.h"
namespace syncable {
class DirectoryManager;
@@ -32,34 +32,21 @@ class DirectoryManager;
namespace browser_sync {
class ConflictResolver;
+class ExtensionsActivityMonitor;
class ModelSafeWorkerRegistrar;
class ServerConnectionManager;
namespace sessions {
class ScopedSessionContextConflictResolver;
class ScopedSessionContextSyncerEventChannel;
+struct SyncSessionSnapshot;
class SyncSessionContext {
public:
SyncSessionContext(ServerConnectionManager* connection_manager,
syncable::DirectoryManager* directory_manager,
- ModelSafeWorkerRegistrar* model_safe_worker_registrar)
- : resolver_(NULL),
- syncer_event_channel_(NULL),
- connection_manager_(connection_manager),
- directory_manager_(directory_manager),
- registrar_(model_safe_worker_registrar),
- extensions_activity_monitor_(new ExtensionsActivityMonitor()),
- notifications_enabled_(false) {
- }
-
- ~SyncSessionContext() {
- // In unittests, there may be no UI thread, so the above will fail.
- if (!ChromeThread::DeleteSoon(ChromeThread::UI, FROM_HERE,
- extensions_activity_monitor_)) {
- delete extensions_activity_monitor_;
- }
- }
+ ModelSafeWorkerRegistrar* model_safe_worker_registrar);
+ ~SyncSessionContext();
ConflictResolver* resolver() { return resolver_; }
ServerConnectionManager* connection_manager() {
@@ -103,9 +90,7 @@ class SyncSessionContext {
return previous_session_snapshot_.get();
}
- void set_last_snapshot(const SyncSessionSnapshot& snapshot) {
- previous_session_snapshot_.reset(new SyncSessionSnapshot(snapshot));
- }
+ void set_last_snapshot(const SyncSessionSnapshot& snapshot);
private:
// Rather than force clients to set and null-out various context members, we