summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordmichael <dmichael@chromium.org>2014-12-12 11:01:47 -0800
committerCommit bot <commit-bot@chromium.org>2014-12-12 19:02:31 +0000
commit23a804335e8955cac7825039ce3c40a8a23fc436 (patch)
tree0be2aaafd51d273ee856bac02909b7560215e4e4
parent5262e5a158f6302eb4dac49d416b1a00f37186ba (diff)
downloadchromium_src-23a804335e8955cac7825039ce3c40a8a23fc436.zip
chromium_src-23a804335e8955cac7825039ce3c40a8a23fc436.tar.gz
chromium_src-23a804335e8955cac7825039ce3c40a8a23fc436.tar.bz2
Fix remaining WeakPtrFactory ordering problems in preparation for turning on the check.
WeakPtrFactory members should always be last so that they invalidate WeakPtrs prior to other destructors running. These are mostly trivial/mechanical ones. (We'll also need https://codereview.chromium.org/795003003/, which I split out) BUG=303818 TBR=rockot,vitalybuka,cbentzel,shess,dmazzoni,stanisc,sky,tim,mathp,benjhayden,kinuko,scottmg,sergeyu,zork,ddorwin Review URL: https://codereview.chromium.org/780713002 Cr-Commit-Position: refs/heads/master@{#308137}
-rw-r--r--chrome/browser/extensions/extension_resource_protocols.cc4
-rw-r--r--chrome/browser/local_discovery/service_discovery_client_mdns.cc2
-rw-r--r--chrome/browser/prerender/prerender_local_predictor.cc4
-rw-r--r--chrome/browser/prerender/prerender_local_predictor.h4
-rw-r--r--chrome/browser/safe_browsing/download_protection_service.cc6
-rw-r--r--chrome/browser/speech/extension_api/tts_extension_apitest.cc6
-rw-r--r--chrome/browser/sync/sessions/session_data_type_controller_unittest.cc6
-rw-r--r--chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.h4
-rw-r--r--chrome/browser/ui/views/status_bubble_views.cc8
-rw-r--r--chrome/browser/ui/webui/signin/user_manager_screen_handler.h4
-rw-r--r--components/signin/core/browser/signin_manager.cc4
-rw-r--r--components/signin/core/browser/signin_manager.h4
-rw-r--r--components/suggestions/image_manager.h4
-rw-r--r--components/sync_driver/device_info_data_type_controller_unittest.cc6
-rw-r--r--content/browser/download/download_browsertest.cc7
-rw-r--r--content/browser/fileapi/file_system_quota_client_unittest.cc8
-rw-r--r--content/browser/fileapi/file_system_url_request_job_unittest.cc3
-rw-r--r--content/browser/fileapi/obfuscated_file_util_unittest.cc6
-rw-r--r--content/browser/gamepad/gamepad_provider_unittest.cc6
-rw-r--r--content/browser/renderer_host/p2p/socket_host.cc4
-rw-r--r--content/browser/renderer_host/p2p/socket_host.h4
-rw-r--r--content/browser/streams/stream_url_request_job.cc4
-rw-r--r--content/browser/streams/stream_url_request_job.h3
-rw-r--r--content/renderer/media/remote_media_stream_impl.cc6
-rw-r--r--content/renderer/media/remote_media_stream_impl.h5
-rw-r--r--content/renderer/pepper/plugin_object.cc4
-rw-r--r--content/renderer/pepper/plugin_object.h4
-rw-r--r--device/hid/hid_service_linux.h2
-rw-r--r--extensions/browser/api/declarative/rules_registry.h6
-rw-r--r--extensions/browser/api/hid/hid_device_manager.cc6
-rw-r--r--extensions/browser/api/hid/hid_device_manager.h2
-rw-r--r--extensions/browser/api/serial/serial_connection.cc2
-rw-r--r--extensions/browser/api/serial/serial_connection.h2
-rw-r--r--media/cast/test/utility/udp_proxy.cc2
34 files changed, 77 insertions, 75 deletions
diff --git a/chrome/browser/extensions/extension_resource_protocols.cc b/chrome/browser/extensions/extension_resource_protocols.cc
index 92c8b21..c24b53f 100644
--- a/chrome/browser/extensions/extension_resource_protocols.cc
+++ b/chrome/browser/extensions/extension_resource_protocols.cc
@@ -43,10 +43,10 @@ class ExtensionResourcesJob : public net::URLRequestFileJob {
void ResolvePathDone(const base::FilePath& resolved_path);
private:
- base::WeakPtrFactory<ExtensionResourcesJob> weak_ptr_factory_;
-
base::ThreadChecker thread_checker_;
+ base::WeakPtrFactory<ExtensionResourcesJob> weak_ptr_factory_;
+
DISALLOW_COPY_AND_ASSIGN(ExtensionResourcesJob);
};
diff --git a/chrome/browser/local_discovery/service_discovery_client_mdns.cc b/chrome/browser/local_discovery/service_discovery_client_mdns.cc
index 74f21cf..fbd077f 100644
--- a/chrome/browser/local_discovery/service_discovery_client_mdns.cc
+++ b/chrome/browser/local_discovery/service_discovery_client_mdns.cc
@@ -92,9 +92,9 @@ class ServiceDiscoveryClientMdns::Proxy {
private:
scoped_refptr<ServiceDiscoveryClientMdns> client_;
- base::WeakPtrFactory<Proxy> weak_ptr_factory_;
// Delayed |mdns_runner_| tasks.
std::vector<base::Closure> delayed_tasks_;
+ base::WeakPtrFactory<Proxy> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(Proxy);
};
diff --git a/chrome/browser/prerender/prerender_local_predictor.cc b/chrome/browser/prerender/prerender_local_predictor.cc
index 6b112c8..3516d95 100644
--- a/chrome/browser/prerender/prerender_local_predictor.cc
+++ b/chrome/browser/prerender/prerender_local_predictor.cc
@@ -528,9 +528,9 @@ class PrerenderLocalPredictor::PrefetchList {
PrerenderLocalPredictor::PrerenderLocalPredictor(
PrerenderManager* prerender_manager)
: prerender_manager_(prerender_manager),
- weak_factory_(this),
prefetch_list_(new PrefetchList()),
- history_service_observer_(this) {
+ history_service_observer_(this),
+ weak_factory_(this) {
RecordEvent(EVENT_CONSTRUCTED);
if (base::MessageLoop::current()) {
timer_.Start(FROM_HERE,
diff --git a/chrome/browser/prerender/prerender_local_predictor.h b/chrome/browser/prerender/prerender_local_predictor.h
index e0a5c34..e91ba31 100644
--- a/chrome/browser/prerender/prerender_local_predictor.h
+++ b/chrome/browser/prerender/prerender_local_predictor.h
@@ -232,13 +232,13 @@ class PrerenderLocalPredictor : public history::HistoryServiceObserver,
base::hash_set<int64> url_whitelist_;
- base::WeakPtrFactory<PrerenderLocalPredictor> weak_factory_;
-
scoped_ptr<PrefetchList> prefetch_list_;
ScopedObserver<HistoryService, HistoryServiceObserver>
history_service_observer_;
+ base::WeakPtrFactory<PrerenderLocalPredictor> weak_factory_;
+
DISALLOW_COPY_AND_ASSIGN(PrerenderLocalPredictor);
};
diff --git a/chrome/browser/safe_browsing/download_protection_service.cc b/chrome/browser/safe_browsing/download_protection_service.cc
index c8f2e7f..8b507fd 100644
--- a/chrome/browser/safe_browsing/download_protection_service.cc
+++ b/chrome/browser/safe_browsing/download_protection_service.cc
@@ -293,8 +293,8 @@ class DownloadProtectionService::CheckClientDownloadRequest
pingback_enabled_(service_->enabled()),
finished_(false),
type_(ClientDownloadRequest::WIN_EXECUTABLE),
- weakptr_factory_(this),
- start_time_(base::TimeTicks::Now()) {
+ start_time_(base::TimeTicks::Now()),
+ weakptr_factory_(this) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
item_->AddObserver(this);
}
@@ -905,10 +905,10 @@ class DownloadProtectionService::CheckClientDownloadRequest
ClientDownloadRequest::DownloadType type_;
std::string client_download_request_data_;
base::CancelableTaskTracker request_tracker_; // For HistoryService lookup.
- base::WeakPtrFactory<CheckClientDownloadRequest> weakptr_factory_;
base::TimeTicks start_time_; // Used for stats.
base::TimeTicks timeout_start_time_;
base::TimeTicks request_start_time_;
+ base::WeakPtrFactory<CheckClientDownloadRequest> weakptr_factory_;
DISALLOW_COPY_AND_ASSIGN(CheckClientDownloadRequest);
};
diff --git a/chrome/browser/speech/extension_api/tts_extension_apitest.cc b/chrome/browser/speech/extension_api/tts_extension_apitest.cc
index 1dadbc5..386175a 100644
--- a/chrome/browser/speech/extension_api/tts_extension_apitest.cc
+++ b/chrome/browser/speech/extension_api/tts_extension_apitest.cc
@@ -45,8 +45,8 @@ namespace extensions {
class MockTtsPlatformImpl : public TtsPlatformImpl {
public:
MockTtsPlatformImpl()
- : ptr_factory_(this),
- should_fake_get_voices_(false) {}
+ : should_fake_get_voices_(false),
+ ptr_factory_(this) {}
virtual bool PlatformImplAvailable() {
return true;
@@ -162,8 +162,8 @@ class MockTtsPlatformImpl : public TtsPlatformImpl {
}
private:
- base::WeakPtrFactory<MockTtsPlatformImpl> ptr_factory_;
bool should_fake_get_voices_;
+ base::WeakPtrFactory<MockTtsPlatformImpl> ptr_factory_;
};
class FakeNetworkOnlineStateForTest : public net::NetworkChangeNotifier {
diff --git a/chrome/browser/sync/sessions/session_data_type_controller_unittest.cc b/chrome/browser/sync/sessions/session_data_type_controller_unittest.cc
index f894d39..b427003 100644
--- a/chrome/browser/sync/sessions/session_data_type_controller_unittest.cc
+++ b/chrome/browser/sync/sessions/session_data_type_controller_unittest.cc
@@ -83,8 +83,8 @@ class SessionDataTypeControllerTest
SessionDataTypeControllerTest()
: load_finished_(false),
thread_bundle_(content::TestBrowserThreadBundle::DEFAULT),
- weak_ptr_factory_(this),
- last_type_(syncer::UNSPECIFIED) {}
+ last_type_(syncer::UNSPECIFIED),
+ weak_ptr_factory_(this) {}
~SessionDataTypeControllerTest() override {}
void SetUp() override {
@@ -162,9 +162,9 @@ class SessionDataTypeControllerTest
content::TestBrowserThreadBundle thread_bundle_;
ProfileSyncComponentsFactoryMock profile_sync_factory_;
TestingProfile profile_;
- base::WeakPtrFactory<SessionDataTypeControllerTest> weak_ptr_factory_;
syncer::ModelType last_type_;
syncer::SyncError last_error_;
+ base::WeakPtrFactory<SessionDataTypeControllerTest> weak_ptr_factory_;
};
TEST_F(SessionDataTypeControllerTest, StartModels) {
diff --git a/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.h b/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.h
index 1e0df0a..d4a8efe 100644
--- a/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.h
+++ b/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.h
@@ -170,11 +170,11 @@ class RecentTabsSubMenuModel : public ui::SimpleMenuModel,
base::CancelableTaskTracker local_tab_cancelable_task_tracker_;
base::CancelableTaskTracker other_devices_tab_cancelable_task_tracker_;
- base::WeakPtrFactory<RecentTabsSubMenuModel> weak_ptr_factory_;
-
// Time the menu is open for until a recent tab is selected.
base::ElapsedTimer menu_opened_timer_;
+ base::WeakPtrFactory<RecentTabsSubMenuModel> weak_ptr_factory_;
+
DISALLOW_COPY_AND_ASSIGN(RecentTabsSubMenuModel);
};
diff --git a/chrome/browser/ui/views/status_bubble_views.cc b/chrome/browser/ui/views/status_bubble_views.cc
index 6eb3b92..96d5061 100644
--- a/chrome/browser/ui/views/status_bubble_views.cc
+++ b/chrome/browser/ui/views/status_bubble_views.cc
@@ -173,8 +173,6 @@ class StatusBubbleViews::StatusView : public views::View {
BubbleState state_;
BubbleStyle style_;
- base::WeakPtrFactory<StatusBubbleViews::StatusView> timer_factory_;
-
scoped_ptr<StatusViewAnimation> animation_;
// Handle to the widget that contains us.
@@ -186,6 +184,8 @@ class StatusBubbleViews::StatusView : public views::View {
// Holds the theme provider of the frame that created us.
ui::ThemeProvider* theme_service_;
+ base::WeakPtrFactory<StatusBubbleViews::StatusView> timer_factory_;
+
DISALLOW_COPY_AND_ASSIGN(StatusView);
};
@@ -193,10 +193,10 @@ StatusBubbleViews::StatusView::StatusView(views::Widget* popup,
ui::ThemeProvider* theme_provider)
: state_(BUBBLE_HIDDEN),
style_(STYLE_STANDARD),
- timer_factory_(this),
animation_(new StatusViewAnimation(this, 0, 0)),
popup_(popup),
- theme_service_(theme_provider) {
+ theme_service_(theme_provider),
+ timer_factory_(this) {
}
StatusBubbleViews::StatusView::~StatusView() {
diff --git a/chrome/browser/ui/webui/signin/user_manager_screen_handler.h b/chrome/browser/ui/webui/signin/user_manager_screen_handler.h
index eb04e1f5..d1b5c2b 100644
--- a/chrome/browser/ui/webui/signin/user_manager_screen_handler.h
+++ b/chrome/browser/ui/webui/signin/user_manager_screen_handler.h
@@ -119,10 +119,10 @@ class UserManagerScreenHandler : public content::WebUIMessageHandler,
UserAuthTypeMap;
UserAuthTypeMap user_auth_type_map_;
- base::WeakPtrFactory<UserManagerScreenHandler> weak_ptr_factory_;
-
content::NotificationRegistrar registrar_;
+ base::WeakPtrFactory<UserManagerScreenHandler> weak_ptr_factory_;
+
DISALLOW_COPY_AND_ASSIGN(UserManagerScreenHandler);
};
diff --git a/components/signin/core/browser/signin_manager.cc b/components/signin/core/browser/signin_manager.cc
index 163204d..9525df0 100644
--- a/components/signin/core/browser/signin_manager.cc
+++ b/components/signin/core/browser/signin_manager.cc
@@ -68,9 +68,9 @@ SigninManager::SigninManager(SigninClient* client,
client_(client),
token_service_(token_service),
account_tracker_service_(account_tracker_service),
- weak_pointer_factory_(this),
signin_manager_signed_in_(false),
- user_info_fetched_by_account_tracker_(false) {}
+ user_info_fetched_by_account_tracker_(false),
+ weak_pointer_factory_(this) {}
void SigninManager::AddMergeSessionObserver(
MergeSessionHelper::Observer* observer) {
diff --git a/components/signin/core/browser/signin_manager.h b/components/signin/core/browser/signin_manager.h
index 04b645a..47e70d07 100644
--- a/components/signin/core/browser/signin_manager.h
+++ b/components/signin/core/browser/signin_manager.h
@@ -226,14 +226,14 @@ class SigninManager : public SigninManagerBase,
// Helper to merge signed in account into the content area.
scoped_ptr<MergeSessionHelper> merge_session_helper_;
- base::WeakPtrFactory<SigninManager> weak_pointer_factory_;
-
// Two gate conditions for when PostSignedIn should be called. Verify
// that the SigninManager has reached OnSignedIn() and the AccountTracker
// has completed calling GetUserInfo.
bool signin_manager_signed_in_;
bool user_info_fetched_by_account_tracker_;
+ base::WeakPtrFactory<SigninManager> weak_pointer_factory_;
+
DISALLOW_COPY_AND_ASSIGN(SigninManager);
};
diff --git a/components/suggestions/image_manager.h b/components/suggestions/image_manager.h
index 1f7e392..99ae55e 100644
--- a/components/suggestions/image_manager.h
+++ b/components/suggestions/image_manager.h
@@ -136,10 +136,10 @@ class ImageManager : public ImageFetcherDelegate {
bool database_ready_;
- base::WeakPtrFactory<ImageManager> weak_ptr_factory_;
-
base::ThreadChecker thread_checker_;
+ base::WeakPtrFactory<ImageManager> weak_ptr_factory_;
+
DISALLOW_COPY_AND_ASSIGN(ImageManager);
};
diff --git a/components/sync_driver/device_info_data_type_controller_unittest.cc b/components/sync_driver/device_info_data_type_controller_unittest.cc
index 18e4a5b..e1c4af3 100644
--- a/components/sync_driver/device_info_data_type_controller_unittest.cc
+++ b/components/sync_driver/device_info_data_type_controller_unittest.cc
@@ -22,8 +22,8 @@ class DeviceInfoDataTypeControllerTest : public testing::Test,
public:
DeviceInfoDataTypeControllerTest()
: load_finished_(false),
- weak_ptr_factory_(this),
- last_type_(syncer::UNSPECIFIED) {}
+ last_type_(syncer::UNSPECIFIED),
+ weak_ptr_factory_(this) {}
~DeviceInfoDataTypeControllerTest() override {}
void SetUp() override {
@@ -108,9 +108,9 @@ class DeviceInfoDataTypeControllerTest : public testing::Test,
private:
base::MessageLoopForUI message_loop_;
- base::WeakPtrFactory<DeviceInfoDataTypeControllerTest> weak_ptr_factory_;
syncer::ModelType last_type_;
syncer::SyncError last_error_;
+ base::WeakPtrFactory<DeviceInfoDataTypeControllerTest> weak_ptr_factory_;
};
TEST_F(DeviceInfoDataTypeControllerTest, StartModels) {
diff --git a/content/browser/download/download_browsertest.cc b/content/browser/download/download_browsertest.cc
index a011fc9..9ba699b 100644
--- a/content/browser/download/download_browsertest.cc
+++ b/content/browser/download/download_browsertest.cc
@@ -173,9 +173,9 @@ class DownloadFileWithDelayFactory : public DownloadFileFactory {
void WaitForSomeCallback();
private:
- base::WeakPtrFactory<DownloadFileWithDelayFactory> weak_ptr_factory_;
std::vector<base::Closure> rename_callbacks_;
bool waiting_;
+ base::WeakPtrFactory<DownloadFileWithDelayFactory> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(DownloadFileWithDelayFactory);
};
@@ -228,8 +228,9 @@ void DownloadFileWithDelay::RenameCallbackWrapper(
}
DownloadFileWithDelayFactory::DownloadFileWithDelayFactory()
- : weak_ptr_factory_(this),
- waiting_(false) {}
+ : waiting_(false),
+ weak_ptr_factory_(this) {}
+
DownloadFileWithDelayFactory::~DownloadFileWithDelayFactory() {}
DownloadFile* DownloadFileWithDelayFactory::CreateFile(
diff --git a/content/browser/fileapi/file_system_quota_client_unittest.cc b/content/browser/fileapi/file_system_quota_client_unittest.cc
index 747c662..5ab33e1 100644
--- a/content/browser/fileapi/file_system_quota_client_unittest.cc
+++ b/content/browser/fileapi/file_system_quota_client_unittest.cc
@@ -40,9 +40,9 @@ const storage::StorageType kPersistent = storage::kStorageTypePersistent;
class FileSystemQuotaClientTest : public testing::Test {
public:
FileSystemQuotaClientTest()
- : weak_factory_(this),
- additional_callback_count_(0),
- deletion_status_(storage::kQuotaStatusUnknown) {}
+ : additional_callback_count_(0),
+ deletion_status_(storage::kQuotaStatusUnknown),
+ weak_factory_(this) {}
void SetUp() override {
ASSERT_TRUE(data_dir_.CreateUniqueTempDir());
@@ -230,11 +230,11 @@ class FileSystemQuotaClientTest : public testing::Test {
base::ScopedTempDir data_dir_;
base::MessageLoop message_loop_;
scoped_refptr<storage::FileSystemContext> file_system_context_;
- base::WeakPtrFactory<FileSystemQuotaClientTest> weak_factory_;
int64 usage_;
int additional_callback_count_;
std::set<GURL> origins_;
storage::QuotaStatusCode deletion_status_;
+ base::WeakPtrFactory<FileSystemQuotaClientTest> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(FileSystemQuotaClientTest);
};
diff --git a/content/browser/fileapi/file_system_url_request_job_unittest.cc b/content/browser/fileapi/file_system_url_request_job_unittest.cc
index 4dcba3b..5eb7fdb 100644
--- a/content/browser/fileapi/file_system_url_request_job_unittest.cc
+++ b/content/browser/fileapi/file_system_url_request_job_unittest.cc
@@ -251,7 +251,6 @@ class FileSystemURLRequestJobTest : public testing::Test {
base::ScopedTempDir temp_dir_;
scoped_refptr<storage::FileSystemContext> file_system_context_;
- base::WeakPtrFactory<FileSystemURLRequestJobTest> weak_factory_;
net::URLRequestContext empty_context_;
scoped_ptr<FileSystemURLRequestJobFactory> job_factory_;
@@ -259,6 +258,8 @@ class FileSystemURLRequestJobTest : public testing::Test {
// NOTE: order matters, request must die before delegate
scoped_ptr<net::TestDelegate> delegate_;
scoped_ptr<net::URLRequest> request_;
+
+ base::WeakPtrFactory<FileSystemURLRequestJobTest> weak_factory_;
};
namespace {
diff --git a/content/browser/fileapi/obfuscated_file_util_unittest.cc b/content/browser/fileapi/obfuscated_file_util_unittest.cc
index cef3990..7abaf7e 100644
--- a/content/browser/fileapi/obfuscated_file_util_unittest.cc
+++ b/content/browser/fileapi/obfuscated_file_util_unittest.cc
@@ -146,10 +146,10 @@ class ObfuscatedFileUtilTest : public testing::Test {
ObfuscatedFileUtilTest()
: origin_(GURL("http://www.example.com")),
type_(storage::kFileSystemTypeTemporary),
- weak_factory_(this),
sandbox_file_system_(origin_, type_),
quota_status_(storage::kQuotaStatusUnknown),
- usage_(-1) {}
+ usage_(-1),
+ weak_factory_(this) {}
void SetUp() override {
ASSERT_TRUE(data_dir_.CreateUniqueTempDir());
@@ -802,12 +802,12 @@ class ObfuscatedFileUtilTest : public testing::Test {
scoped_refptr<FileSystemContext> file_system_context_;
GURL origin_;
storage::FileSystemType type_;
- base::WeakPtrFactory<ObfuscatedFileUtilTest> weak_factory_;
SandboxFileSystemTestHelper sandbox_file_system_;
storage::QuotaStatusCode quota_status_;
int64 usage_;
storage::MockFileChangeObserver change_observer_;
storage::ChangeObserverList change_observers_;
+ base::WeakPtrFactory<ObfuscatedFileUtilTest> weak_factory_;
private:
DISALLOW_COPY_AND_ASSIGN(ObfuscatedFileUtilTest);
diff --git a/content/browser/gamepad/gamepad_provider_unittest.cc b/content/browser/gamepad/gamepad_provider_unittest.cc
index e4f6571..eaea2c6 100644
--- a/content/browser/gamepad/gamepad_provider_unittest.cc
+++ b/content/browser/gamepad/gamepad_provider_unittest.cc
@@ -21,8 +21,8 @@ using blink::WebGamepads;
class UserGestureListener {
public:
UserGestureListener()
- : weak_factory_(this),
- has_user_gesture_(false) {
+ : has_user_gesture_(false),
+ weak_factory_(this) {
}
base::Closure GetClosure() {
@@ -37,8 +37,8 @@ class UserGestureListener {
has_user_gesture_ = true;
}
- base::WeakPtrFactory<UserGestureListener> weak_factory_;
bool has_user_gesture_;
+ base::WeakPtrFactory<UserGestureListener> weak_factory_;
};
// Main test fixture
diff --git a/content/browser/renderer_host/p2p/socket_host.cc b/content/browser/renderer_host/p2p/socket_host.cc
index 8f6e71f..6358eff 100644
--- a/content/browser/renderer_host/p2p/socket_host.cc
+++ b/content/browser/renderer_host/p2p/socket_host.cc
@@ -463,12 +463,12 @@ P2PSocketHost::P2PSocketHost(IPC::Sender* message_sender,
state_(STATE_UNINITIALIZED),
dump_incoming_rtp_packet_(false),
dump_outgoing_rtp_packet_(false),
- weak_ptr_factory_(this),
protocol_type_(protocol_type),
send_packets_delayed_total_(0),
send_packets_total_(0),
send_bytes_delayed_max_(0),
- send_bytes_delayed_cur_(0) {
+ send_bytes_delayed_cur_(0),
+ weak_ptr_factory_(this) {
}
P2PSocketHost::~P2PSocketHost() {
diff --git a/content/browser/renderer_host/p2p/socket_host.h b/content/browser/renderer_host/p2p/socket_host.h
index 390c115..b569a0a 100644
--- a/content/browser/renderer_host/p2p/socket_host.h
+++ b/content/browser/renderer_host/p2p/socket_host.h
@@ -160,8 +160,6 @@ class CONTENT_EXPORT P2PSocketHost {
bool dump_outgoing_rtp_packet_;
RenderProcessHost::WebRtcRtpPacketCallback packet_dump_callback_;
- base::WeakPtrFactory<P2PSocketHost> weak_ptr_factory_;
-
ProtocolType protocol_type_;
private:
@@ -175,6 +173,8 @@ class CONTENT_EXPORT P2PSocketHost {
int32 send_bytes_delayed_max_;
int32 send_bytes_delayed_cur_;
+ base::WeakPtrFactory<P2PSocketHost> weak_ptr_factory_;
+
DISALLOW_COPY_AND_ASSIGN(P2PSocketHost);
};
diff --git a/content/browser/streams/stream_url_request_job.cc b/content/browser/streams/stream_url_request_job.cc
index 6d70eef..3d4ac7f 100644
--- a/content/browser/streams/stream_url_request_job.cc
+++ b/content/browser/streams/stream_url_request_job.cc
@@ -21,13 +21,13 @@ StreamURLRequestJob::StreamURLRequestJob(
net::NetworkDelegate* network_delegate,
scoped_refptr<Stream> stream)
: net::URLRequestJob(request, network_delegate),
- weak_factory_(this),
stream_(stream),
headers_set_(false),
pending_buffer_size_(0),
total_bytes_read_(0),
max_range_(0),
- request_failed_(false) {
+ request_failed_(false),
+ weak_factory_(this) {
DCHECK(stream_.get());
stream_->SetReadObserver(this);
}
diff --git a/content/browser/streams/stream_url_request_job.h b/content/browser/streams/stream_url_request_job.h
index 17e7eb2..05c9551 100644
--- a/content/browser/streams/stream_url_request_job.h
+++ b/content/browser/streams/stream_url_request_job.h
@@ -44,7 +44,6 @@ class CONTENT_EXPORT StreamURLRequestJob
void HeadersCompleted(net::HttpStatusCode status_code);
void ClearStream();
- base::WeakPtrFactory<StreamURLRequestJob> weak_factory_;
scoped_refptr<content::Stream> stream_;
bool headers_set_;
scoped_refptr<net::IOBuffer> pending_buffer_;
@@ -55,6 +54,8 @@ class CONTENT_EXPORT StreamURLRequestJob
int max_range_;
bool request_failed_;
+ base::WeakPtrFactory<StreamURLRequestJob> weak_factory_;
+
DISALLOW_COPY_AND_ASSIGN(StreamURLRequestJob);
};
diff --git a/content/renderer/media/remote_media_stream_impl.cc b/content/renderer/media/remote_media_stream_impl.cc
index 1afd7f3..5365251 100644
--- a/content/renderer/media/remote_media_stream_impl.cc
+++ b/content/renderer/media/remote_media_stream_impl.cc
@@ -352,9 +352,9 @@ RemoteMediaStreamImpl::RemoteMediaStreamImpl(
const scoped_refptr<base::SingleThreadTaskRunner>& main_thread,
webrtc::MediaStreamInterface* webrtc_stream)
: signaling_thread_(base::ThreadTaskRunnerHandle::Get()),
- weak_factory_(this),
- observer_(new RemoteMediaStreamImpl::Observer(weak_factory_.GetWeakPtr(),
- main_thread, webrtc_stream)) {
+ weak_factory_(this) {
+ observer_ = new RemoteMediaStreamImpl::Observer(
+ weak_factory_.GetWeakPtr(), main_thread, webrtc_stream);
CreateAdaptersForTracks(webrtc_stream->GetAudioTracks(),
&audio_track_observers_, main_thread);
CreateAdaptersForTracks(webrtc_stream->GetVideoTracks(),
diff --git a/content/renderer/media/remote_media_stream_impl.h b/content/renderer/media/remote_media_stream_impl.h
index 0c230ba..ec97f23 100644
--- a/content/renderer/media/remote_media_stream_impl.h
+++ b/content/renderer/media/remote_media_stream_impl.h
@@ -91,13 +91,14 @@ class CONTENT_EXPORT RemoteMediaStreamImpl {
scoped_ptr<RemoteVideoTrackAdapters> video_tracks);
const scoped_refptr<base::SingleThreadTaskRunner> signaling_thread_;
- base::WeakPtrFactory<RemoteMediaStreamImpl> weak_factory_;
- const scoped_refptr<Observer> observer_; // must be after weak_factory_
+ scoped_refptr<Observer> observer_;
RemoteVideoTrackAdapters video_track_observers_;
RemoteAudioTrackAdapters audio_track_observers_;
blink::WebMediaStream webkit_stream_;
+ base::WeakPtrFactory<RemoteMediaStreamImpl> weak_factory_;
+
DISALLOW_COPY_AND_ASSIGN(RemoteMediaStreamImpl);
};
diff --git a/content/renderer/pepper/plugin_object.cc b/content/renderer/pepper/plugin_object.cc
index 93c4b72..ada0fd9 100644
--- a/content/renderer/pepper/plugin_object.cc
+++ b/content/renderer/pepper/plugin_object.cc
@@ -169,8 +169,8 @@ PluginObject::PluginObject(PepperPluginInstanceImpl* instance,
instance_(instance),
ppp_class_(ppp_class),
ppp_class_data_(ppp_class_data),
- weak_factory_(this),
- template_cache_(instance->GetIsolate()) {
+ template_cache_(instance->GetIsolate()),
+ weak_factory_(this) {
instance_->AddPluginObject(this);
}
diff --git a/content/renderer/pepper/plugin_object.h b/content/renderer/pepper/plugin_object.h
index f13fcd3..88b608e 100644
--- a/content/renderer/pepper/plugin_object.h
+++ b/content/renderer/pepper/plugin_object.h
@@ -84,10 +84,10 @@ class PluginObject : public gin::Wrappable<PluginObject>,
const PPP_Class_Deprecated* ppp_class_;
void* ppp_class_data_;
- base::WeakPtrFactory<PluginObject> weak_factory_;
-
v8::StdPersistentValueMap<std::string, v8::FunctionTemplate> template_cache_;
+ base::WeakPtrFactory<PluginObject> weak_factory_;
+
DISALLOW_COPY_AND_ASSIGN(PluginObject);
};
diff --git a/device/hid/hid_service_linux.h b/device/hid/hid_service_linux.h
index 59b6036..fd833b6 100644
--- a/device/hid/hid_service_linux.h
+++ b/device/hid/hid_service_linux.h
@@ -50,8 +50,8 @@ class HidServiceLinux : public HidService {
// The helper lives on the FILE thread and holds a weak reference back to the
// service that owns it.
- base::WeakPtrFactory<HidServiceLinux> weak_factory_;
scoped_ptr<Helper> helper_;
+ base::WeakPtrFactory<HidServiceLinux> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(HidServiceLinux);
};
diff --git a/extensions/browser/api/declarative/rules_registry.h b/extensions/browser/api/declarative/rules_registry.h
index 4fc3178..76f1c08 100644
--- a/extensions/browser/api/declarative/rules_registry.h
+++ b/extensions/browser/api/declarative/rules_registry.h
@@ -260,10 +260,6 @@ class RulesRegistry : public base::RefCountedThreadSafe<RulesRegistry> {
RuleIdentifiersMap used_rule_identifiers_;
int last_generated_rule_identifier_id_;
- // The factory needs to be declared before |cache_delegate_|, so that it can
- // produce a pointer as a construction argument for |cache_delegate_|.
- base::WeakPtrFactory<RulesRegistry> weak_ptr_factory_;
-
// |cache_delegate_| is owned by the registry service. If |cache_delegate_| is
// NULL, then the storage functionality is disabled (this is used in tests).
// This registry cannot own |cache_delegate_| because during the time after
@@ -273,6 +269,8 @@ class RulesRegistry : public base::RefCountedThreadSafe<RulesRegistry> {
// instance.
base::WeakPtr<RulesCacheDelegate> cache_delegate_;
+ base::WeakPtrFactory<RulesRegistry> weak_ptr_factory_;
+
DISALLOW_COPY_AND_ASSIGN(RulesRegistry);
};
diff --git a/extensions/browser/api/hid/hid_device_manager.cc b/extensions/browser/api/hid/hid_device_manager.cc
index 757474f..5c84f8a9 100644
--- a/extensions/browser/api/hid/hid_device_manager.cc
+++ b/extensions/browser/api/hid/hid_device_manager.cc
@@ -77,11 +77,11 @@ struct HidDeviceManager::GetApiDevicesParams {
};
HidDeviceManager::HidDeviceManager(content::BrowserContext* context)
- : weak_factory_(this),
- initialized_(false),
+ : initialized_(false),
hid_service_observer_(this),
enumeration_ready_(false),
- next_resource_id_(0) {
+ next_resource_id_(0),
+ weak_factory_(this) {
event_router_ = EventRouter::Get(context);
if (event_router_) {
event_router_->RegisterObserver(this, hid::OnDeviceAdded::kEventName);
diff --git a/extensions/browser/api/hid/hid_device_manager.h b/extensions/browser/api/hid/hid_device_manager.h
index 1b5be6e..e979693 100644
--- a/extensions/browser/api/hid/hid_device_manager.h
+++ b/extensions/browser/api/hid/hid_device_manager.h
@@ -101,7 +101,6 @@ class HidDeviceManager : public BrowserContextKeyedAPI,
const device::HidDeviceInfo& device_info);
base::ThreadChecker thread_checker_;
- base::WeakPtrFactory<HidDeviceManager> weak_factory_;
EventRouter* event_router_;
bool initialized_;
ScopedObserver<device::HidService, device::HidService::Observer>
@@ -111,6 +110,7 @@ class HidDeviceManager : public BrowserContextKeyedAPI,
int next_resource_id_;
ResourceIdToDeviceIdMap device_ids_;
DeviceIdToResourceIdMap resource_ids_;
+ base::WeakPtrFactory<HidDeviceManager> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(HidDeviceManager);
};
diff --git a/extensions/browser/api/serial/serial_connection.cc b/extensions/browser/api/serial/serial_connection.cc
index 7e95f5a..1f42318 100644
--- a/extensions/browser/api/serial/serial_connection.cc
+++ b/extensions/browser/api/serial/serial_connection.cc
@@ -380,7 +380,7 @@ void SerialConnection::OnAsyncWriteComplete(int bytes_sent,
SerialConnection::TimeoutTask::TimeoutTask(const base::Closure& closure,
const base::TimeDelta& delay)
- : weak_factory_(this), closure_(closure), delay_(delay) {
+ : closure_(closure), delay_(delay), weak_factory_(this) {
base::MessageLoop::current()->PostDelayedTask(
FROM_HERE,
base::Bind(&TimeoutTask::Run, weak_factory_.GetWeakPtr()),
diff --git a/extensions/browser/api/serial/serial_connection.h b/extensions/browser/api/serial/serial_connection.h
index 7ce45df..da10b41 100644
--- a/extensions/browser/api/serial/serial_connection.h
+++ b/extensions/browser/api/serial/serial_connection.h
@@ -129,9 +129,9 @@ class SerialConnection : public ApiResource,
private:
void Run() const;
- base::WeakPtrFactory<TimeoutTask> weak_factory_;
base::Closure closure_;
base::TimeDelta delay_;
+ base::WeakPtrFactory<TimeoutTask> weak_factory_;
};
// Handles a receive timeout.
diff --git a/media/cast/test/utility/udp_proxy.cc b/media/cast/test/utility/udp_proxy.cc
index c3dfde6..5c41dbe 100644
--- a/media/cast/test/utility/udp_proxy.cc
+++ b/media/cast/test/utility/udp_proxy.cc
@@ -283,8 +283,8 @@ class RandomSortedDelay : public PacketPipe {
double random_delay_;
double extra_delay_;
double seconds_between_extra_delay_;
- base::WeakPtrFactory<RandomSortedDelay> weak_factory_;
base::TimeTicks next_send_;
+ base::WeakPtrFactory<RandomSortedDelay> weak_factory_;
};
scoped_ptr<PacketPipe> NewRandomSortedDelay(