diff options
28 files changed, 122 insertions, 126 deletions
diff --git a/chrome/browser/sync/sync_prefs.cc b/chrome/browser/sync/sync_prefs.cc index 4239208..5966ea0 100644 --- a/chrome/browser/sync/sync_prefs.cc +++ b/chrome/browser/sync/sync_prefs.cc @@ -33,21 +33,21 @@ SyncPrefs::SyncPrefs(PrefService* pref_service) } SyncPrefs::~SyncPrefs() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); } void SyncPrefs::AddSyncPrefObserver(SyncPrefObserver* sync_pref_observer) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); sync_pref_observers_.AddObserver(sync_pref_observer); } void SyncPrefs::RemoveSyncPrefObserver(SyncPrefObserver* sync_pref_observer) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); sync_pref_observers_.RemoveObserver(sync_pref_observer); } void SyncPrefs::ClearPreferences() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); CHECK(pref_service_); pref_service_->ClearPref(prefs::kSyncLastSyncedTime); pref_service_->ClearPref(prefs::kSyncHasSetupCompleted); @@ -58,41 +58,41 @@ void SyncPrefs::ClearPreferences() { } bool SyncPrefs::HasSyncSetupCompleted() const { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); return pref_service_ && pref_service_->GetBoolean(prefs::kSyncHasSetupCompleted); } void SyncPrefs::SetSyncSetupCompleted() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); CHECK(pref_service_); pref_service_->SetBoolean(prefs::kSyncHasSetupCompleted, true); SetStartSuppressed(false); } bool SyncPrefs::IsStartSuppressed() const { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); return pref_service_ && pref_service_->GetBoolean(prefs::kSyncSuppressStart); } void SyncPrefs::SetStartSuppressed(bool is_suppressed) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); CHECK(pref_service_); pref_service_->SetBoolean(prefs::kSyncSuppressStart, is_suppressed); } std::string SyncPrefs::GetGoogleServicesUsername() const { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); return pref_service_ ? pref_service_->GetString(prefs::kGoogleServicesUsername) : ""; } base::Time SyncPrefs::GetLastSyncedTime() const { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); return base::Time::FromInternalValue( pref_service_ ? @@ -100,20 +100,20 @@ base::Time SyncPrefs::GetLastSyncedTime() const { } void SyncPrefs::SetLastSyncedTime(base::Time time) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); CHECK(pref_service_); pref_service_->SetInt64(prefs::kSyncLastSyncedTime, time.ToInternalValue()); } bool SyncPrefs::HasKeepEverythingSynced() const { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); return pref_service_ && pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced); } void SyncPrefs::SetKeepEverythingSynced(bool keep_everything_synced) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); CHECK(pref_service_); pref_service_->SetBoolean(prefs::kSyncKeepEverythingSynced, keep_everything_synced); @@ -121,7 +121,7 @@ void SyncPrefs::SetKeepEverythingSynced(bool keep_everything_synced) { syncable::ModelTypeSet SyncPrefs::GetPreferredDataTypes( syncable::ModelTypeSet registered_types) const { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); if (!pref_service_) { return syncable::ModelTypeSet(); } @@ -150,7 +150,7 @@ syncable::ModelTypeSet SyncPrefs::GetPreferredDataTypes( void SyncPrefs::SetPreferredDataTypes( syncable::ModelTypeSet registered_types, syncable::ModelTypeSet preferred_types) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); CHECK(pref_service_); DCHECK(registered_types.HasAll(preferred_types)); preferred_types = ResolvePrefGroups(registered_types, preferred_types); @@ -161,39 +161,38 @@ void SyncPrefs::SetPreferredDataTypes( } bool SyncPrefs::IsManaged() const { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); return pref_service_ && pref_service_->GetBoolean(prefs::kSyncManaged); } std::string SyncPrefs::GetEncryptionBootstrapToken() const { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); return pref_service_ ? pref_service_->GetString(prefs::kSyncEncryptionBootstrapToken) : ""; } void SyncPrefs::SetEncryptionBootstrapToken(const std::string& token) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); pref_service_->SetString(prefs::kSyncEncryptionBootstrapToken, token); } #if defined(OS_CHROMEOS) std::string SyncPrefs::GetSpareBootstrapToken() const { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); return pref_service_ ? pref_service_->GetString(prefs::kSyncSpareBootstrapToken) : ""; } void SyncPrefs::SetSpareBootstrapToken(const std::string& token) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); pref_service_->SetString(prefs::kSyncSpareBootstrapToken, token); } #endif - void SyncPrefs::AcknowledgeSyncedTypes( syncable::ModelTypeSet types) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); CHECK(pref_service_); // Add the types to the current set of acknowledged // types, and then store the resulting set in prefs. @@ -210,7 +209,7 @@ void SyncPrefs::AcknowledgeSyncedTypes( void SyncPrefs::Observe(int type, const content::NotificationSource& source, const content::NotificationDetails& details) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); DCHECK(content::Source<PrefService>(pref_service_) == source); switch (type) { case chrome::NOTIFICATION_PREF_CHANGED: { @@ -229,13 +228,13 @@ void SyncPrefs::Observe(int type, } void SyncPrefs::SetManagedForTest(bool is_managed) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); CHECK(pref_service_); pref_service_->SetBoolean(prefs::kSyncManaged, is_managed); } syncable::ModelTypeSet SyncPrefs::GetAcknowledgeSyncedTypesForTest() const { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); if (!pref_service_) { return syncable::ModelTypeSet(); } @@ -296,7 +295,7 @@ void SyncPrefs::RegisterPrefGroups() { } void SyncPrefs::RegisterPreferences() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); CHECK(pref_service_); if (pref_service_->FindPreference(prefs::kSyncLastSyncedTime)) { return; @@ -373,7 +372,7 @@ void SyncPrefs::RegisterPreferences() { void SyncPrefs::RegisterDataTypePreferredPref(syncable::ModelType type, bool is_preferred) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); CHECK(pref_service_); const char* pref_name = GetPrefNameForDataType(type); if (!pref_name) { @@ -385,7 +384,7 @@ void SyncPrefs::RegisterDataTypePreferredPref(syncable::ModelType type, } bool SyncPrefs::GetDataTypePreferred(syncable::ModelType type) const { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); if (!pref_service_) { return false; } @@ -400,7 +399,7 @@ bool SyncPrefs::GetDataTypePreferred(syncable::ModelType type) const { void SyncPrefs::SetDataTypePreferred( syncable::ModelType type, bool is_preferred) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); CHECK(pref_service_); const char* pref_name = GetPrefNameForDataType(type); if (!pref_name) { diff --git a/chrome/browser/sync/sync_prefs.h b/chrome/browser/sync/sync_prefs.h index cecd208..4c38424 100644 --- a/chrome/browser/sync/sync_prefs.h +++ b/chrome/browser/sync/sync_prefs.h @@ -44,7 +44,8 @@ class SyncPrefObserver { // sync_setup_wizard.cc // sync_setup_wizard_unittest.cc // two_client_preferences_sync_test.cc -class SyncPrefs : public base::SupportsWeakPtr<SyncPrefs>, +class SyncPrefs : NON_EXPORTED_BASE(public base::NonThreadSafe), + public base::SupportsWeakPtr<SyncPrefs>, public content::NotificationObserver { public: // |pref_service| may be NULL (for unit tests), but in that case no @@ -133,8 +134,6 @@ class SyncPrefs : public base::SupportsWeakPtr<SyncPrefs>, syncable::ModelTypeSet registered_types, syncable::ModelTypeSet types) const; - base::NonThreadSafe non_thread_safe_; - // May be NULL. PrefService* const pref_service_; diff --git a/chrome/browser/sync/test/test_http_bridge_factory.cc b/chrome/browser/sync/test/test_http_bridge_factory.cc index 204eb32..1bb193d 100644 --- a/chrome/browser/sync/test/test_http_bridge_factory.cc +++ b/chrome/browser/sync/test/test_http_bridge_factory.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 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. @@ -36,7 +36,7 @@ sync_api::HttpPostProviderInterface* TestHttpBridgeFactory::Create() { } void TestHttpBridgeFactory::Destroy(sync_api::HttpPostProviderInterface* http) { - delete http; + delete static_cast<TestHttpBridge*>(http); } } // namespace browser_sync diff --git a/jingle/notifier/base/task_pump.cc b/jingle/notifier/base/task_pump.cc index 001f1ab..a282478 100644 --- a/jingle/notifier/base/task_pump.cc +++ b/jingle/notifier/base/task_pump.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 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. @@ -14,11 +14,11 @@ TaskPump::TaskPump() stopped_(false) {} TaskPump::~TaskPump() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); } void TaskPump::WakeTasks() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); if (!stopped_ && !posted_wake_) { MessageLoop* current_message_loop = MessageLoop::current(); CHECK(current_message_loop); @@ -31,7 +31,7 @@ void TaskPump::WakeTasks() { } int64 TaskPump::CurrentTime() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); // Only timeout tasks rely on this function. Since we're not using // libjingle tasks for timeout, it's safe to return 0 here. return 0; @@ -42,7 +42,7 @@ void TaskPump::Stop() { } void TaskPump::CheckAndRunTasks() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); if (stopped_) { return; } diff --git a/jingle/notifier/base/task_pump.h b/jingle/notifier/base/task_pump.h index 08f67f7..ee18fbe 100644 --- a/jingle/notifier/base/task_pump.h +++ b/jingle/notifier/base/task_pump.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 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. @@ -12,7 +12,7 @@ namespace notifier { -class TaskPump : public talk_base::TaskRunner { +class TaskPump : public talk_base::TaskRunner, public base::NonThreadSafe { public: TaskPump(); @@ -29,7 +29,6 @@ class TaskPump : public talk_base::TaskRunner { private: void CheckAndRunTasks(); - base::NonThreadSafe non_thread_safe_; base::WeakPtrFactory<TaskPump> weak_factory_; bool posted_wake_; bool stopped_; diff --git a/jingle/notifier/base/weak_xmpp_client.cc b/jingle/notifier/base/weak_xmpp_client.cc index 4eedd9f..9a6e382 100644 --- a/jingle/notifier/base/weak_xmpp_client.cc +++ b/jingle/notifier/base/weak_xmpp_client.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 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. @@ -13,12 +13,12 @@ WeakXmppClient::WeakXmppClient(talk_base::TaskParent* parent) weak_ptr_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) {} WeakXmppClient::~WeakXmppClient() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); Invalidate(); } void WeakXmppClient::Invalidate() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); // We don't want XmppClient raising any signals once its invalidated. SignalStateChange.disconnect_all(); SignalLogInput.disconnect_all(); @@ -27,12 +27,12 @@ void WeakXmppClient::Invalidate() { } base::WeakPtr<WeakXmppClient> WeakXmppClient::AsWeakPtr() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); return weak_ptr_factory_.GetWeakPtr(); } void WeakXmppClient::Stop() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); // We don't want XmppClient used after it has been stopped. Invalidate(); buzz::XmppClient::Stop(); diff --git a/jingle/notifier/base/weak_xmpp_client.h b/jingle/notifier/base/weak_xmpp_client.h index 491d3d7..4549688 100644 --- a/jingle/notifier/base/weak_xmpp_client.h +++ b/jingle/notifier/base/weak_xmpp_client.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 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. // @@ -25,7 +25,7 @@ namespace notifier { // buzz::XmppClient's destructor isn't marked virtual, but it inherits // from talk_base::Task, whose destructor *is* marked virtual, so we // can safely inherit from it. -class WeakXmppClient : public buzz::XmppClient { +class WeakXmppClient : public buzz::XmppClient, public base::NonThreadSafe { public: explicit WeakXmppClient(talk_base::TaskParent* parent); @@ -44,7 +44,6 @@ class WeakXmppClient : public buzz::XmppClient { virtual void Stop() OVERRIDE; private: - base::NonThreadSafe non_thread_safe_; // We use our own WeakPtrFactory instead of inheriting from // SupportsWeakPtr since we want to invalidate in other places // besides the destructor. diff --git a/jingle/notifier/base/xmpp_connection.cc b/jingle/notifier/base/xmpp_connection.cc index 6df0de8..8ecdd9b 100644 --- a/jingle/notifier/base/xmpp_connection.cc +++ b/jingle/notifier/base/xmpp_connection.cc @@ -77,7 +77,7 @@ XmppConnection::XmppConnection( } XmppConnection::~XmppConnection() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); ClearClient(); task_pump_->Stop(); MessageLoop* current_message_loop = MessageLoop::current(); @@ -90,7 +90,7 @@ XmppConnection::~XmppConnection() { } void XmppConnection::OnStateChange(buzz::XmppEngine::State state) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); VLOG(1) << "XmppClient state changed to " << state; if (!weak_xmpp_client_.get()) { LOG(DFATAL) << "weak_xmpp_client_ unexpectedly NULL"; @@ -128,12 +128,12 @@ void XmppConnection::OnStateChange(buzz::XmppEngine::State state) { } void XmppConnection::OnInputLog(const char* data, int len) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); VLOG(2) << "XMPP Input: " << base::StringPiece(data, len); } void XmppConnection::OnOutputLog(const char* data, int len) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); VLOG(2) << "XMPP Output: " << base::StringPiece(data, len); } diff --git a/jingle/notifier/base/xmpp_connection.h b/jingle/notifier/base/xmpp_connection.h index 9baea68..da07e43 100644 --- a/jingle/notifier/base/xmpp_connection.h +++ b/jingle/notifier/base/xmpp_connection.h @@ -30,7 +30,9 @@ namespace notifier { class TaskPump; class WeakXmppClient; -class XmppConnection : public sigslot::has_slots<> { +class XmppConnection + : public sigslot::has_slots<>, + public base::NonThreadSafe { public: class Delegate { public: @@ -82,7 +84,6 @@ class XmppConnection : public sigslot::has_slots<> { void ClearClient(); - base::NonThreadSafe non_thread_safe_; scoped_ptr<TaskPump> task_pump_; base::WeakPtr<WeakXmppClient> weak_xmpp_client_; bool on_connect_called_; diff --git a/jingle/notifier/communicator/login.h b/jingle/notifier/communicator/login.h index d0667b1..d089cb6d6 100644 --- a/jingle/notifier/communicator/login.h +++ b/jingle/notifier/communicator/login.h @@ -45,11 +45,12 @@ class Login : public net::NetworkChangeNotifier::IPAddressObserver, public: class Delegate { public: - virtual ~Delegate() {} - virtual void OnConnect( base::WeakPtr<buzz::XmppTaskParentInterface> base_task) = 0; virtual void OnDisconnect() = 0; + + protected: + virtual ~Delegate() {} }; // Does not take ownership of |delegate|, which must not be NULL. diff --git a/jingle/notifier/listener/push_notifications_listen_task.h b/jingle/notifier/listener/push_notifications_listen_task.h index 7d41a8b..daf48d9 100644 --- a/jingle/notifier/listener/push_notifications_listen_task.h +++ b/jingle/notifier/listener/push_notifications_listen_task.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 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. // @@ -28,9 +28,10 @@ class PushNotificationsListenTask : public buzz::XmppTask { public: class Delegate { public: - virtual ~Delegate() {} - virtual void OnNotificationReceived( - const Notification& notification) = 0; + virtual void OnNotificationReceived(const Notification& notification) = 0; + + protected: + virtual ~Delegate() {} }; PushNotificationsListenTask(buzz::XmppTaskParentInterface* parent, diff --git a/sync/api/sync_change_processor.h b/sync/api/sync_change_processor.h index 1eed159..d97d28d 100644 --- a/sync/api/sync_change_processor.h +++ b/sync/api/sync_change_processor.h @@ -34,7 +34,6 @@ class SyncChangeProcessor { virtual SyncError ProcessSyncChanges( const tracked_objects::Location& from_here, const SyncChangeList& change_list) = 0; - protected: }; #endif // SYNC_API_SYNC_CHANGE_PROCESSOR_H_ diff --git a/sync/internal_api/http_post_provider_interface.h b/sync/internal_api/http_post_provider_interface.h index 10b02b5..df31b7f 100644 --- a/sync/internal_api/http_post_provider_interface.h +++ b/sync/internal_api/http_post_provider_interface.h @@ -16,8 +16,6 @@ namespace sync_api { // want to make a subsequent POST. class HttpPostProviderInterface { public: - virtual ~HttpPostProviderInterface() {} - // Use specified user agent string when POSTing. If not called a default UA // may be used. virtual void SetUserAgent(const char* user_agent) = 0; @@ -59,6 +57,9 @@ class HttpPostProviderInterface { // Abandon any pending POST and unblock caller in MakeSynchronousPost. // This must be safe to call from any thread. virtual void Abort() = 0; + + protected: + virtual ~HttpPostProviderInterface() {} }; } // namespace sync_api diff --git a/sync/internal_api/js_mutation_event_observer.cc b/sync/internal_api/js_mutation_event_observer.cc index 9833b09..f03d47a 100644 --- a/sync/internal_api/js_mutation_event_observer.cc +++ b/sync/internal_api/js_mutation_event_observer.cc @@ -19,7 +19,7 @@ JsMutationEventObserver::JsMutationEventObserver() : weak_ptr_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) {} JsMutationEventObserver::~JsMutationEventObserver() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); } base::WeakPtr<JsMutationEventObserver> JsMutationEventObserver::AsWeakPtr() { @@ -86,7 +86,7 @@ void JsMutationEventObserver::OnChangesComplete( void JsMutationEventObserver::OnTransactionWrite( const syncable::ImmutableWriteTransactionInfo& write_transaction_info, syncable::ModelTypeSet models_with_changes) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); if (!event_handler_.IsInitialized()) { return; } diff --git a/sync/internal_api/js_mutation_event_observer.h b/sync/internal_api/js_mutation_event_observer.h index 60a33a2..3022fa0 100644 --- a/sync/internal_api/js_mutation_event_observer.h +++ b/sync/internal_api/js_mutation_event_observer.h @@ -29,7 +29,8 @@ class JsEventHandler; // summarized version to a JsEventHandler. class JsMutationEventObserver : public sync_api::SyncManager::ChangeObserver, - public syncable::TransactionObserver { + public syncable::TransactionObserver, + public base::NonThreadSafe { public: JsMutationEventObserver(); @@ -54,7 +55,6 @@ class JsMutationEventObserver syncable::ModelTypeSet models_with_changes) OVERRIDE; private: - base::NonThreadSafe non_thread_safe_; base::WeakPtrFactory<JsMutationEventObserver> weak_ptr_factory_; WeakHandle<JsEventHandler> event_handler_; diff --git a/sync/internal_api/syncapi_server_connection_manager_unittest.cc b/sync/internal_api/syncapi_server_connection_manager_unittest.cc index a2f5280..0c81e98 100644 --- a/sync/internal_api/syncapi_server_connection_manager_unittest.cc +++ b/sync/internal_api/syncapi_server_connection_manager_unittest.cc @@ -66,7 +66,7 @@ class BlockingHttpPostFactory : public HttpPostProviderFactory { return new BlockingHttpPost(); } virtual void Destroy(HttpPostProviderInterface* http) OVERRIDE { - delete http; + delete static_cast<BlockingHttpPost*>(http); } }; diff --git a/sync/internal_api/syncapi_unittest.cc b/sync/internal_api/syncapi_unittest.cc index e8fa2bd..991aed6 100644 --- a/sync/internal_api/syncapi_unittest.cc +++ b/sync/internal_api/syncapi_unittest.cc @@ -680,7 +680,7 @@ class TestHttpPostProviderFactory : public HttpPostProviderFactory { return new TestHttpPostProviderInterface(); } virtual void Destroy(HttpPostProviderInterface* http) OVERRIDE { - delete http; + delete static_cast<TestHttpPostProviderInterface*>(http); } }; diff --git a/sync/notifier/chrome_invalidation_client.cc b/sync/notifier/chrome_invalidation_client.cc index 5ddb56b..278076f 100644 --- a/sync/notifier/chrome_invalidation_client.cc +++ b/sync/notifier/chrome_invalidation_client.cc @@ -35,11 +35,11 @@ ChromeInvalidationClient::ChromeInvalidationClient( ALLOW_THIS_IN_INITIALIZER_LIST(this)), listener_(NULL), ticl_ready_(false) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); } ChromeInvalidationClient::~ChromeInvalidationClient() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); Stop(); DCHECK(!listener_); } @@ -51,7 +51,7 @@ void ChromeInvalidationClient::Start( const browser_sync::WeakHandle<InvalidationStateTracker>& invalidation_state_tracker, Listener* listener) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); Stop(); chrome_system_resources_.set_platform(client_info); @@ -94,12 +94,12 @@ void ChromeInvalidationClient::Start( void ChromeInvalidationClient::UpdateCredentials( const std::string& email, const std::string& token) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); chrome_system_resources_.network()->UpdateCredentials(email, token); } void ChromeInvalidationClient::Stop() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); if (!invalidation_client_.get()) { return; } @@ -116,7 +116,7 @@ void ChromeInvalidationClient::Stop() { } void ChromeInvalidationClient::RegisterTypes(syncable::ModelTypeSet types) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); registered_types_ = types; if (ticl_ready_ && registration_manager_.get()) { registration_manager_->SetRegisteredTypes(registered_types_); @@ -135,7 +135,7 @@ void ChromeInvalidationClient::Invalidate( invalidation::InvalidationClient* client, const invalidation::Invalidation& invalidation, const invalidation::AckHandle& ack_handle) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); DVLOG(1) << "Invalidate: " << InvalidationToString(invalidation); syncable::ModelType model_type; if (!ObjectIdToRealModelType(invalidation.object_id(), &model_type)) { @@ -185,7 +185,7 @@ void ChromeInvalidationClient::InvalidateUnknownVersion( invalidation::InvalidationClient* client, const invalidation::ObjectId& object_id, const invalidation::AckHandle& ack_handle) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); DVLOG(1) << "InvalidateUnknownVersion"; syncable::ModelType model_type; @@ -208,7 +208,7 @@ void ChromeInvalidationClient::InvalidateUnknownVersion( void ChromeInvalidationClient::InvalidateAll( invalidation::InvalidationClient* client, const invalidation::AckHandle& ack_handle) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); DVLOG(1) << "InvalidateAll"; EmitInvalidation(registered_types_, std::string()); // TODO(akalin): We should really acknowledge only after we get the @@ -218,7 +218,7 @@ void ChromeInvalidationClient::InvalidateAll( void ChromeInvalidationClient::EmitInvalidation( syncable::ModelTypeSet types, const std::string& payload) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); syncable::ModelTypePayloadMap type_payloads = syncable::ModelTypePayloadMapFromEnumSet(types, payload); listener_->OnInvalidate(type_payloads); @@ -228,7 +228,7 @@ void ChromeInvalidationClient::InformRegistrationStatus( invalidation::InvalidationClient* client, const invalidation::ObjectId& object_id, InvalidationListener::RegistrationState new_state) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); DVLOG(1) << "InformRegistrationStatus: " << ObjectIdToString(object_id) << " " << new_state; @@ -249,7 +249,7 @@ void ChromeInvalidationClient::InformRegistrationFailure( const invalidation::ObjectId& object_id, bool is_transient, const std::string& error_message) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); DVLOG(1) << "InformRegistrationFailure: " << ObjectIdToString(object_id) << "is_transient=" << is_transient @@ -278,7 +278,7 @@ void ChromeInvalidationClient::ReissueRegistrations( invalidation::InvalidationClient* client, const std::string& prefix, int prefix_length) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); DVLOG(1) << "AllRegistrationsLost"; registration_manager_->MarkAllRegistrationsLost(); } @@ -292,7 +292,7 @@ void ChromeInvalidationClient::InformError( } void ChromeInvalidationClient::WriteState(const std::string& state) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); DVLOG(1) << "WriteState"; invalidation_state_tracker_.Call( FROM_HERE, &InvalidationStateTracker::SetInvalidationState, state); diff --git a/sync/notifier/chrome_invalidation_client.h b/sync/notifier/chrome_invalidation_client.h index acfc001..ce0939b 100644 --- a/sync/notifier/chrome_invalidation_client.h +++ b/sync/notifier/chrome_invalidation_client.h @@ -42,7 +42,8 @@ class RegistrationManager; // thread. class ChromeInvalidationClient : public InvalidationListener, - public StateWriter { + public StateWriter, + public base::NonThreadSafe { public: class Listener { public: @@ -117,7 +118,6 @@ class ChromeInvalidationClient void EmitInvalidation( syncable::ModelTypeSet types, const std::string& payload); - base::NonThreadSafe non_thread_safe_; ChromeSystemResources chrome_system_resources_; InvalidationVersionMap max_invalidation_versions_; browser_sync::WeakHandle<InvalidationStateTracker> diff --git a/sync/notifier/invalidation_notifier.cc b/sync/notifier/invalidation_notifier.cc index 6f5c382..485e969 100644 --- a/sync/notifier/invalidation_notifier.cc +++ b/sync/notifier/invalidation_notifier.cc @@ -32,28 +32,28 @@ InvalidationNotifier::InvalidationNotifier( } InvalidationNotifier::~InvalidationNotifier() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); } void InvalidationNotifier::AddObserver(SyncNotifierObserver* observer) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); observers_.AddObserver(observer); } void InvalidationNotifier::RemoveObserver(SyncNotifierObserver* observer) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); observers_.RemoveObserver(observer); } void InvalidationNotifier::SetUniqueId(const std::string& unique_id) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); invalidation_client_id_ = unique_id; DVLOG(1) << "Setting unique ID to " << unique_id; CHECK(!invalidation_client_id_.empty()); } void InvalidationNotifier::SetStateDeprecated(const std::string& state) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); DCHECK_LT(state_, STARTED); if (invalidation_state_.empty()) { // Migrate state from sync to invalidation state tracker (bug @@ -88,20 +88,20 @@ void InvalidationNotifier::UpdateCredentials( void InvalidationNotifier::UpdateEnabledTypes( syncable::ModelTypeSet enabled_types) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); CHECK(!invalidation_client_id_.empty()); invalidation_client_.RegisterTypes(enabled_types); } void InvalidationNotifier::SendNotification( syncable::ModelTypeSet changed_types) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); // Do nothing. } void InvalidationNotifier::OnInvalidate( const syncable::ModelTypePayloadMap& type_payloads) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); FOR_EACH_OBSERVER(SyncNotifierObserver, observers_, OnIncomingNotification(type_payloads, sync_notifier::REMOTE_NOTIFICATION)); diff --git a/sync/notifier/invalidation_notifier.h b/sync/notifier/invalidation_notifier.h index 01108f5..f7f2efd 100644 --- a/sync/notifier/invalidation_notifier.h +++ b/sync/notifier/invalidation_notifier.h @@ -35,7 +35,8 @@ namespace sync_notifier { // This class must live on the IO thread. class InvalidationNotifier : public SyncNotifier, - public ChromeInvalidationClient::Listener { + public ChromeInvalidationClient::Listener, + public base::NonThreadSafe { public: // |invalidation_state_tracker| must be initialized. InvalidationNotifier( @@ -66,8 +67,6 @@ class InvalidationNotifier virtual void OnSessionStatusChanged(bool has_session) OVERRIDE; private: - base::NonThreadSafe non_thread_safe_; - // We start off in the STOPPED state. When we get our initial // credentials, we connect and move to the CONNECTING state. When // we're connected we start the invalidation client and move to the diff --git a/sync/notifier/registration_manager.cc b/sync/notifier/registration_manager.cc index 8e04916..63a7e8c 100644 --- a/sync/notifier/registration_manager.cc +++ b/sync/notifier/registration_manager.cc @@ -67,12 +67,12 @@ RegistrationManager::RegistrationManager( } RegistrationManager::~RegistrationManager() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); } void RegistrationManager::SetRegisteredTypes( syncable::ModelTypeSet types) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); for (int i = syncable::FIRST_REAL_MODEL_TYPE; i < syncable::MODEL_TYPE_COUNT; ++i) { @@ -91,7 +91,7 @@ void RegistrationManager::SetRegisteredTypes( void RegistrationManager::MarkRegistrationLost( syncable::ModelType model_type) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); RegistrationStatus* status = ®istration_statuses_[model_type]; if (!status->enabled) { return; @@ -102,7 +102,7 @@ void RegistrationManager::MarkRegistrationLost( } void RegistrationManager::MarkAllRegistrationsLost() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); for (int i = syncable::FIRST_REAL_MODEL_TYPE; i < syncable::MODEL_TYPE_COUNT; ++i) { syncable::ModelType model_type = syncable::ModelTypeFromInt(i); @@ -113,14 +113,14 @@ void RegistrationManager::MarkAllRegistrationsLost() { } void RegistrationManager::DisableType(syncable::ModelType model_type) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); RegistrationStatus* status = ®istration_statuses_[model_type]; LOG(INFO) << "Disabling " << syncable::ModelTypeToString(model_type); status->Disable(); } syncable::ModelTypeSet RegistrationManager::GetRegisteredTypes() const { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); syncable::ModelTypeSet registered_types; for (int i = syncable::FIRST_REAL_MODEL_TYPE; i < syncable::MODEL_TYPE_COUNT; ++i) { @@ -134,7 +134,7 @@ syncable::ModelTypeSet RegistrationManager::GetRegisteredTypes() const { RegistrationManager::PendingRegistrationMap RegistrationManager::GetPendingRegistrations() const { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); PendingRegistrationMap pending_registrations; for (int i = syncable::FIRST_REAL_MODEL_TYPE; i < syncable::MODEL_TYPE_COUNT; ++i) { @@ -154,7 +154,7 @@ RegistrationManager::PendingRegistrationMap } void RegistrationManager::FirePendingRegistrationsForTest() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); for (int i = syncable::FIRST_REAL_MODEL_TYPE; i < syncable::MODEL_TYPE_COUNT; ++i) { syncable::ModelType model_type = syncable::ModelTypeFromInt(i); @@ -194,7 +194,7 @@ double RegistrationManager::GetJitter() { void RegistrationManager::TryRegisterType(syncable::ModelType model_type, bool is_retry) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); RegistrationStatus* status = ®istration_statuses_[model_type]; if (!status->enabled) { // Disabled, so do nothing. @@ -241,7 +241,7 @@ void RegistrationManager::TryRegisterType(syncable::ModelType model_type, } void RegistrationManager::DoRegisterType(syncable::ModelType model_type) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); invalidation::ObjectId object_id; if (!RealModelTypeToObjectId(model_type, &object_id)) { LOG(DFATAL) << "Invalid model type: " << model_type; @@ -254,7 +254,7 @@ void RegistrationManager::DoRegisterType(syncable::ModelType model_type) { } void RegistrationManager::UnregisterType(syncable::ModelType model_type) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); invalidation::ObjectId object_id; if (!RealModelTypeToObjectId(model_type, &object_id)) { LOG(DFATAL) << "Invalid model type: " << model_type; @@ -267,7 +267,7 @@ void RegistrationManager::UnregisterType(syncable::ModelType model_type) { bool RegistrationManager::IsTypeRegistered( syncable::ModelType model_type) const { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); return registration_statuses_[model_type].state == invalidation::InvalidationListener::REGISTERED; } diff --git a/sync/notifier/registration_manager.h b/sync/notifier/registration_manager.h index 44e7cf3..8b27054 100644 --- a/sync/notifier/registration_manager.h +++ b/sync/notifier/registration_manager.h @@ -32,7 +32,7 @@ using ::invalidation::InvalidationListener; // implementations include the syncer thread (both versions) and XMPP // retries. The most sophisticated one is URLRequestThrottler; making // that generic should work for everyone. -class RegistrationManager { +class RegistrationManager : public base::NonThreadSafe { public: // Constants for exponential backoff (used by tests). static const int kInitialRegistrationDelaySeconds; @@ -164,7 +164,6 @@ class RegistrationManager { // Returns true iff the given type, which must be valid, is registered. bool IsTypeRegistered(syncable::ModelType model_type) const; - base::NonThreadSafe non_thread_safe_; RegistrationStatus registration_statuses_[syncable::MODEL_TYPE_COUNT]; // Weak pointer. invalidation::InvalidationClient* invalidation_client_; diff --git a/sync/notifier/sync_notifier_observer.h b/sync/notifier/sync_notifier_observer.h index a6a629f..0685528 100644 --- a/sync/notifier/sync_notifier_observer.h +++ b/sync/notifier/sync_notifier_observer.h @@ -21,13 +21,13 @@ enum IncomingNotificationSource { class SyncNotifierObserver { public: - SyncNotifierObserver() {} - virtual ~SyncNotifierObserver() {} - virtual void OnIncomingNotification( const syncable::ModelTypePayloadMap& type_payloads, IncomingNotificationSource source) = 0; virtual void OnNotificationStateChange(bool notifications_enabled) = 0; + + protected: + virtual ~SyncNotifierObserver() {} }; } // namespace sync_notifier diff --git a/sync/test/engine/fake_model_worker.cc b/sync/test/engine/fake_model_worker.cc index 9938e08..3c254f5 100644 --- a/sync/test/engine/fake_model_worker.cc +++ b/sync/test/engine/fake_model_worker.cc @@ -13,18 +13,18 @@ FakeModelWorker::~FakeModelWorker() { // multi-threaded test; since ModelSafeWorkers are // RefCountedThreadSafe, they could theoretically be destroyed from // a different thread. - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); } SyncerError FakeModelWorker::DoWorkAndWaitUntilDone( const WorkCallback& work) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); // Simply do the work on the current thread. return work.Run(); } ModelSafeGroup FakeModelWorker::GetModelSafeGroup() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); return group_; } diff --git a/sync/test/engine/fake_model_worker.h b/sync/test/engine/fake_model_worker.h index 72ad59e..59a9e0b 100644 --- a/sync/test/engine/fake_model_worker.h +++ b/sync/test/engine/fake_model_worker.h @@ -18,7 +18,7 @@ namespace browser_sync { // Fake implementation of ModelSafeWorker that does work on the // current thread regardless of the group. -class FakeModelWorker : public ModelSafeWorker { +class FakeModelWorker : public ModelSafeWorker, public base::NonThreadSafe { public: explicit FakeModelWorker(ModelSafeGroup group); @@ -30,8 +30,6 @@ class FakeModelWorker : public ModelSafeWorker { private: virtual ~FakeModelWorker(); - base::NonThreadSafe non_thread_safe_; - const ModelSafeGroup group_; DISALLOW_COPY_AND_ASSIGN(FakeModelWorker); diff --git a/sync/test/fake_extensions_activity_monitor.cc b/sync/test/fake_extensions_activity_monitor.cc index b3e38cd..4cf5042 100644 --- a/sync/test/fake_extensions_activity_monitor.cc +++ b/sync/test/fake_extensions_activity_monitor.cc @@ -11,17 +11,17 @@ namespace browser_sync { FakeExtensionsActivityMonitor::FakeExtensionsActivityMonitor() {} FakeExtensionsActivityMonitor::~FakeExtensionsActivityMonitor() { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); } void FakeExtensionsActivityMonitor::GetAndClearRecords(Records* buffer) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); buffer->clear(); buffer->swap(records_); } void FakeExtensionsActivityMonitor::PutRecords(const Records& records) { - DCHECK(non_thread_safe_.CalledOnValidThread()); + DCHECK(CalledOnValidThread()); for (Records::const_iterator i = records.begin(); i != records.end(); ++i) { records_[i->first].extension_id = i->second.extension_id; records_[i->first].bookmark_write_count += i->second.bookmark_write_count; diff --git a/sync/test/fake_extensions_activity_monitor.h b/sync/test/fake_extensions_activity_monitor.h index 2beb64f..4152bf7 100644 --- a/sync/test/fake_extensions_activity_monitor.h +++ b/sync/test/fake_extensions_activity_monitor.h @@ -14,7 +14,9 @@ namespace browser_sync { // Fake non-thread-safe implementation of ExtensionsActivityMonitor // suitable to be used in single-threaded sync tests. -class FakeExtensionsActivityMonitor : public ExtensionsActivityMonitor { +class FakeExtensionsActivityMonitor + : public ExtensionsActivityMonitor, + public base::NonThreadSafe { public: FakeExtensionsActivityMonitor(); virtual ~FakeExtensionsActivityMonitor(); @@ -25,7 +27,6 @@ class FakeExtensionsActivityMonitor : public ExtensionsActivityMonitor { private: Records records_; - base::NonThreadSafe non_thread_safe_; }; } // namespace browser_sync |