Use in-class initializers for base::WeakPtrFactory in content/.

Generated by: https://chromium-review.googlesource.com/c/chromium/src/+/1689216

Bug: 981415
Change-Id: I363f81e8c17cabfb6031666ca0846bcfcbf97b78
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1693602
Commit-Queue: Matt Falkenhagen <[email protected]>
Reviewed-by: Matt Falkenhagen <[email protected]>
Cr-Commit-Position: refs/heads/master@{#676281}
diff --git a/content/browser/appcache/appcache_disk_cache.cc b/content/browser/appcache/appcache_disk_cache.cc
index ff87c13..e98c37e 100644
--- a/content/browser/appcache/appcache_disk_cache.cc
+++ b/content/browser/appcache/appcache_disk_cache.cc
@@ -320,8 +320,7 @@
     : use_simple_cache_(use_simple_cache),
       is_disabled_(false),
       is_waiting_to_initialize_(false),
-      uma_name_(uma_name),
-      weak_factory_(this) {}
+      uma_name_(uma_name) {}
 
 AppCacheDiskCache::PendingCall::PendingCall()
     : call_type(CREATE), key(0), entry(nullptr) {}
diff --git a/content/browser/appcache/appcache_disk_cache.h b/content/browser/appcache/appcache_disk_cache.h
index 8fd333f2..ab0a2f0 100644
--- a/content/browser/appcache/appcache_disk_cache.h
+++ b/content/browser/appcache/appcache_disk_cache.h
@@ -161,7 +161,7 @@
   std::unique_ptr<disk_cache::Backend> disk_cache_;
   const char* const uma_name_;
 
-  base::WeakPtrFactory<AppCacheDiskCache> weak_factory_;
+  base::WeakPtrFactory<AppCacheDiskCache> weak_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/appcache/appcache_host.cc b/content/browser/appcache/appcache_host.cc
index c21ac69..23b4dc5 100644
--- a/content/browser/appcache/appcache_host.cc
+++ b/content/browser/appcache/appcache_host.cc
@@ -92,8 +92,7 @@
       main_resource_was_namespace_entry_(false),
       main_resource_blocked_(false),
       associated_cache_info_pending_(false),
-      binding_(this),
-      weak_factory_(this) {
+      binding_(this) {
   service_->AddObserver(this);
 }
 
diff --git a/content/browser/appcache/appcache_host.h b/content/browser/appcache/appcache_host.h
index 8d01646..e4d2604 100644
--- a/content/browser/appcache/appcache_host.h
+++ b/content/browser/appcache/appcache_host.h
@@ -390,7 +390,7 @@
 
   mojo::Binding<blink::mojom::AppCacheHost> binding_;
 
-  base::WeakPtrFactory<AppCacheHost> weak_factory_;
+  base::WeakPtrFactory<AppCacheHost> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(AppCacheHost);
 };
diff --git a/content/browser/appcache/appcache_internals_ui.cc b/content/browser/appcache/appcache_internals_ui.cc
index 5948fc27..0a713e2 100644
--- a/content/browser/appcache/appcache_internals_ui.cc
+++ b/content/browser/appcache/appcache_internals_ui.cc
@@ -351,7 +351,7 @@
 }
 
 AppCacheInternalsUI::AppCacheInternalsUI(WebUI* web_ui)
-    : WebUIController(web_ui), weak_ptr_factory_(this) {
+    : WebUIController(web_ui) {
   web_ui->RegisterMessageCallback(
       kRequestGetAllAppCacheInfo,
       base::BindRepeating(&AppCacheInternalsUI::GetAllAppCache, AsWeakPtr()));
diff --git a/content/browser/appcache/appcache_internals_ui.h b/content/browser/appcache/appcache_internals_ui.h
index 62a17bcd..c2fa6b0e 100644
--- a/content/browser/appcache/appcache_internals_ui.h
+++ b/content/browser/appcache/appcache_internals_ui.h
@@ -126,7 +126,7 @@
 
   Proxy* GetProxyForPartitionPath(const base::FilePath& path);
   std::list<scoped_refptr<Proxy>> appcache_proxies_;
-  base::WeakPtrFactory<AppCacheInternalsUI> weak_ptr_factory_;
+  base::WeakPtrFactory<AppCacheInternalsUI> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(AppCacheInternalsUI);
 };
diff --git a/content/browser/appcache/appcache_quota_client_unittest.cc b/content/browser/appcache/appcache_quota_client_unittest.cc
index 2eef1c61..79de6c660 100644
--- a/content/browser/appcache/appcache_quota_client_unittest.cc
+++ b/content/browser/appcache/appcache_quota_client_unittest.cc
@@ -38,8 +38,7 @@
         delete_status_(blink::mojom::QuotaStatusCode::kUnknown),
         num_get_origin_usage_completions_(0),
         num_get_origins_completions_(0),
-        num_delete_origins_completions_(0),
-        weak_factory_(this) {}
+        num_delete_origins_completions_(0) {}
 
   int64_t GetOriginUsage(storage::QuotaClient* client,
                          const url::Origin& origin,
@@ -155,7 +154,7 @@
   int num_get_origins_completions_;
   int num_delete_origins_completions_;
   MockAppCacheService mock_service_;
-  base::WeakPtrFactory<AppCacheQuotaClientTest> weak_factory_;
+  base::WeakPtrFactory<AppCacheQuotaClientTest> weak_factory_{this};
 };
 
 
diff --git a/content/browser/appcache/appcache_request_handler.cc b/content/browser/appcache/appcache_request_handler.cc
index 42b2110f..45c95b6 100644
--- a/content/browser/appcache/appcache_request_handler.cc
+++ b/content/browser/appcache/appcache_request_handler.cc
@@ -51,8 +51,7 @@
       maybe_load_resource_executed_(false),
       cache_id_(blink::mojom::kAppCacheNoCacheId),
       service_(host_->service()),
-      request_(std::move(request)),
-      weak_factory_(this) {
+      request_(std::move(request)) {
   DCHECK(host_);
   DCHECK(service_);
   host_->AddObserver(this);
diff --git a/content/browser/appcache/appcache_request_handler.h b/content/browser/appcache/appcache_request_handler.h
index 5179daf3..555832e 100644
--- a/content/browser/appcache/appcache_request_handler.h
+++ b/content/browser/appcache/appcache_request_handler.h
@@ -263,7 +263,7 @@
   // AppCacheSubresourceURLFactory instance on creation.
   base::WeakPtr<AppCacheHost> appcache_host_;
 
-  base::WeakPtrFactory<AppCacheRequestHandler> weak_factory_;
+  base::WeakPtrFactory<AppCacheRequestHandler> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(AppCacheRequestHandler);
 };
diff --git a/content/browser/appcache/appcache_response.cc b/content/browser/appcache/appcache_response.cc
index 3cf8dbf39..22cdb5b 100644
--- a/content/browser/appcache/appcache_response.cc
+++ b/content/browser/appcache/appcache_response.cc
@@ -193,8 +193,7 @@
       range_offset_(0),
       range_length_(std::numeric_limits<int32_t>::max()),
       read_position_(0),
-      reading_metadata_size_(0),
-      weak_factory_(this) {}
+      reading_metadata_size_(0) {}
 
 AppCacheResponseReader::~AppCacheResponseReader() = default;
 
@@ -325,8 +324,7 @@
       info_size_(0),
       write_position_(0),
       write_amount_(0),
-      creation_phase_(INITIAL_ATTEMPT),
-      weak_factory_(this) {}
+      creation_phase_(INITIAL_ATTEMPT) {}
 
 AppCacheResponseWriter::~AppCacheResponseWriter() = default;
 
@@ -490,8 +488,7 @@
     int64_t response_id,
     base::WeakPtr<AppCacheDiskCache> disk_cache)
     : AppCacheResponseIO(response_id, std::move(disk_cache)),
-      write_amount_(0),
-      weak_factory_(this) {}
+      write_amount_(0) {}
 
 AppCacheResponseMetadataWriter::~AppCacheResponseMetadataWriter() = default;
 
diff --git a/content/browser/appcache/appcache_response.h b/content/browser/appcache/appcache_response.h
index 492b00f..746ed00 100644
--- a/content/browser/appcache/appcache_response.h
+++ b/content/browser/appcache/appcache_response.h
@@ -176,7 +176,7 @@
   int read_position_;
   int reading_metadata_size_;
 
-  base::WeakPtrFactory<AppCacheResponseReader> weak_factory_;
+  base::WeakPtrFactory<AppCacheResponseReader> weak_factory_{this};
 };
 
 // Writes new response data to storage. If the object is deleted
@@ -246,7 +246,7 @@
   int write_position_;
   int write_amount_;
   CreationPhase creation_phase_;
-  base::WeakPtrFactory<AppCacheResponseWriter> weak_factory_;
+  base::WeakPtrFactory<AppCacheResponseWriter> weak_factory_{this};
 };
 
 // Writes metadata of the existing response to storage. If the object is deleted
@@ -287,7 +287,7 @@
   base::WeakPtr<AppCacheResponseIO> GetWeakPtr() override;
 
   int write_amount_;
-  base::WeakPtrFactory<AppCacheResponseMetadataWriter> weak_factory_;
+  base::WeakPtrFactory<AppCacheResponseMetadataWriter> weak_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/appcache/appcache_service_impl.cc b/content/browser/appcache/appcache_service_impl.cc
index 5248567..6ac5ed1 100644
--- a/content/browser/appcache/appcache_service_impl.cc
+++ b/content/browser/appcache/appcache_service_impl.cc
@@ -379,8 +379,7 @@
       quota_client_(nullptr),
       quota_manager_proxy_(quota_manager_proxy),
       request_context_(nullptr),
-      force_keep_session_state_(false),
-      weak_factory_(this) {
+      force_keep_session_state_(false) {
   if (quota_manager_proxy_.get()) {
     // The operator new is used here because this AppCacheQuotaClient instance
     // deletes itself after both the QuotaManager and the AppCacheService are
diff --git a/content/browser/appcache/appcache_service_impl.h b/content/browser/appcache/appcache_service_impl.h
index 8d1629d..006fbbc 100644
--- a/content/browser/appcache/appcache_service_impl.h
+++ b/content/browser/appcache/appcache_service_impl.h
@@ -257,7 +257,7 @@
       std::map<base::UnguessableToken, std::unique_ptr<AppCacheHost>>;
   AppCacheHostProcessMap hosts_;
 
-  base::WeakPtrFactory<AppCacheServiceImpl> weak_factory_;
+  base::WeakPtrFactory<AppCacheServiceImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(AppCacheServiceImpl);
 };
diff --git a/content/browser/appcache/appcache_storage.cc b/content/browser/appcache/appcache_storage.cc
index d0cf584..6b4afff 100644
--- a/content/browser/appcache/appcache_storage.cc
+++ b/content/browser/appcache/appcache_storage.cc
@@ -24,8 +24,7 @@
     : last_cache_id_(kUnitializedId),
       last_group_id_(kUnitializedId),
       last_response_id_(kUnitializedId),
-      service_(service),
-      weak_factory_(this) {}
+      service_(service) {}
 
 AppCacheStorage::~AppCacheStorage() {
   DCHECK(delegate_references_.empty());
diff --git a/content/browser/appcache/appcache_storage.h b/content/browser/appcache/appcache_storage.h
index 7d6ad74..50515fa 100644
--- a/content/browser/appcache/appcache_storage.h
+++ b/content/browser/appcache/appcache_storage.h
@@ -349,7 +349,7 @@
 
   // The WeakPtrFactory below must occur last in the class definition so they
   // get destroyed last.
-  base::WeakPtrFactory<AppCacheStorage> weak_factory_;
+  base::WeakPtrFactory<AppCacheStorage> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(AppCacheStorage);
 };
diff --git a/content/browser/appcache/appcache_storage_impl.cc b/content/browser/appcache/appcache_storage_impl.cc
index 74ad962..c9b42b0a 100644
--- a/content/browser/appcache/appcache_storage_impl.cc
+++ b/content/browser/appcache/appcache_storage_impl.cc
@@ -1377,8 +1377,7 @@
       database_(nullptr),
       is_disabled_(false),
       delete_and_start_over_pending_(false),
-      expecting_cleanup_complete_on_disable_(false),
-      weak_factory_(this) {}
+      expecting_cleanup_complete_on_disable_(false) {}
 
 AppCacheStorageImpl::~AppCacheStorageImpl() {
   for (StoreGroupAndCacheTask* task : pending_quota_queries_)
diff --git a/content/browser/appcache/appcache_storage_impl.h b/content/browser/appcache/appcache_storage_impl.h
index 4e9f73d..27ed1a9 100644
--- a/content/browser/appcache/appcache_storage_impl.h
+++ b/content/browser/appcache/appcache_storage_impl.h
@@ -203,7 +203,7 @@
   // Used to short-circuit certain operations without having to schedule
   // any tasks on the background database thread.
   base::circular_deque<base::OnceClosure> pending_simple_tasks_;
-  base::WeakPtrFactory<AppCacheStorageImpl> weak_factory_;
+  base::WeakPtrFactory<AppCacheStorageImpl> weak_factory_{this};
 
   friend class content::AppCacheStorageImplTest;
   friend class content::ChromeAppCacheServiceTest;
diff --git a/content/browser/appcache/appcache_subresource_url_factory.cc b/content/browser/appcache/appcache_subresource_url_factory.cc
index d728d1d3..3232aae4 100644
--- a/content/browser/appcache/appcache_subresource_url_factory.cc
+++ b/content/browser/appcache/appcache_subresource_url_factory.cc
@@ -64,8 +64,7 @@
         traffic_annotation_(annotation),
         network_loader_factory_(std::move(network_loader_factory)),
         local_client_binding_(this),
-        host_(appcache_host),
-        weak_factory_(this) {
+        host_(appcache_host) {
     DCHECK_CURRENTLY_ON(BrowserThread::IO);
     remote_binding_.set_connection_error_handler(base::BindOnce(
         &SubresourceLoader::OnConnectionError, base::Unretained(this)));
@@ -316,7 +315,7 @@
 
   base::WeakPtr<AppCacheHost> host_;
 
-  base::WeakPtrFactory<SubresourceLoader> weak_factory_;
+  base::WeakPtrFactory<SubresourceLoader> weak_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(SubresourceLoader);
 };
 
@@ -327,8 +326,7 @@
     scoped_refptr<network::SharedURLLoaderFactory> network_loader_factory,
     base::WeakPtr<AppCacheHost> host)
     : network_loader_factory_(std::move(network_loader_factory)),
-      appcache_host_(host),
-      weak_factory_(this) {
+      appcache_host_(host) {
   bindings_.set_connection_error_handler(
       base::BindRepeating(&AppCacheSubresourceURLFactory::OnConnectionError,
                           base::Unretained(this)));
diff --git a/content/browser/appcache/appcache_subresource_url_factory.h b/content/browser/appcache/appcache_subresource_url_factory.h
index c66b2ccb..097ae61 100644
--- a/content/browser/appcache/appcache_subresource_url_factory.h
+++ b/content/browser/appcache/appcache_subresource_url_factory.h
@@ -64,7 +64,7 @@
   mojo::BindingSet<network::mojom::URLLoaderFactory> bindings_;
   scoped_refptr<network::SharedURLLoaderFactory> network_loader_factory_;
   base::WeakPtr<AppCacheHost> appcache_host_;
-  base::WeakPtrFactory<AppCacheSubresourceURLFactory> weak_factory_;
+  base::WeakPtrFactory<AppCacheSubresourceURLFactory> weak_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(AppCacheSubresourceURLFactory);
 };
 
diff --git a/content/browser/appcache/appcache_update_job.cc b/content/browser/appcache/appcache_update_job.cc
index 49a6342..ee87609 100644
--- a/content/browser/appcache/appcache_update_job.cc
+++ b/content/browser/appcache/appcache_update_job.cc
@@ -239,8 +239,7 @@
       manifest_fetcher_(nullptr),
       manifest_has_valid_mime_type_(false),
       stored_state_(UNSTORED),
-      storage_(service->storage()),
-      weak_factory_(this) {
+      storage_(service->storage()) {
   service_->AddObserver(this);
 }
 
diff --git a/content/browser/appcache/appcache_update_job.h b/content/browser/appcache/appcache_update_job.h
index 18a1a37..41f6dc4 100644
--- a/content/browser/appcache/appcache_update_job.h
+++ b/content/browser/appcache/appcache_update_job.h
@@ -304,7 +304,7 @@
   StoredState stored_state_;
 
   AppCacheStorage* storage_;
-  base::WeakPtrFactory<AppCacheUpdateJob> weak_factory_;
+  base::WeakPtrFactory<AppCacheUpdateJob> weak_factory_{this};
 
   FRIEND_TEST_ALL_PREFIXES(content::AppCacheGroupTest, QueueUpdate);
 
diff --git a/content/browser/appcache/appcache_url_loader_job.cc b/content/browser/appcache/appcache_url_loader_job.cc
index 6c6a0be..03c23a09 100644
--- a/content/browser/appcache/appcache_url_loader_job.cc
+++ b/content/browser/appcache/appcache_url_loader_job.cc
@@ -162,8 +162,7 @@
       loader_callback_(std::move(loader_callback)),
       appcache_request_(appcache_request->GetWeakPtr()),
       is_main_resource_load_(IsResourceTypeFrame(static_cast<ResourceType>(
-          appcache_request->GetResourceRequest()->resource_type))),
-      weak_factory_(this) {}
+          appcache_request->GetResourceRequest()->resource_type))) {}
 
 void AppCacheURLLoaderJob::CallLoaderCallback() {
   DCHECK(loader_callback_);
diff --git a/content/browser/appcache/appcache_url_loader_job.h b/content/browser/appcache/appcache_url_loader_job.h
index 1091ba3..1e2d3a21 100644
--- a/content/browser/appcache/appcache_url_loader_job.h
+++ b/content/browser/appcache/appcache_url_loader_job.h
@@ -136,7 +136,7 @@
   bool is_deleting_soon_ = false;
   bool is_main_resource_load_;
 
-  base::WeakPtrFactory<AppCacheURLLoaderJob> weak_factory_;
+  base::WeakPtrFactory<AppCacheURLLoaderJob> weak_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(AppCacheURLLoaderJob);
 };
 
diff --git a/content/browser/appcache/appcache_url_loader_request.cc b/content/browser/appcache/appcache_url_loader_request.cc
index 0fbd841..c7f2392 100644
--- a/content/browser/appcache/appcache_url_loader_request.cc
+++ b/content/browser/appcache/appcache_url_loader_request.cc
@@ -11,7 +11,7 @@
 
 AppCacheURLLoaderRequest::AppCacheURLLoaderRequest(
     const network::ResourceRequest& request)
-    : request_(request), weak_factory_(this) {}
+    : request_(request) {}
 
 AppCacheURLLoaderRequest::~AppCacheURLLoaderRequest() = default;
 
diff --git a/content/browser/appcache/appcache_url_loader_request.h b/content/browser/appcache/appcache_url_loader_request.h
index 17120ba43..497f4a2 100644
--- a/content/browser/appcache/appcache_url_loader_request.h
+++ b/content/browser/appcache/appcache_url_loader_request.h
@@ -48,7 +48,7 @@
  private:
   network::ResourceRequest request_;
   network::ResourceResponseHead response_;
-  base::WeakPtrFactory<AppCacheURLLoaderRequest> weak_factory_;
+  base::WeakPtrFactory<AppCacheURLLoaderRequest> weak_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(AppCacheURLLoaderRequest);
 };
 
diff --git a/content/browser/appcache/appcache_url_request_job.cc b/content/browser/appcache/appcache_url_request_job.cc
index 6080c72..b473d747 100644
--- a/content/browser/appcache/appcache_url_request_job.cc
+++ b/content/browser/appcache/appcache_url_request_job.cc
@@ -118,8 +118,7 @@
       cache_id_(blink::mojom::kAppCacheNoCacheId),
       is_fallback_(false),
       is_main_resource_(is_main_resource),
-      on_prepare_to_restart_callback_(std::move(restart_callback)),
-      weak_factory_(this) {
+      on_prepare_to_restart_callback_(std::move(restart_callback)) {
   DCHECK(storage_);
 }
 
diff --git a/content/browser/appcache/appcache_url_request_job.h b/content/browser/appcache/appcache_url_request_job.h
index 5b453e6..5490033b 100644
--- a/content/browser/appcache/appcache_url_request_job.h
+++ b/content/browser/appcache/appcache_url_request_job.h
@@ -133,7 +133,7 @@
   scoped_refptr<AppCache> cache_;
   scoped_refptr<AppCacheGroup> group_;
   OnPrepareToRestartCallback on_prepare_to_restart_callback_;
-  base::WeakPtrFactory<AppCacheURLRequestJob> weak_factory_;
+  base::WeakPtrFactory<AppCacheURLRequestJob> weak_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(AppCacheURLRequestJob);
 };
 
diff --git a/content/browser/appcache/mock_appcache_storage.cc b/content/browser/appcache/mock_appcache_storage.cc
index 4d34052..293b0432 100644
--- a/content/browser/appcache/mock_appcache_storage.cc
+++ b/content/browser/appcache/mock_appcache_storage.cc
@@ -40,8 +40,7 @@
       simulate_find_sub_resource_(false),
       simulated_found_cache_id_(blink::mojom::kAppCacheNoCacheId),
       simulated_found_group_id_(0),
-      simulated_found_network_namespace_(false),
-      weak_factory_(this) {
+      simulated_found_network_namespace_(false) {
   last_cache_id_ = 0;
   last_group_id_ = 0;
   last_response_id_ = 0;
diff --git a/content/browser/appcache/mock_appcache_storage.h b/content/browser/appcache/mock_appcache_storage.h
index a89ae697..dee5793 100644
--- a/content/browser/appcache/mock_appcache_storage.h
+++ b/content/browser/appcache/mock_appcache_storage.h
@@ -226,7 +226,7 @@
   scoped_refptr<AppCacheInfoCollection> simulated_appcache_info_;
   std::unique_ptr<AppCacheResponseReader> simulated_reader_;
 
-  base::WeakPtrFactory<MockAppCacheStorage> weak_factory_;
+  base::WeakPtrFactory<MockAppCacheStorage> weak_factory_{this};
 
   FRIEND_TEST_ALL_PREFIXES(MockAppCacheStorageTest,
                            BasicFindMainResponse);
diff --git a/content/browser/background_fetch/background_fetch_context.cc b/content/browser/background_fetch/background_fetch_context.cc
index c33451a..6b46e94 100644
--- a/content/browser/background_fetch/background_fetch_context.cc
+++ b/content/browser/background_fetch/background_fetch_context.cc
@@ -42,8 +42,7 @@
       devtools_context_(std::move(devtools_context)),
       registration_notifier_(
           std::make_unique<BackgroundFetchRegistrationNotifier>()),
-      delegate_proxy_(browser_context_),
-      weak_factory_(this) {
+      delegate_proxy_(browser_context_) {
   // Although this lives only on the IO thread, it is constructed on UI thread.
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   DCHECK(service_worker_context_);
diff --git a/content/browser/background_fetch/background_fetch_context.h b/content/browser/background_fetch/background_fetch_context.h
index 969e01e20..00990a2 100644
--- a/content/browser/background_fetch/background_fetch_context.h
+++ b/content/browser/background_fetch/background_fetch_context.h
@@ -209,7 +209,8 @@
            blink::mojom::BackgroundFetchService::FetchCallback>
       fetch_callbacks_;
 
-  base::WeakPtrFactory<BackgroundFetchContext> weak_factory_;  // Must be last.
+  base::WeakPtrFactory<BackgroundFetchContext> weak_factory_{
+      this};  // Must be last.
 
   DISALLOW_COPY_AND_ASSIGN(BackgroundFetchContext);
 };
diff --git a/content/browser/background_fetch/background_fetch_data_manager.cc b/content/browser/background_fetch/background_fetch_data_manager.cc
index 33b6420..24dad7b 100644
--- a/content/browser/background_fetch/background_fetch_data_manager.cc
+++ b/content/browser/background_fetch/background_fetch_data_manager.cc
@@ -43,8 +43,7 @@
     scoped_refptr<storage::QuotaManagerProxy> quota_manager_proxy)
     : service_worker_context_(std::move(service_worker_context)),
       cache_storage_context_(std::move(cache_storage_context)),
-      quota_manager_proxy_(std::move(quota_manager_proxy)),
-      weak_ptr_factory_(this) {
+      quota_manager_proxy_(std::move(quota_manager_proxy)) {
   // Constructed on the UI thread, then used on the IO thread.
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   DCHECK(browser_context);
diff --git a/content/browser/background_fetch/background_fetch_data_manager.h b/content/browser/background_fetch/background_fetch_data_manager.h
index ee08e52b..f1a2e91d 100644
--- a/content/browser/background_fetch/background_fetch_data_manager.h
+++ b/content/browser/background_fetch/background_fetch_data_manager.h
@@ -265,7 +265,7 @@
   // TODO(crbug.com/711354): Possibly update key when CORS support is added.
   std::map<std::string, CacheStorageHandle> cache_storage_handle_map_;
 
-  base::WeakPtrFactory<BackgroundFetchDataManager> weak_ptr_factory_;
+  base::WeakPtrFactory<BackgroundFetchDataManager> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(BackgroundFetchDataManager);
 };
diff --git a/content/browser/background_fetch/background_fetch_delegate_proxy.cc b/content/browser/background_fetch/background_fetch_delegate_proxy.cc
index 5d963130..6383d5b 100644
--- a/content/browser/background_fetch/background_fetch_delegate_proxy.cc
+++ b/content/browser/background_fetch/background_fetch_delegate_proxy.cc
@@ -29,9 +29,7 @@
  public:
   Core(const base::WeakPtr<BackgroundFetchDelegateProxy>& io_parent,
        BrowserContext* browser_context)
-      : io_parent_(io_parent),
-        browser_context_(browser_context),
-        weak_ptr_factory_(this) {
+      : io_parent_(io_parent), browser_context_(browser_context) {
     DCHECK_CURRENTLY_ON(BrowserThread::UI);
     DCHECK(browser_context_);
   }
@@ -216,7 +214,7 @@
 
   BrowserContext* browser_context_;
 
-  base::WeakPtrFactory<Core> weak_ptr_factory_;
+  base::WeakPtrFactory<Core> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(Core);
 };
@@ -313,8 +311,7 @@
 }
 
 BackgroundFetchDelegateProxy::BackgroundFetchDelegateProxy(
-    BrowserContext* browser_context)
-    : weak_ptr_factory_(this) {
+    BrowserContext* browser_context) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
   // Normally it would be unsafe to obtain a weak pointer on the UI thread from
diff --git a/content/browser/background_fetch/background_fetch_delegate_proxy.h b/content/browser/background_fetch/background_fetch_delegate_proxy.h
index 4b1ad84d..8fb029b 100644
--- a/content/browser/background_fetch/background_fetch_delegate_proxy.h
+++ b/content/browser/background_fetch/background_fetch_delegate_proxy.h
@@ -174,7 +174,7 @@
       update_ui_callback_map_;
 
   DispatchClickEventCallback click_event_dispatcher_callback_;
-  base::WeakPtrFactory<BackgroundFetchDelegateProxy> weak_ptr_factory_;
+  base::WeakPtrFactory<BackgroundFetchDelegateProxy> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(BackgroundFetchDelegateProxy);
 };
diff --git a/content/browser/background_fetch/background_fetch_delegate_proxy_unittest.cc b/content/browser/background_fetch/background_fetch_delegate_proxy_unittest.cc
index 7d3c650..2a7095f 100644
--- a/content/browser/background_fetch/background_fetch_delegate_proxy_unittest.cc
+++ b/content/browser/background_fetch/background_fetch_delegate_proxy_unittest.cc
@@ -140,7 +140,7 @@
 
 class FakeController : public BackgroundFetchDelegateProxy::Controller {
  public:
-  FakeController() : weak_ptr_factory_(this) {}
+  FakeController() {}
 
   void DidStartRequest(
       const std::string& guid,
@@ -167,7 +167,7 @@
 
   bool request_started_ = false;
   bool request_completed_ = false;
-  base::WeakPtrFactory<FakeController> weak_ptr_factory_;
+  base::WeakPtrFactory<FakeController> weak_ptr_factory_{this};
 };
 
 class BackgroundFetchDelegateProxyTest : public BackgroundFetchTestBase {
diff --git a/content/browser/background_fetch/background_fetch_job_controller.cc b/content/browser/background_fetch/background_fetch_job_controller.cc
index a3e41e00..4f4e481a 100644
--- a/content/browser/background_fetch/background_fetch_job_controller.cc
+++ b/content/browser/background_fetch/background_fetch_job_controller.cc
@@ -87,8 +87,7 @@
       complete_requests_uploaded_bytes_cache_(bytes_uploaded),
       upload_total_(upload_total),
       progress_callback_(std::move(progress_callback)),
-      finished_callback_(std::move(finished_callback)),
-      weak_ptr_factory_(this) {
+      finished_callback_(std::move(finished_callback)) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 }
 
diff --git a/content/browser/background_fetch/background_fetch_job_controller.h b/content/browser/background_fetch/background_fetch_job_controller.h
index 200aa5f..a3700848 100644
--- a/content/browser/background_fetch/background_fetch_job_controller.h
+++ b/content/browser/background_fetch/background_fetch_job_controller.h
@@ -212,7 +212,7 @@
   // Custom callback that runs after the controller is finished.
   FinishedCallback finished_callback_;
 
-  base::WeakPtrFactory<BackgroundFetchJobController> weak_ptr_factory_;
+  base::WeakPtrFactory<BackgroundFetchJobController> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(BackgroundFetchJobController);
 };
diff --git a/content/browser/background_fetch/background_fetch_registration_notifier.cc b/content/browser/background_fetch/background_fetch_registration_notifier.cc
index bfa25c5..5608432 100644
--- a/content/browser/background_fetch/background_fetch_registration_notifier.cc
+++ b/content/browser/background_fetch/background_fetch_registration_notifier.cc
@@ -12,8 +12,7 @@
 
 namespace content {
 
-BackgroundFetchRegistrationNotifier::BackgroundFetchRegistrationNotifier()
-    : weak_factory_(this) {}
+BackgroundFetchRegistrationNotifier::BackgroundFetchRegistrationNotifier() {}
 
 BackgroundFetchRegistrationNotifier::~BackgroundFetchRegistrationNotifier() {}
 
diff --git a/content/browser/background_fetch/background_fetch_registration_notifier.h b/content/browser/background_fetch/background_fetch_registration_notifier.h
index 73f7734..c974108 100644
--- a/content/browser/background_fetch/background_fetch_registration_notifier.h
+++ b/content/browser/background_fetch/background_fetch_registration_notifier.h
@@ -79,7 +79,7 @@
   // This is used for UMA recording.
   std::map<std::string, std::pair<int, int>> num_requests_and_updates_;
 
-  base::WeakPtrFactory<BackgroundFetchRegistrationNotifier> weak_factory_;
+  base::WeakPtrFactory<BackgroundFetchRegistrationNotifier> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(BackgroundFetchRegistrationNotifier);
 };
diff --git a/content/browser/background_fetch/background_fetch_scheduler.cc b/content/browser/background_fetch/background_fetch_scheduler.cc
index 539f145..a4a9ccc1 100644
--- a/content/browser/background_fetch/background_fetch_scheduler.cc
+++ b/content/browser/background_fetch/background_fetch_scheduler.cc
@@ -71,8 +71,7 @@
       devtools_context_(devtools_context),
       event_dispatcher_(background_fetch_context,
                         std::move(service_worker_context),
-                        devtools_context),
-      weak_ptr_factory_(this) {
+                        devtools_context) {
   DCHECK(delegate_proxy_);
   DCHECK(devtools_context_);
   delegate_proxy_->SetClickEventDispatcher(
diff --git a/content/browser/background_fetch/background_fetch_scheduler.h b/content/browser/background_fetch/background_fetch_scheduler.h
index 0159718c..f48e974 100644
--- a/content/browser/background_fetch/background_fetch_scheduler.h
+++ b/content/browser/background_fetch/background_fetch_scheduler.h
@@ -186,7 +186,7 @@
   int num_active_registrations_ = 0;
   int num_running_downloads_ = 0;
 
-  base::WeakPtrFactory<BackgroundFetchScheduler> weak_ptr_factory_;
+  base::WeakPtrFactory<BackgroundFetchScheduler> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(BackgroundFetchScheduler);
 };
diff --git a/content/browser/background_fetch/storage/cache_entry_handler_impl.cc b/content/browser/background_fetch/storage/cache_entry_handler_impl.cc
index 5c87a76..c0ae740 100644
--- a/content/browser/background_fetch/storage/cache_entry_handler_impl.cc
+++ b/content/browser/background_fetch/storage/cache_entry_handler_impl.cc
@@ -12,8 +12,7 @@
 
 CacheEntryHandlerImpl::CacheEntryHandlerImpl(
     base::WeakPtr<storage::BlobStorageContext> blob_context)
-    : CacheStorageCacheEntryHandler(std::move(blob_context)),
-      weak_ptr_factory_(this) {}
+    : CacheStorageCacheEntryHandler(std::move(blob_context)) {}
 
 CacheEntryHandlerImpl::~CacheEntryHandlerImpl() = default;
 
diff --git a/content/browser/background_fetch/storage/cache_entry_handler_impl.h b/content/browser/background_fetch/storage/cache_entry_handler_impl.h
index 73e2c65..d6326fe4 100644
--- a/content/browser/background_fetch/storage/cache_entry_handler_impl.h
+++ b/content/browser/background_fetch/storage/cache_entry_handler_impl.h
@@ -32,7 +32,7 @@
  private:
   base::WeakPtr<CacheStorageCacheEntryHandler> GetWeakPtr() override;
 
-  base::WeakPtrFactory<CacheEntryHandlerImpl> weak_ptr_factory_;
+  base::WeakPtrFactory<CacheEntryHandlerImpl> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(CacheEntryHandlerImpl);
 };
diff --git a/content/browser/background_fetch/storage/cleanup_task.cc b/content/browser/background_fetch/storage/cleanup_task.cc
index 9175a70..5d0321f 100644
--- a/content/browser/background_fetch/storage/cleanup_task.cc
+++ b/content/browser/background_fetch/storage/cleanup_task.cc
@@ -22,8 +22,7 @@
 void EmptyErrorHandler(blink::mojom::BackgroundFetchError) {}
 }  // namespace
 
-CleanupTask::CleanupTask(DatabaseTaskHost* host)
-    : DatabaseTask(host), weak_factory_(this) {}
+CleanupTask::CleanupTask(DatabaseTaskHost* host) : DatabaseTask(host) {}
 
 CleanupTask::~CleanupTask() = default;
 
diff --git a/content/browser/background_fetch/storage/cleanup_task.h b/content/browser/background_fetch/storage/cleanup_task.h
index 520cbb6..37d5665c 100644
--- a/content/browser/background_fetch/storage/cleanup_task.h
+++ b/content/browser/background_fetch/storage/cleanup_task.h
@@ -38,7 +38,7 @@
 
   std::string HistogramName() const override;
 
-  base::WeakPtrFactory<CleanupTask> weak_factory_;  // Keep as last.
+  base::WeakPtrFactory<CleanupTask> weak_factory_{this};  // Keep as last.
 
   DISALLOW_COPY_AND_ASSIGN(CleanupTask);
 };
diff --git a/content/browser/background_fetch/storage/create_metadata_task.cc b/content/browser/background_fetch/storage/create_metadata_task.cc
index cfbd087..d3dc274 100644
--- a/content/browser/background_fetch/storage/create_metadata_task.cc
+++ b/content/browser/background_fetch/storage/create_metadata_task.cc
@@ -45,10 +45,7 @@
   CanCreateRegistrationTask(DatabaseTaskHost* host,
                             const url::Origin& origin,
                             CanCreateRegistrationCallback callback)
-      : DatabaseTask(host),
-        origin_(origin),
-        callback_(std::move(callback)),
-        weak_factory_(this) {}
+      : DatabaseTask(host), origin_(origin), callback_(std::move(callback)) {}
 
   ~CanCreateRegistrationTask() override = default;
 
@@ -122,8 +119,8 @@
   // The number of existing registrations found for |origin_|.
   size_t num_active_registrations_ = 0u;
 
-  base::WeakPtrFactory<CanCreateRegistrationTask>
-      weak_factory_;  // Keep as last.
+  base::WeakPtrFactory<CanCreateRegistrationTask> weak_factory_{
+      this};  // Keep as last.
 };
 
 }  // namespace
@@ -142,8 +139,7 @@
       options_(std::move(options)),
       icon_(icon),
       start_paused_(start_paused),
-      callback_(std::move(callback)),
-      weak_factory_(this) {}
+      callback_(std::move(callback)) {}
 
 CreateMetadataTask::~CreateMetadataTask() = default;
 
diff --git a/content/browser/background_fetch/storage/create_metadata_task.h b/content/browser/background_fetch/storage/create_metadata_task.h
index 572107b..bf70616 100644
--- a/content/browser/background_fetch/storage/create_metadata_task.h
+++ b/content/browser/background_fetch/storage/create_metadata_task.h
@@ -80,7 +80,8 @@
 
   std::string serialized_icon_;
 
-  base::WeakPtrFactory<CreateMetadataTask> weak_factory_;  // Keep as last.
+  base::WeakPtrFactory<CreateMetadataTask> weak_factory_{
+      this};  // Keep as last.
 
   DISALLOW_COPY_AND_ASSIGN(CreateMetadataTask);
 };
diff --git a/content/browser/background_fetch/storage/database_task.cc b/content/browser/background_fetch/storage/database_task.cc
index 69213ef..3f34d2b 100644
--- a/content/browser/background_fetch/storage/database_task.cc
+++ b/content/browser/background_fetch/storage/database_task.cc
@@ -40,8 +40,7 @@
 
 DatabaseTaskHost::~DatabaseTaskHost() = default;
 
-DatabaseTask::DatabaseTask(DatabaseTaskHost* host)
-    : host_(host), weak_ptr_factory_(this) {
+DatabaseTask::DatabaseTask(DatabaseTaskHost* host) : host_(host) {
   DCHECK(host_);
   // Hold a reference to the CacheStorageManager.
   cache_manager_ = data_manager()->cache_manager();
diff --git a/content/browser/background_fetch/storage/database_task.h b/content/browser/background_fetch/storage/database_task.h
index 9109d89..b9aa561 100644
--- a/content/browser/background_fetch/storage/database_task.h
+++ b/content/browser/background_fetch/storage/database_task.h
@@ -164,7 +164,7 @@
   BackgroundFetchStorageError storage_error_ =
       BackgroundFetchStorageError::kNone;
 
-  base::WeakPtrFactory<DatabaseTask> weak_ptr_factory_;
+  base::WeakPtrFactory<DatabaseTask> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(DatabaseTask);
 };
diff --git a/content/browser/background_fetch/storage/delete_registration_task.cc b/content/browser/background_fetch/storage/delete_registration_task.cc
index 8700b4a..55869ae 100644
--- a/content/browser/background_fetch/storage/delete_registration_task.cc
+++ b/content/browser/background_fetch/storage/delete_registration_task.cc
@@ -51,8 +51,7 @@
       service_worker_registration_id_(service_worker_registration_id),
       origin_(origin),
       unique_id_(unique_id),
-      callback_(std::move(callback)),
-      weak_factory_(this) {}
+      callback_(std::move(callback)) {}
 
 DeleteRegistrationTask::~DeleteRegistrationTask() = default;
 
diff --git a/content/browser/background_fetch/storage/delete_registration_task.h b/content/browser/background_fetch/storage/delete_registration_task.h
index 175377cf..199ee2a 100644
--- a/content/browser/background_fetch/storage/delete_registration_task.h
+++ b/content/browser/background_fetch/storage/delete_registration_task.h
@@ -50,7 +50,8 @@
   std::string unique_id_;
   HandleBackgroundFetchErrorCallback callback_;
 
-  base::WeakPtrFactory<DeleteRegistrationTask> weak_factory_;  // Keep as last.
+  base::WeakPtrFactory<DeleteRegistrationTask> weak_factory_{
+      this};  // Keep as last.
 
   DISALLOW_COPY_AND_ASSIGN(DeleteRegistrationTask);
 };
diff --git a/content/browser/background_fetch/storage/get_developer_ids_task.cc b/content/browser/background_fetch/storage/get_developer_ids_task.cc
index 84aa534..2044512 100644
--- a/content/browser/background_fetch/storage/get_developer_ids_task.cc
+++ b/content/browser/background_fetch/storage/get_developer_ids_task.cc
@@ -21,8 +21,7 @@
     : DatabaseTask(host),
       service_worker_registration_id_(service_worker_registration_id),
       origin_(origin),
-      callback_(std::move(callback)),
-      weak_factory_(this) {}
+      callback_(std::move(callback)) {}
 
 GetDeveloperIdsTask::~GetDeveloperIdsTask() = default;
 
diff --git a/content/browser/background_fetch/storage/get_developer_ids_task.h b/content/browser/background_fetch/storage/get_developer_ids_task.h
index 0966fc3..eb5710c 100644
--- a/content/browser/background_fetch/storage/get_developer_ids_task.h
+++ b/content/browser/background_fetch/storage/get_developer_ids_task.h
@@ -48,7 +48,8 @@
 
   std::vector<std::string> developer_ids_;
 
-  base::WeakPtrFactory<GetDeveloperIdsTask> weak_factory_;  // Keep as last.
+  base::WeakPtrFactory<GetDeveloperIdsTask> weak_factory_{
+      this};  // Keep as last.
 
   DISALLOW_COPY_AND_ASSIGN(GetDeveloperIdsTask);
 };
diff --git a/content/browser/background_fetch/storage/get_initialization_data_task.cc b/content/browser/background_fetch/storage/get_initialization_data_task.cc
index 75977e7..8a7f963 100644
--- a/content/browser/background_fetch/storage/get_initialization_data_task.cc
+++ b/content/browser/background_fetch/storage/get_initialization_data_task.cc
@@ -78,8 +78,7 @@
   GetUIOptionsTask(DatabaseTaskHost* host,
                    const SubTaskInit& sub_task_init,
                    base::OnceClosure done_closure)
-      : InitializationSubTask(host, sub_task_init, std::move(done_closure)),
-        weak_factory_(this) {}
+      : InitializationSubTask(host, sub_task_init, std::move(done_closure)) {}
 
   ~GetUIOptionsTask() override = default;
 
@@ -132,7 +131,7 @@
     FinishWithError(blink::mojom::BackgroundFetchError::NONE);
   }
 
-  base::WeakPtrFactory<GetUIOptionsTask> weak_factory_;  // Keep as last.
+  base::WeakPtrFactory<GetUIOptionsTask> weak_factory_{this};  // Keep as last.
 };
 
 // Gets the number of completed fetches, the number of active fetches,
@@ -146,8 +145,7 @@
   GetRequestsTask(DatabaseTaskHost* host,
                   const SubTaskInit& sub_task_init,
                   base::OnceClosure done_closure)
-      : InitializationSubTask(host, sub_task_init, std::move(done_closure)),
-        weak_factory_(this) {}
+      : InitializationSubTask(host, sub_task_init, std::move(done_closure)) {}
 
   ~GetRequestsTask() override = default;
 
@@ -276,7 +274,7 @@
     FinishWithError(blink::mojom::BackgroundFetchError::NONE);
   }
 
-  base::WeakPtrFactory<GetRequestsTask> weak_factory_;  // Keep as last.
+  base::WeakPtrFactory<GetRequestsTask> weak_factory_{this};  // Keep as last.
 
   DISALLOW_COPY_AND_ASSIGN(GetRequestsTask);
 };
@@ -288,8 +286,7 @@
   FillFromMetadataTask(DatabaseTaskHost* host,
                        const SubTaskInit& sub_task_init,
                        base::OnceClosure done_closure)
-      : InitializationSubTask(host, sub_task_init, std::move(done_closure)),
-        weak_factory_(this) {}
+      : InitializationSubTask(host, sub_task_init, std::move(done_closure)) {}
 
   ~FillFromMetadataTask() override = default;
 
@@ -375,7 +372,8 @@
     FinishWithError(blink::mojom::BackgroundFetchError::NONE);
   }
 
-  base::WeakPtrFactory<FillFromMetadataTask> weak_factory_;  // Keep as last.
+  base::WeakPtrFactory<FillFromMetadataTask> weak_factory_{
+      this};  // Keep as last.
 
   DISALLOW_COPY_AND_ASSIGN(FillFromMetadataTask);
 };
@@ -387,8 +385,7 @@
   FillBackgroundFetchInitializationDataTask(DatabaseTaskHost* host,
                                             const SubTaskInit& sub_task_init,
                                             base::OnceClosure done_closure)
-      : InitializationSubTask(host, sub_task_init, std::move(done_closure)),
-        weak_factory_(this) {}
+      : InitializationSubTask(host, sub_task_init, std::move(done_closure)) {}
 
   ~FillBackgroundFetchInitializationDataTask() override = default;
 
@@ -415,8 +412,8 @@
   }
 
  private:
-  base::WeakPtrFactory<FillBackgroundFetchInitializationDataTask>
-      weak_factory_;  // Keep as last.
+  base::WeakPtrFactory<FillBackgroundFetchInitializationDataTask> weak_factory_{
+      this};  // Keep as last.
 
   DISALLOW_COPY_AND_ASSIGN(FillBackgroundFetchInitializationDataTask);
 };
@@ -435,7 +432,7 @@
 GetInitializationDataTask::GetInitializationDataTask(
     DatabaseTaskHost* host,
     GetInitializationDataCallback callback)
-    : DatabaseTask(host), callback_(std::move(callback)), weak_factory_(this) {}
+    : DatabaseTask(host), callback_(std::move(callback)) {}
 
 GetInitializationDataTask::~GetInitializationDataTask() = default;
 
diff --git a/content/browser/background_fetch/storage/get_initialization_data_task.h b/content/browser/background_fetch/storage/get_initialization_data_task.h
index b65eabd..7051337 100644
--- a/content/browser/background_fetch/storage/get_initialization_data_task.h
+++ b/content/browser/background_fetch/storage/get_initialization_data_task.h
@@ -94,8 +94,8 @@
   // Map from the unique_id to the initialization data.
   InitializationDataMap initialization_data_map_;
 
-  base::WeakPtrFactory<GetInitializationDataTask>
-      weak_factory_;  // Keep as last.
+  base::WeakPtrFactory<GetInitializationDataTask> weak_factory_{
+      this};  // Keep as last.
 
   DISALLOW_COPY_AND_ASSIGN(GetInitializationDataTask);
 };
diff --git a/content/browser/background_fetch/storage/get_metadata_task.cc b/content/browser/background_fetch/storage/get_metadata_task.cc
index 334f135..d904b5a 100644
--- a/content/browser/background_fetch/storage/get_metadata_task.cc
+++ b/content/browser/background_fetch/storage/get_metadata_task.cc
@@ -23,8 +23,7 @@
       service_worker_registration_id_(service_worker_registration_id),
       origin_(origin),
       developer_id_(developer_id),
-      callback_(std::move(callback)),
-      weak_factory_(this) {}
+      callback_(std::move(callback)) {}
 
 GetMetadataTask::~GetMetadataTask() = default;
 
diff --git a/content/browser/background_fetch/storage/get_metadata_task.h b/content/browser/background_fetch/storage/get_metadata_task.h
index 130e1a3..b18f253 100644
--- a/content/browser/background_fetch/storage/get_metadata_task.h
+++ b/content/browser/background_fetch/storage/get_metadata_task.h
@@ -55,7 +55,7 @@
 
   std::unique_ptr<proto::BackgroundFetchMetadata> metadata_proto_;
 
-  base::WeakPtrFactory<GetMetadataTask> weak_factory_;  // Keep as last.
+  base::WeakPtrFactory<GetMetadataTask> weak_factory_{this};  // Keep as last.
 
   DISALLOW_COPY_AND_ASSIGN(GetMetadataTask);
 };
diff --git a/content/browser/background_fetch/storage/get_registration_task.cc b/content/browser/background_fetch/storage/get_registration_task.cc
index cc1e7a7..cceac07c 100644
--- a/content/browser/background_fetch/storage/get_registration_task.cc
+++ b/content/browser/background_fetch/storage/get_registration_task.cc
@@ -20,8 +20,7 @@
       service_worker_registration_id_(service_worker_registration_id),
       origin_(origin),
       developer_id_(developer_id),
-      callback_(std::move(callback)),
-      weak_factory_(this) {}
+      callback_(std::move(callback)) {}
 
 GetRegistrationTask::~GetRegistrationTask() = default;
 
diff --git a/content/browser/background_fetch/storage/get_registration_task.h b/content/browser/background_fetch/storage/get_registration_task.h
index 229d0df4..b8b79ab 100644
--- a/content/browser/background_fetch/storage/get_registration_task.h
+++ b/content/browser/background_fetch/storage/get_registration_task.h
@@ -54,7 +54,8 @@
 
   std::unique_ptr<proto::BackgroundFetchMetadata> metadata_proto_;
 
-  base::WeakPtrFactory<GetRegistrationTask> weak_factory_;  // Keep as last.
+  base::WeakPtrFactory<GetRegistrationTask> weak_factory_{
+      this};  // Keep as last.
 
   DISALLOW_COPY_AND_ASSIGN(GetRegistrationTask);
 };
diff --git a/content/browser/background_fetch/storage/get_request_blob_task.cc b/content/browser/background_fetch/storage/get_request_blob_task.cc
index 18dafadf..d12246e 100644
--- a/content/browser/background_fetch/storage/get_request_blob_task.cc
+++ b/content/browser/background_fetch/storage/get_request_blob_task.cc
@@ -21,8 +21,7 @@
     : DatabaseTask(host),
       registration_id_(registration_id),
       request_info_(request_info),
-      callback_(std::move(callback)),
-      weak_factory_(this) {}
+      callback_(std::move(callback)) {}
 
 GetRequestBlobTask::~GetRequestBlobTask() = default;
 
diff --git a/content/browser/background_fetch/storage/get_request_blob_task.h b/content/browser/background_fetch/storage/get_request_blob_task.h
index a11625e2..ee600220 100644
--- a/content/browser/background_fetch/storage/get_request_blob_task.h
+++ b/content/browser/background_fetch/storage/get_request_blob_task.h
@@ -53,7 +53,8 @@
 
   blink::mojom::SerializedBlobPtr blob_;
 
-  base::WeakPtrFactory<GetRequestBlobTask> weak_factory_;  // Keep as last.
+  base::WeakPtrFactory<GetRequestBlobTask> weak_factory_{
+      this};  // Keep as last.
 
   DISALLOW_COPY_AND_ASSIGN(GetRequestBlobTask);
 };
diff --git a/content/browser/background_fetch/storage/mark_registration_for_deletion_task.cc b/content/browser/background_fetch/storage/mark_registration_for_deletion_task.cc
index 0fc90a5..483b7a1 100644
--- a/content/browser/background_fetch/storage/mark_registration_for_deletion_task.cc
+++ b/content/browser/background_fetch/storage/mark_registration_for_deletion_task.cc
@@ -23,8 +23,7 @@
     : DatabaseTask(host),
       registration_id_(registration_id),
       check_for_failure_(check_for_failure),
-      callback_(std::move(callback)),
-      weak_factory_(this) {}
+      callback_(std::move(callback)) {}
 
 MarkRegistrationForDeletionTask::~MarkRegistrationForDeletionTask() = default;
 
diff --git a/content/browser/background_fetch/storage/mark_registration_for_deletion_task.h b/content/browser/background_fetch/storage/mark_registration_for_deletion_task.h
index 5f340a1..6762e5b 100644
--- a/content/browser/background_fetch/storage/mark_registration_for_deletion_task.h
+++ b/content/browser/background_fetch/storage/mark_registration_for_deletion_task.h
@@ -53,8 +53,8 @@
   blink::mojom::BackgroundFetchFailureReason failure_reason_ =
       blink::mojom::BackgroundFetchFailureReason::NONE;
 
-  base::WeakPtrFactory<MarkRegistrationForDeletionTask>
-      weak_factory_;  // Keep as last.
+  base::WeakPtrFactory<MarkRegistrationForDeletionTask> weak_factory_{
+      this};  // Keep as last.
 
   DISALLOW_COPY_AND_ASSIGN(MarkRegistrationForDeletionTask);
 };
diff --git a/content/browser/background_fetch/storage/mark_request_complete_task.cc b/content/browser/background_fetch/storage/mark_request_complete_task.cc
index 055e637..42f5434 100644
--- a/content/browser/background_fetch/storage/mark_request_complete_task.cc
+++ b/content/browser/background_fetch/storage/mark_request_complete_task.cc
@@ -45,8 +45,7 @@
     : DatabaseTask(host),
       registration_id_(registration_id),
       request_info_(std::move(request_info)),
-      callback_(std::move(callback)),
-      weak_factory_(this) {}
+      callback_(std::move(callback)) {}
 
 MarkRequestCompleteTask::~MarkRequestCompleteTask() = default;
 
diff --git a/content/browser/background_fetch/storage/mark_request_complete_task.h b/content/browser/background_fetch/storage/mark_request_complete_task.h
index 9e03b2e..d5739f8 100644
--- a/content/browser/background_fetch/storage/mark_request_complete_task.h
+++ b/content/browser/background_fetch/storage/mark_request_complete_task.h
@@ -81,7 +81,8 @@
   proto::BackgroundFetchRegistration::BackgroundFetchFailureReason
       failure_reason_ = proto::BackgroundFetchRegistration::NONE;
 
-  base::WeakPtrFactory<MarkRequestCompleteTask> weak_factory_;  // Keep as last.
+  base::WeakPtrFactory<MarkRequestCompleteTask> weak_factory_{
+      this};  // Keep as last.
 
   DISALLOW_COPY_AND_ASSIGN(MarkRequestCompleteTask);
 };
diff --git a/content/browser/background_fetch/storage/match_requests_task.cc b/content/browser/background_fetch/storage/match_requests_task.cc
index 4d4617c..21114c10 100644
--- a/content/browser/background_fetch/storage/match_requests_task.cc
+++ b/content/browser/background_fetch/storage/match_requests_task.cc
@@ -29,8 +29,7 @@
     : DatabaseTask(host),
       registration_id_(registration_id),
       match_params_(std::move(match_params)),
-      callback_(std::move(callback)),
-      weak_factory_(this) {}
+      callback_(std::move(callback)) {}
 
 MatchRequestsTask::~MatchRequestsTask() = default;
 
diff --git a/content/browser/background_fetch/storage/match_requests_task.h b/content/browser/background_fetch/storage/match_requests_task.h
index 6166103..4e45b618 100644
--- a/content/browser/background_fetch/storage/match_requests_task.h
+++ b/content/browser/background_fetch/storage/match_requests_task.h
@@ -65,7 +65,7 @@
   CacheStorageCacheHandle handle_;
   std::vector<blink::mojom::BackgroundFetchSettledFetchPtr> settled_fetches_;
 
-  base::WeakPtrFactory<MatchRequestsTask> weak_factory_;  // Keep as last.
+  base::WeakPtrFactory<MatchRequestsTask> weak_factory_{this};  // Keep as last.
 
   DISALLOW_COPY_AND_ASSIGN(MatchRequestsTask);
 };
diff --git a/content/browser/background_fetch/storage/start_next_pending_request_task.cc b/content/browser/background_fetch/storage/start_next_pending_request_task.cc
index 33394639..69c8fcb 100644
--- a/content/browser/background_fetch/storage/start_next_pending_request_task.cc
+++ b/content/browser/background_fetch/storage/start_next_pending_request_task.cc
@@ -19,8 +19,7 @@
     NextRequestCallback callback)
     : DatabaseTask(host),
       registration_id_(registration_id),
-      callback_(std::move(callback)),
-      weak_factory_(this) {
+      callback_(std::move(callback)) {
   DCHECK(!registration_id_.is_null());
 }
 
diff --git a/content/browser/background_fetch/storage/start_next_pending_request_task.h b/content/browser/background_fetch/storage/start_next_pending_request_task.h
index e3925f43..5bd780a 100644
--- a/content/browser/background_fetch/storage/start_next_pending_request_task.h
+++ b/content/browser/background_fetch/storage/start_next_pending_request_task.h
@@ -60,8 +60,8 @@
 
   scoped_refptr<BackgroundFetchRequestInfo> next_request_;
 
-  base::WeakPtrFactory<StartNextPendingRequestTask>
-      weak_factory_;  // Keep as last.
+  base::WeakPtrFactory<StartNextPendingRequestTask> weak_factory_{
+      this};  // Keep as last.
 
   DISALLOW_COPY_AND_ASSIGN(StartNextPendingRequestTask);
 };
diff --git a/content/browser/background_sync/background_sync_manager.cc b/content/browser/background_sync/background_sync_manager.cc
index 0dcae47..823d43a 100644
--- a/content/browser/background_sync/background_sync_manager.cc
+++ b/content/browser/background_sync/background_sync_manager.cc
@@ -501,8 +501,7 @@
       parameters_(std::make_unique<BackgroundSyncParameters>()),
       disabled_(false),
       num_firing_registrations_(0),
-      clock_(base::DefaultClock::GetInstance()),
-      weak_ptr_factory_(this) {
+      clock_(base::DefaultClock::GetInstance()) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   DCHECK(devtools_context_);
 
diff --git a/content/browser/background_sync/background_sync_manager.h b/content/browser/background_sync/background_sync_manager.h
index 3f9d06d..c9beff4 100644
--- a/content/browser/background_sync/background_sync_manager.h
+++ b/content/browser/background_sync/background_sync_manager.h
@@ -387,7 +387,7 @@
 
   std::map<int64_t, int> emulated_offline_sw_;
 
-  base::WeakPtrFactory<BackgroundSyncManager> weak_ptr_factory_;
+  base::WeakPtrFactory<BackgroundSyncManager> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(BackgroundSyncManager);
 };
diff --git a/content/browser/background_sync/background_sync_network_observer.cc b/content/browser/background_sync/background_sync_network_observer.cc
index e155d23..00c7b463 100644
--- a/content/browser/background_sync/background_sync_network_observer.cc
+++ b/content/browser/background_sync/background_sync_network_observer.cc
@@ -27,8 +27,7 @@
     const base::RepeatingClosure& connection_changed_callback)
     : network_connection_tracker_(nullptr),
       connection_type_(network::mojom::ConnectionType::CONNECTION_UNKNOWN),
-      connection_changed_callback_(connection_changed_callback),
-      weak_ptr_factory_(this) {
+      connection_changed_callback_(connection_changed_callback) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   DCHECK(connection_changed_callback_);
 
diff --git a/content/browser/background_sync/background_sync_network_observer.h b/content/browser/background_sync/background_sync_network_observer.h
index 8768cae..6652916 100644
--- a/content/browser/background_sync/background_sync_network_observer.h
+++ b/content/browser/background_sync/background_sync_network_observer.h
@@ -66,7 +66,7 @@
   // (to prevent flakes in tests).
   static bool ignore_network_changes_;
 
-  base::WeakPtrFactory<BackgroundSyncNetworkObserver> weak_ptr_factory_;
+  base::WeakPtrFactory<BackgroundSyncNetworkObserver> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(BackgroundSyncNetworkObserver);
 };
diff --git a/content/browser/background_sync/background_sync_registration_helper.cc b/content/browser/background_sync/background_sync_registration_helper.cc
index dd33f54..a8b2a42 100644
--- a/content/browser/background_sync/background_sync_registration_helper.cc
+++ b/content/browser/background_sync/background_sync_registration_helper.cc
@@ -14,8 +14,7 @@
 
 BackgroundSyncRegistrationHelper::BackgroundSyncRegistrationHelper(
     BackgroundSyncContextImpl* background_sync_context)
-    : background_sync_context_(background_sync_context),
-      weak_ptr_factory_(this) {
+    : background_sync_context_(background_sync_context) {
   DCHECK(background_sync_context_);
 }
 
diff --git a/content/browser/background_sync/background_sync_registration_helper.h b/content/browser/background_sync/background_sync_registration_helper.h
index 34006c0..414e4aee 100644
--- a/content/browser/background_sync/background_sync_registration_helper.h
+++ b/content/browser/background_sync/background_sync_registration_helper.h
@@ -53,7 +53,8 @@
  private:
   // |background_sync_context_| (indirectly) owns |this|.
   BackgroundSyncContextImpl* const background_sync_context_;
-  base::WeakPtrFactory<BackgroundSyncRegistrationHelper> weak_ptr_factory_;
+  base::WeakPtrFactory<BackgroundSyncRegistrationHelper> weak_ptr_factory_{
+      this};
 
   DISALLOW_COPY_AND_ASSIGN(BackgroundSyncRegistrationHelper);
 };
diff --git a/content/browser/background_sync/one_shot_background_sync_service_impl.cc b/content/browser/background_sync/one_shot_background_sync_service_impl.cc
index 20e10480..8b2dfbd 100644
--- a/content/browser/background_sync/one_shot_background_sync_service_impl.cc
+++ b/content/browser/background_sync/one_shot_background_sync_service_impl.cc
@@ -18,8 +18,7 @@
     BackgroundSyncContextImpl* background_sync_context,
     mojo::InterfaceRequest<blink::mojom::OneShotBackgroundSyncService> request)
     : background_sync_context_(background_sync_context),
-      binding_(this, std::move(request)),
-      weak_ptr_factory_(this) {
+      binding_(this, std::move(request)) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   DCHECK(background_sync_context_);
 
diff --git a/content/browser/background_sync/one_shot_background_sync_service_impl.h b/content/browser/background_sync/one_shot_background_sync_service_impl.h
index 67ef7d1..b191b3c 100644
--- a/content/browser/background_sync/one_shot_background_sync_service_impl.h
+++ b/content/browser/background_sync/one_shot_background_sync_service_impl.h
@@ -54,7 +54,7 @@
   mojo::Binding<blink::mojom::OneShotBackgroundSyncService> binding_;
 
   base::WeakPtrFactory<blink::mojom::OneShotBackgroundSyncService>
-      weak_ptr_factory_;
+      weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(OneShotBackgroundSyncServiceImpl);
 };
diff --git a/content/browser/background_sync/periodic_background_sync_service_impl.cc b/content/browser/background_sync/periodic_background_sync_service_impl.cc
index 628b672..7c81bb5c 100644
--- a/content/browser/background_sync/periodic_background_sync_service_impl.cc
+++ b/content/browser/background_sync/periodic_background_sync_service_impl.cc
@@ -16,8 +16,7 @@
     BackgroundSyncContextImpl* background_sync_context,
     mojo::InterfaceRequest<blink::mojom::PeriodicBackgroundSyncService> request)
     : background_sync_context_(background_sync_context),
-      binding_(this, std::move(request)),
-      weak_ptr_factory_(this) {
+      binding_(this, std::move(request)) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   DCHECK(background_sync_context_);
 
diff --git a/content/browser/background_sync/periodic_background_sync_service_impl.h b/content/browser/background_sync/periodic_background_sync_service_impl.h
index d2d8b38..5ce59fa 100644
--- a/content/browser/background_sync/periodic_background_sync_service_impl.h
+++ b/content/browser/background_sync/periodic_background_sync_service_impl.h
@@ -58,7 +58,8 @@
   std::unique_ptr<BackgroundSyncRegistrationHelper> registration_helper_;
   mojo::Binding<blink::mojom::PeriodicBackgroundSyncService> binding_;
 
-  base::WeakPtrFactory<PeriodicBackgroundSyncServiceImpl> weak_ptr_factory_;
+  base::WeakPtrFactory<PeriodicBackgroundSyncServiceImpl> weak_ptr_factory_{
+      this};
 
   DISALLOW_COPY_AND_ASSIGN(PeriodicBackgroundSyncServiceImpl);
 };
diff --git a/content/browser/bluetooth/bluetooth_device_chooser_controller.cc b/content/browser/bluetooth/bluetooth_device_chooser_controller.cc
index ddbebfa..0dc035c 100644
--- a/content/browser/bluetooth/bluetooth_device_chooser_controller.cc
+++ b/content/browser/bluetooth/bluetooth_device_chooser_controller.cc
@@ -237,8 +237,7 @@
           base::Bind(&BluetoothDeviceChooserController::StopDeviceDiscovery,
                      // base::Timer guarantees it won't call back after its
                      // destructor starts.
-                     base::Unretained(this))),
-      weak_ptr_factory_(this) {
+                     base::Unretained(this))) {
   CHECK(adapter_);
 }
 
diff --git a/content/browser/bluetooth/bluetooth_device_chooser_controller.h b/content/browser/bluetooth/bluetooth_device_chooser_controller.h
index 383477d9..b5f5c4c 100644
--- a/content/browser/bluetooth/bluetooth_device_chooser_controller.h
+++ b/content/browser/bluetooth/bluetooth_device_chooser_controller.h
@@ -165,7 +165,8 @@
   // than we do.
   // Note: This should remain the last member so it'll be destroyed and
   // invalidate its weak pointers before any other members are destroyed.
-  base::WeakPtrFactory<BluetoothDeviceChooserController> weak_ptr_factory_;
+  base::WeakPtrFactory<BluetoothDeviceChooserController> weak_ptr_factory_{
+      this};
 };
 
 }  // namespace content
diff --git a/content/browser/bluetooth/web_bluetooth_service_impl.cc b/content/browser/bluetooth/web_bluetooth_service_impl.cc
index be704d8..72ffc0a 100644
--- a/content/browser/bluetooth/web_bluetooth_service_impl.cc
+++ b/content/browser/bluetooth/web_bluetooth_service_impl.cc
@@ -229,8 +229,7 @@
     : WebContentsObserver(WebContents::FromRenderFrameHost(render_frame_host)),
       connected_devices_(new FrameConnectedBluetoothDevices(render_frame_host)),
       render_frame_host_(render_frame_host),
-      binding_(this, std::move(request)),
-      weak_ptr_factory_(this) {
+      binding_(this, std::move(request)) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   CHECK(web_contents());
 }
diff --git a/content/browser/bluetooth/web_bluetooth_service_impl.h b/content/browser/bluetooth/web_bluetooth_service_impl.h
index 5291874..450b4b1 100644
--- a/content/browser/bluetooth/web_bluetooth_service_impl.h
+++ b/content/browser/bluetooth/web_bluetooth_service_impl.h
@@ -412,7 +412,7 @@
   // the service on pipe connection errors.
   mojo::Binding<blink::mojom::WebBluetoothService> binding_;
 
-  base::WeakPtrFactory<WebBluetoothServiceImpl> weak_ptr_factory_;
+  base::WeakPtrFactory<WebBluetoothServiceImpl> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(WebBluetoothServiceImpl);
 };
diff --git a/content/browser/browser_child_process_host_impl.cc b/content/browser/browser_child_process_host_impl.cc
index 347700f..26c2631 100644
--- a/content/browser/browser_child_process_host_impl.cc
+++ b/content/browser/browser_child_process_host_impl.cc
@@ -160,8 +160,7 @@
       delegate_(delegate),
       channel_(nullptr),
       is_channel_connected_(false),
-      notify_child_disconnected_(false),
-      weak_factory_(this) {
+      notify_child_disconnected_(false) {
   data_.id = ChildProcessHostImpl::GenerateChildProcessUniqueId();
 
   child_process_host_ = ChildProcessHost::Create(this);
diff --git a/content/browser/browser_child_process_host_impl.h b/content/browser/browser_child_process_host_impl.h
index 75a1015..4582047 100644
--- a/content/browser/browser_child_process_host_impl.h
+++ b/content/browser/browser_child_process_host_impl.h
@@ -204,7 +204,7 @@
   bool can_use_warm_up_connection_ = false;
 #endif
 
-  base::WeakPtrFactory<BrowserChildProcessHostImpl> weak_factory_;
+  base::WeakPtrFactory<BrowserChildProcessHostImpl> weak_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/browser_plugin/browser_plugin_embedder.cc b/content/browser/browser_plugin/browser_plugin_embedder.cc
index 792d471a..7fbcff29 100644
--- a/content/browser/browser_plugin/browser_plugin_embedder.cc
+++ b/content/browser/browser_plugin/browser_plugin_embedder.cc
@@ -20,10 +20,7 @@
 namespace content {
 
 BrowserPluginEmbedder::BrowserPluginEmbedder(WebContentsImpl* web_contents)
-    : WebContentsObserver(web_contents),
-      guest_drag_ending_(false),
-      weak_ptr_factory_(this) {
-}
+    : WebContentsObserver(web_contents), guest_drag_ending_(false) {}
 
 BrowserPluginEmbedder::~BrowserPluginEmbedder() {
 }
diff --git a/content/browser/browser_plugin/browser_plugin_embedder.h b/content/browser/browser_plugin/browser_plugin_embedder.h
index 326a9ac..55b8846f6 100644
--- a/content/browser/browser_plugin/browser_plugin_embedder.h
+++ b/content/browser/browser_plugin/browser_plugin_embedder.h
@@ -120,7 +120,7 @@
   // Keeps track of "dragend" state.
   bool guest_drag_ending_;
 
-  base::WeakPtrFactory<BrowserPluginEmbedder> weak_ptr_factory_;
+  base::WeakPtrFactory<BrowserPluginEmbedder> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(BrowserPluginEmbedder);
 };
diff --git a/content/browser/browser_plugin/browser_plugin_guest.cc b/content/browser/browser_plugin/browser_plugin_guest.cc
index 245ca7b..ddb17ac7 100644
--- a/content/browser/browser_plugin/browser_plugin_guest.cc
+++ b/content/browser/browser_plugin/browser_plugin_guest.cc
@@ -132,8 +132,7 @@
       seen_embedder_drag_source_ended_at_(false),
       ignore_dragged_url_(true),
       delegate_(delegate),
-      can_use_cross_process_frames_(delegate->CanUseCrossProcessFrames()),
-      weak_ptr_factory_(this) {
+      can_use_cross_process_frames_(delegate->CanUseCrossProcessFrames()) {
   DCHECK(web_contents);
   DCHECK(delegate);
   RecordAction(base::UserMetricsAction("BrowserPlugin.Guest.Create"));
diff --git a/content/browser/browser_plugin/browser_plugin_guest.h b/content/browser/browser_plugin/browser_plugin_guest.h
index dbc5aa6..65db3e6 100644
--- a/content/browser/browser_plugin/browser_plugin_guest.h
+++ b/content/browser/browser_plugin/browser_plugin_guest.h
@@ -471,7 +471,7 @@
 
   // Weak pointer used to ask GeolocationPermissionContext about geolocation
   // permission.
-  base::WeakPtrFactory<BrowserPluginGuest> weak_ptr_factory_;
+  base::WeakPtrFactory<BrowserPluginGuest> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(BrowserPluginGuest);
 };
diff --git a/content/browser/browsing_data/browsing_data_remover_impl.cc b/content/browser/browsing_data/browsing_data_remover_impl.cc
index 32d2b5c..33c84c4 100644
--- a/content/browser/browsing_data/browsing_data_remover_impl.cc
+++ b/content/browser/browsing_data/browsing_data_remover_impl.cc
@@ -111,8 +111,7 @@
       remove_mask_(-1),
       origin_type_mask_(-1),
       is_removing_(false),
-      storage_partition_for_testing_(nullptr),
-      weak_ptr_factory_(this) {
+      storage_partition_for_testing_(nullptr) {
   DCHECK(browser_context_);
 }
 
diff --git a/content/browser/browsing_data/browsing_data_remover_impl.h b/content/browser/browsing_data/browsing_data_remover_impl.h
index 261b2aee..8879c0f 100644
--- a/content/browser/browsing_data/browsing_data_remover_impl.h
+++ b/content/browser/browsing_data/browsing_data_remover_impl.h
@@ -228,7 +228,7 @@
   // We do not own this.
   StoragePartition* storage_partition_for_testing_;
 
-  base::WeakPtrFactory<BrowsingDataRemoverImpl> weak_ptr_factory_;
+  base::WeakPtrFactory<BrowsingDataRemoverImpl> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(BrowsingDataRemoverImpl);
 };
diff --git a/content/browser/browsing_data/clear_site_data_throttle.cc b/content/browser/browsing_data/clear_site_data_throttle.cc
index 2ab93d4..1f468c8 100644
--- a/content/browser/browsing_data/clear_site_data_throttle.cc
+++ b/content/browser/browsing_data/clear_site_data_throttle.cc
@@ -222,9 +222,7 @@
 ClearSiteDataThrottle::ClearSiteDataThrottle(
     net::URLRequest* request,
     std::unique_ptr<ConsoleMessagesDelegate> delegate)
-    : request_(request),
-      delegate_(std::move(delegate)),
-      weak_ptr_factory_(this) {
+    : request_(request), delegate_(std::move(delegate)) {
   DCHECK(request_);
   DCHECK(delegate_);
 }
diff --git a/content/browser/browsing_data/clear_site_data_throttle.h b/content/browser/browsing_data/clear_site_data_throttle.h
index 2238a69..fe74eff 100644
--- a/content/browser/browsing_data/clear_site_data_throttle.h
+++ b/content/browser/browsing_data/clear_site_data_throttle.h
@@ -155,7 +155,7 @@
   base::TimeTicks clearing_started_;
 
   // Needed for asynchronous parsing and deletion tasks.
-  base::WeakPtrFactory<ClearSiteDataThrottle> weak_ptr_factory_;
+  base::WeakPtrFactory<ClearSiteDataThrottle> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ClearSiteDataThrottle);
 };
diff --git a/content/browser/cache_storage/cache_storage_blob_to_disk_cache.cc b/content/browser/cache_storage/cache_storage_blob_to_disk_cache.cc
index f8d230d..d8617e1 100644
--- a/content/browser/cache_storage/cache_storage_blob_to_disk_cache.cc
+++ b/content/browser/cache_storage/cache_storage_blob_to_disk_cache.cc
@@ -24,8 +24,7 @@
     : handle_watcher_(FROM_HERE,
                       mojo::SimpleWatcher::ArmingPolicy::MANUAL,
                       base::SequencedTaskRunnerHandle::Get()),
-      client_binding_(this),
-      weak_ptr_factory_(this) {}
+      client_binding_(this) {}
 
 CacheStorageBlobToDiskCache::~CacheStorageBlobToDiskCache() = default;
 
diff --git a/content/browser/cache_storage/cache_storage_blob_to_disk_cache.h b/content/browser/cache_storage/cache_storage_blob_to_disk_cache.h
index 89964d86..f008022 100644
--- a/content/browser/cache_storage/cache_storage_blob_to_disk_cache.h
+++ b/content/browser/cache_storage/cache_storage_blob_to_disk_cache.h
@@ -71,7 +71,7 @@
   uint64_t expected_total_size_ = 0;
   bool data_pipe_closed_ = false;
 
-  base::WeakPtrFactory<CacheStorageBlobToDiskCache> weak_ptr_factory_;
+  base::WeakPtrFactory<CacheStorageBlobToDiskCache> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(CacheStorageBlobToDiskCache);
 };
diff --git a/content/browser/cache_storage/cache_storage_cache_entry_handler.cc b/content/browser/cache_storage/cache_storage_cache_entry_handler.cc
index e7ad8f4..120a9325 100644
--- a/content/browser/cache_storage/cache_storage_cache_entry_handler.cc
+++ b/content/browser/cache_storage/cache_storage_cache_entry_handler.cc
@@ -277,8 +277,7 @@
  public:
   CacheStorageCacheEntryHandlerImpl(
       base::WeakPtr<storage::BlobStorageContext> blob_context)
-      : CacheStorageCacheEntryHandler(std::move(blob_context)),
-        weak_ptr_factory_(this) {}
+      : CacheStorageCacheEntryHandler(std::move(blob_context)) {}
   ~CacheStorageCacheEntryHandlerImpl() override = default;
 
   std::unique_ptr<PutContext> CreatePutContext(
@@ -321,7 +320,8 @@
     return weak_ptr_factory_.GetWeakPtr();
   }
 
-  base::WeakPtrFactory<CacheStorageCacheEntryHandlerImpl> weak_ptr_factory_;
+  base::WeakPtrFactory<CacheStorageCacheEntryHandlerImpl> weak_ptr_factory_{
+      this};
 };
 
 CacheStorageCacheEntryHandler::CacheStorageCacheEntryHandler(
diff --git a/content/browser/cache_storage/cache_storage_dispatcher_host.cc b/content/browser/cache_storage/cache_storage_dispatcher_host.cc
index eb3a7cd..953d44bd 100644
--- a/content/browser/cache_storage/cache_storage_dispatcher_host.cc
+++ b/content/browser/cache_storage/cache_storage_dispatcher_host.cc
@@ -356,7 +356,7 @@
     : public blink::mojom::CacheStorage {
  public:
   CacheStorageImpl(CacheStorageDispatcherHost* owner, const url::Origin& origin)
-      : owner_(owner), origin_(origin), weak_factory_(this) {
+      : owner_(owner), origin_(origin) {
     // The CacheStorageHandle is empty to start and lazy initialized on first
     // use via GetOrCreateCacheStorage().  In the future we could eagerly create
     // the backend when the mojo connection is created.
@@ -629,7 +629,7 @@
   CacheStorageHandle cache_storage_handle_;
 
   SEQUENCE_CHECKER(sequence_checker_);
-  base::WeakPtrFactory<CacheStorageImpl> weak_factory_;
+  base::WeakPtrFactory<CacheStorageImpl> weak_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(CacheStorageImpl);
 };
 
diff --git a/content/browser/cache_storage/cache_storage_operation.cc b/content/browser/cache_storage/cache_storage_operation.cc
index 01bde84..d9084936 100644
--- a/content/browser/cache_storage/cache_storage_operation.cc
+++ b/content/browser/cache_storage/cache_storage_operation.cc
@@ -21,8 +21,7 @@
       creation_ticks_(base::TimeTicks::Now()),
       client_type_(client_type),
       op_type_(op_type),
-      task_runner_(std::move(task_runner)),
-      weak_ptr_factory_(this) {}
+      task_runner_(std::move(task_runner)) {}
 
 CacheStorageOperation::~CacheStorageOperation() {
   RecordCacheStorageSchedulerUMA(CacheStorageSchedulerUMA::kOperationDuration,
diff --git a/content/browser/cache_storage/cache_storage_operation.h b/content/browser/cache_storage/cache_storage_operation.h
index cf101328..84a6663 100644
--- a/content/browser/cache_storage/cache_storage_operation.h
+++ b/content/browser/cache_storage/cache_storage_operation.h
@@ -54,7 +54,7 @@
   const CacheStorageSchedulerClient client_type_;
   const CacheStorageSchedulerOp op_type_;
   scoped_refptr<base::SequencedTaskRunner> task_runner_;
-  base::WeakPtrFactory<CacheStorageOperation> weak_ptr_factory_;
+  base::WeakPtrFactory<CacheStorageOperation> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(CacheStorageOperation);
 };
diff --git a/content/browser/cache_storage/cache_storage_scheduler.cc b/content/browser/cache_storage/cache_storage_scheduler.cc
index 0a0f31d..9ea8838d 100644
--- a/content/browser/cache_storage/cache_storage_scheduler.cc
+++ b/content/browser/cache_storage/cache_storage_scheduler.cc
@@ -19,9 +19,7 @@
 CacheStorageScheduler::CacheStorageScheduler(
     CacheStorageSchedulerClient client_type,
     scoped_refptr<base::SequencedTaskRunner> task_runner)
-    : task_runner_(std::move(task_runner)),
-      client_type_(client_type),
-      weak_ptr_factory_(this) {}
+    : task_runner_(std::move(task_runner)), client_type_(client_type) {}
 
 CacheStorageScheduler::~CacheStorageScheduler() {}
 
diff --git a/content/browser/cache_storage/cache_storage_scheduler.h b/content/browser/cache_storage/cache_storage_scheduler.h
index 3f0fbf7..09bbb71f 100644
--- a/content/browser/cache_storage/cache_storage_scheduler.h
+++ b/content/browser/cache_storage/cache_storage_scheduler.h
@@ -78,7 +78,7 @@
   std::unique_ptr<CacheStorageOperation> running_operation_;
   const CacheStorageSchedulerClient client_type_;
 
-  base::WeakPtrFactory<CacheStorageScheduler> weak_ptr_factory_;
+  base::WeakPtrFactory<CacheStorageScheduler> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(CacheStorageScheduler);
 };
diff --git a/content/browser/cache_storage/cross_sequence/cross_sequence_cache_storage.cc b/content/browser/cache_storage/cross_sequence/cross_sequence_cache_storage.cc
index 666521dd..936f726 100644
--- a/content/browser/cache_storage/cross_sequence/cross_sequence_cache_storage.cc
+++ b/content/browser/cache_storage/cross_sequence/cross_sequence_cache_storage.cc
@@ -152,8 +152,10 @@
     scoped_refptr<CacheStorageContextWithManager> context)
     : CacheStorage(origin),
       target_task_runner_(std::move(target_task_runner)),
-      inner_(target_task_runner_, origin, std::move(owner), std::move(context)),
-      weak_factory_(this) {}
+      inner_(target_task_runner_,
+             origin,
+             std::move(owner),
+             std::move(context)) {}
 
 CacheStorageHandle CrossSequenceCacheStorage::CreateHandle() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
diff --git a/content/browser/cache_storage/cross_sequence/cross_sequence_cache_storage.h b/content/browser/cache_storage/cross_sequence/cross_sequence_cache_storage.h
index 1f7e7de..fc32d53 100644
--- a/content/browser/cache_storage/cross_sequence/cross_sequence_cache_storage.h
+++ b/content/browser/cache_storage/cross_sequence/cross_sequence_cache_storage.h
@@ -81,7 +81,7 @@
   int handle_ref_count_ = 0;
 
   SEQUENCE_CHECKER(sequence_checker_);
-  base::WeakPtrFactory<CrossSequenceCacheStorage> weak_factory_;
+  base::WeakPtrFactory<CrossSequenceCacheStorage> weak_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(CrossSequenceCacheStorage);
 };
 
diff --git a/content/browser/cache_storage/cross_sequence/cross_sequence_cache_storage_cache.cc b/content/browser/cache_storage/cross_sequence/cross_sequence_cache_storage_cache.cc
index 75d3e9a..84ffbe5 100644
--- a/content/browser/cache_storage/cross_sequence/cross_sequence_cache_storage_cache.cc
+++ b/content/browser/cache_storage/cross_sequence/cross_sequence_cache_storage_cache.cc
@@ -129,7 +129,7 @@
 
 CrossSequenceCacheStorageCache::CrossSequenceCacheStorageCache(
     scoped_refptr<base::SequencedTaskRunner> target_task_runner)
-    : inner_(std::move(target_task_runner)), weak_factory_(this) {}
+    : inner_(std::move(target_task_runner)) {}
 
 void CrossSequenceCacheStorageCache::SetHandleOnTaskRunner(
     CacheStorageCacheHandle handle) {
diff --git a/content/browser/cache_storage/cross_sequence/cross_sequence_cache_storage_cache.h b/content/browser/cache_storage/cross_sequence/cross_sequence_cache_storage_cache.h
index e7817cf..1b0c7a83 100644
--- a/content/browser/cache_storage/cross_sequence/cross_sequence_cache_storage_cache.h
+++ b/content/browser/cache_storage/cross_sequence/cross_sequence_cache_storage_cache.h
@@ -92,7 +92,7 @@
   int handle_ref_count_ = 0;
 
   SEQUENCE_CHECKER(sequence_checker_);
-  base::WeakPtrFactory<CrossSequenceCacheStorageCache> weak_factory_;
+  base::WeakPtrFactory<CrossSequenceCacheStorageCache> weak_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(CrossSequenceCacheStorageCache);
 };
 
diff --git a/content/browser/cache_storage/legacy/legacy_cache_storage.cc b/content/browser/cache_storage/legacy/legacy_cache_storage.cc
index b085b463..b30684d 100644
--- a/content/browser/cache_storage/legacy/legacy_cache_storage.cc
+++ b/content/browser/cache_storage/legacy/legacy_cache_storage.cc
@@ -249,8 +249,7 @@
                     cache_storage,
                     origin,
                     owner),
-        origin_path_(origin_path),
-        weak_ptr_factory_(this) {}
+        origin_path_(origin_path) {}
 
   std::unique_ptr<LegacyCacheStorageCache> CreateCache(
       const std::string& cache_name,
@@ -547,7 +546,7 @@
   std::map<CacheStorageCache*, std::string> doomed_cache_to_path_;
 
   SEQUENCE_CHECKER(sequence_checker_);
-  base::WeakPtrFactory<SimpleCacheLoader> weak_ptr_factory_;
+  base::WeakPtrFactory<SimpleCacheLoader> weak_ptr_factory_{this};
 };
 
 LegacyCacheStorage::LegacyCacheStorage(
@@ -571,8 +570,7 @@
       cache_task_runner_(cache_task_runner),
       quota_manager_proxy_(quota_manager_proxy),
       owner_(owner),
-      cache_storage_manager_(cache_storage_manager),
-      weak_factory_(this) {
+      cache_storage_manager_(cache_storage_manager) {
   if (memory_only)
     cache_loader_.reset(new MemoryLoader(
         cache_task_runner_.get(), std::move(scheduler_task_runner),
diff --git a/content/browser/cache_storage/legacy/legacy_cache_storage.h b/content/browser/cache_storage/legacy/legacy_cache_storage.h
index 09f3fa68..f0985a7 100644
--- a/content/browser/cache_storage/legacy/legacy_cache_storage.h
+++ b/content/browser/cache_storage/legacy/legacy_cache_storage.h
@@ -303,7 +303,7 @@
   size_t handle_ref_count_ = 0;
 
   SEQUENCE_CHECKER(sequence_checker_);
-  base::WeakPtrFactory<LegacyCacheStorage> weak_factory_;
+  base::WeakPtrFactory<LegacyCacheStorage> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(LegacyCacheStorage);
 };
diff --git a/content/browser/cache_storage/legacy/legacy_cache_storage_cache.cc b/content/browser/cache_storage/legacy/legacy_cache_storage_cache.cc
index 28ed4f3..03d198c0 100644
--- a/content/browser/cache_storage/legacy/legacy_cache_storage_cache.cc
+++ b/content/browser/cache_storage/legacy/legacy_cache_storage_cache.cc
@@ -937,8 +937,7 @@
           CacheStorageCacheEntryHandler::CreateCacheEntryHandler(
               owner,
               std::move(blob_context))),
-      memory_only_(path.empty()),
-      weak_ptr_factory_(this) {
+      memory_only_(path.empty()) {
   DCHECK(!origin_.opaque());
   DCHECK(quota_manager_proxy_.get());
   DCHECK(cache_padding_key_.get());
diff --git a/content/browser/cache_storage/legacy/legacy_cache_storage_cache.h b/content/browser/cache_storage/legacy/legacy_cache_storage_cache.h
index d4175914..5d9ab7d 100644
--- a/content/browser/cache_storage/legacy/legacy_cache_storage_cache.h
+++ b/content/browser/cache_storage/legacy/legacy_cache_storage_cache.h
@@ -540,7 +540,7 @@
   base::OnceClosure post_backend_closed_callback_;
 
   SEQUENCE_CHECKER(sequence_checker_);
-  base::WeakPtrFactory<LegacyCacheStorageCache> weak_ptr_factory_;
+  base::WeakPtrFactory<LegacyCacheStorageCache> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(LegacyCacheStorageCache);
 };
diff --git a/content/browser/child_process_launcher.cc b/content/browser/child_process_launcher.cc
index 84da2e4..98ef88a 100644
--- a/content/browser/child_process_launcher.cc
+++ b/content/browser/child_process_launcher.cc
@@ -43,11 +43,11 @@
 #if defined(ADDRESS_SANITIZER) || defined(LEAK_SANITIZER) ||  \
     defined(MEMORY_SANITIZER) || defined(THREAD_SANITIZER) || \
     defined(UNDEFINED_SANITIZER) || BUILDFLAG(CLANG_COVERAGE)
-      terminate_child_on_shutdown_(false),
+      terminate_child_on_shutdown_(false)
 #else
-      terminate_child_on_shutdown_(terminate_on_shutdown),
+      terminate_child_on_shutdown_(terminate_on_shutdown)
 #endif
-      weak_factory_(this) {
+{
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   CHECK(BrowserThread::GetCurrentThreadIdentifier(&client_thread_id_));
 
diff --git a/content/browser/child_process_launcher.h b/content/browser/child_process_launcher.h
index d90446a..79daec1 100644
--- a/content/browser/child_process_launcher.h
+++ b/content/browser/child_process_launcher.h
@@ -244,7 +244,7 @@
 
   SEQUENCE_CHECKER(sequence_checker_);
 
-  base::WeakPtrFactory<ChildProcessLauncher> weak_factory_;
+  base::WeakPtrFactory<ChildProcessLauncher> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ChildProcessLauncher);
 };
diff --git a/content/browser/code_cache/generated_code_cache.cc b/content/browser/code_cache/generated_code_cache.cc
index f22bea51..082fd7be 100644
--- a/content/browser/code_cache/generated_code_cache.cc
+++ b/content/browser/code_cache/generated_code_cache.cc
@@ -183,8 +183,7 @@
     : backend_state_(kInitializing),
       path_(path),
       max_size_bytes_(max_size_bytes),
-      cache_type_(cache_type),
-      weak_ptr_factory_(this) {
+      cache_type_(cache_type) {
   CreateBackend();
 }
 
diff --git a/content/browser/code_cache/generated_code_cache.h b/content/browser/code_cache/generated_code_cache.h
index c9f4813..d87b9b6 100644
--- a/content/browser/code_cache/generated_code_cache.h
+++ b/content/browser/code_cache/generated_code_cache.h
@@ -192,7 +192,7 @@
   int max_size_bytes_;
   CodeCacheType cache_type_;
 
-  base::WeakPtrFactory<GeneratedCodeCache> weak_ptr_factory_;
+  base::WeakPtrFactory<GeneratedCodeCache> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(GeneratedCodeCache);
 };
diff --git a/content/browser/compositor/gpu_browser_compositor_output_surface.cc b/content/browser/compositor/gpu_browser_compositor_output_surface.cc
index a25b060..a22be20 100644
--- a/content/browser/compositor/gpu_browser_compositor_output_surface.cc
+++ b/content/browser/compositor/gpu_browser_compositor_output_surface.cc
@@ -25,8 +25,7 @@
 
 GpuBrowserCompositorOutputSurface::GpuBrowserCompositorOutputSurface(
     scoped_refptr<viz::ContextProviderCommandBuffer> context)
-    : BrowserCompositorOutputSurface(std::move(context)),
-      weak_ptr_factory_(this) {
+    : BrowserCompositorOutputSurface(std::move(context)) {
   if (capabilities_.uses_default_gl_framebuffer) {
     capabilities_.flipped_output_surface =
         context_provider()->ContextCapabilities().flips_vertically;
diff --git a/content/browser/compositor/gpu_browser_compositor_output_surface.h b/content/browser/compositor/gpu_browser_compositor_output_surface.h
index ab5ffc7..f9511d1 100644
--- a/content/browser/compositor/gpu_browser_compositor_output_surface.h
+++ b/content/browser/compositor/gpu_browser_compositor_output_surface.h
@@ -83,7 +83,8 @@
   ui::LatencyTracker latency_tracker_;
 
  private:
-  base::WeakPtrFactory<GpuBrowserCompositorOutputSurface> weak_ptr_factory_;
+  base::WeakPtrFactory<GpuBrowserCompositorOutputSurface> weak_ptr_factory_{
+      this};
 
   DISALLOW_COPY_AND_ASSIGN(GpuBrowserCompositorOutputSurface);
 };
diff --git a/content/browser/compositor/gpu_process_transport_factory.cc b/content/browser/compositor/gpu_process_transport_factory.cc
index 51499807..c9ec907 100644
--- a/content/browser/compositor/gpu_process_transport_factory.cc
+++ b/content/browser/compositor/gpu_process_transport_factory.cc
@@ -180,8 +180,7 @@
           viz::command_buffer_metrics::ContextType::BROWSER_WORKER),
       gpu_channel_factory_(gpu_channel_factory),
       compositing_mode_reporter_(compositing_mode_reporter),
-      server_shared_bitmap_manager_(server_shared_bitmap_manager),
-      callback_factory_(this) {
+      server_shared_bitmap_manager_(server_shared_bitmap_manager) {
   DCHECK(gpu_channel_factory_);
 
   base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
diff --git a/content/browser/compositor/gpu_process_transport_factory.h b/content/browser/compositor/gpu_process_transport_factory.h
index f0322048..6937448 100644
--- a/content/browser/compositor/gpu_process_transport_factory.h
+++ b/content/browser/compositor/gpu_process_transport_factory.h
@@ -167,7 +167,7 @@
   // Manages a mapping of SharedBitmapId to shared memory objects.
   viz::ServerSharedBitmapManager* const server_shared_bitmap_manager_;
 
-  base::WeakPtrFactory<GpuProcessTransportFactory> callback_factory_;
+  base::WeakPtrFactory<GpuProcessTransportFactory> callback_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(GpuProcessTransportFactory);
 };
diff --git a/content/browser/compositor/offscreen_browser_compositor_output_surface.cc b/content/browser/compositor/offscreen_browser_compositor_output_surface.cc
index 0eae968..000056d2 100644
--- a/content/browser/compositor/offscreen_browser_compositor_output_surface.cc
+++ b/content/browser/compositor/offscreen_browser_compositor_output_surface.cc
@@ -32,8 +32,7 @@
 OffscreenBrowserCompositorOutputSurface::
     OffscreenBrowserCompositorOutputSurface(
         scoped_refptr<viz::ContextProviderCommandBuffer> context)
-    : BrowserCompositorOutputSurface(std::move(context)),
-      weak_ptr_factory_(this) {
+    : BrowserCompositorOutputSurface(std::move(context)) {
   capabilities_.uses_default_gl_framebuffer = false;
 }
 
diff --git a/content/browser/compositor/offscreen_browser_compositor_output_surface.h b/content/browser/compositor/offscreen_browser_compositor_output_surface.h
index 4a96855d..c20f09b 100644
--- a/content/browser/compositor/offscreen_browser_compositor_output_surface.h
+++ b/content/browser/compositor/offscreen_browser_compositor_output_surface.h
@@ -64,7 +64,7 @@
   std::unique_ptr<ReflectorTexture> reflector_texture_;
   ui::LatencyTracker latency_tracker_;
   base::WeakPtrFactory<OffscreenBrowserCompositorOutputSurface>
-      weak_ptr_factory_;
+      weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(OffscreenBrowserCompositorOutputSurface);
 };
diff --git a/content/browser/compositor/owned_mailbox.cc b/content/browser/compositor/owned_mailbox.cc
index 0969eca..b7cb536 100644
--- a/content/browser/compositor/owned_mailbox.cc
+++ b/content/browser/compositor/owned_mailbox.cc
@@ -10,7 +10,7 @@
 namespace content {
 
 OwnedMailbox::OwnedMailbox(gpu::gles2::GLES2Interface* gl)
-    : gl_(gl), texture_id_(0), weak_ptr_factory_(this) {
+    : gl_(gl), texture_id_(0) {
   DCHECK(gl_);
 
   // Create the texture.
diff --git a/content/browser/compositor/owned_mailbox.h b/content/browser/compositor/owned_mailbox.h
index 084e28f..f73f258 100644
--- a/content/browser/compositor/owned_mailbox.h
+++ b/content/browser/compositor/owned_mailbox.h
@@ -50,7 +50,7 @@
   gpu::gles2::GLES2Interface* const gl_;
   uint32_t texture_id_;
   gpu::MailboxHolder mailbox_holder_;
-  base::WeakPtrFactory<OwnedMailbox> weak_ptr_factory_;
+  base::WeakPtrFactory<OwnedMailbox> weak_ptr_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/compositor/software_browser_compositor_output_surface.cc b/content/browser/compositor/software_browser_compositor_output_surface.cc
index 415d703..31b6c038 100644
--- a/content/browser/compositor/software_browser_compositor_output_surface.cc
+++ b/content/browser/compositor/software_browser_compositor_output_surface.cc
@@ -22,8 +22,7 @@
 
 SoftwareBrowserCompositorOutputSurface::SoftwareBrowserCompositorOutputSurface(
     std::unique_ptr<viz::SoftwareOutputDevice> software_device)
-    : BrowserCompositorOutputSurface(std::move(software_device)),
-      weak_factory_(this) {}
+    : BrowserCompositorOutputSurface(std::move(software_device)) {}
 
 SoftwareBrowserCompositorOutputSurface::
     ~SoftwareBrowserCompositorOutputSurface() {
diff --git a/content/browser/compositor/software_browser_compositor_output_surface.h b/content/browser/compositor/software_browser_compositor_output_surface.h
index d4550f6..45fed95 100644
--- a/content/browser/compositor/software_browser_compositor_output_surface.h
+++ b/content/browser/compositor/software_browser_compositor_output_surface.h
@@ -59,7 +59,8 @@
   bool needs_swap_size_notifications_ = false;
 #endif
 
-  base::WeakPtrFactory<SoftwareBrowserCompositorOutputSurface> weak_factory_;
+  base::WeakPtrFactory<SoftwareBrowserCompositorOutputSurface> weak_factory_{
+      this};
 
   DISALLOW_COPY_AND_ASSIGN(SoftwareBrowserCompositorOutputSurface);
 };
diff --git a/content/browser/compositor/viz_process_transport_factory.cc b/content/browser/compositor/viz_process_transport_factory.cc
index ddccbc3d..803d06c 100644
--- a/content/browser/compositor/viz_process_transport_factory.cc
+++ b/content/browser/compositor/viz_process_transport_factory.cc
@@ -124,8 +124,7 @@
       context_factory_private_(
           kBrowserClientId,
           BrowserMainLoop::GetInstance()->host_frame_sink_manager(),
-          resize_task_runner),
-      weak_ptr_factory_(this) {
+          resize_task_runner) {
   DCHECK(gpu_channel_establish_factory_);
   task_graph_runner_->Start("CompositorTileWorker1",
                             base::SimpleThread::Options());
diff --git a/content/browser/compositor/viz_process_transport_factory.h b/content/browser/compositor/viz_process_transport_factory.h
index 1b96114..28770e8 100644
--- a/content/browser/compositor/viz_process_transport_factory.h
+++ b/content/browser/compositor/viz_process_transport_factory.h
@@ -134,7 +134,7 @@
   std::unique_ptr<viz::VizCompositorThreadRunner> viz_compositor_thread_;
   ui::HostContextFactoryPrivate context_factory_private_;
 
-  base::WeakPtrFactory<VizProcessTransportFactory> weak_ptr_factory_;
+  base::WeakPtrFactory<VizProcessTransportFactory> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(VizProcessTransportFactory);
 };
diff --git a/content/browser/content_index/content_index_database.cc b/content/browser/content_index/content_index_database.cc
index 3f73bbde..38f9b3b 100644
--- a/content/browser/content_index/content_index_database.cc
+++ b/content/browser/content_index/content_index_database.cc
@@ -80,8 +80,7 @@
     BrowserContext* browser_context,
     scoped_refptr<ServiceWorkerContextWrapper> service_worker_context)
     : provider_(browser_context->GetContentIndexProvider()),
-      service_worker_context_(std::move(service_worker_context)),
-      weak_ptr_factory_(this) {}
+      service_worker_context_(std::move(service_worker_context)) {}
 
 ContentIndexDatabase::~ContentIndexDatabase() = default;
 
diff --git a/content/browser/content_index/content_index_database.h b/content/browser/content_index/content_index_database.h
index debb8fa..5539c83b 100644
--- a/content/browser/content_index/content_index_database.h
+++ b/content/browser/content_index/content_index_database.h
@@ -81,7 +81,7 @@
 
   ContentIndexProvider* provider_;
   scoped_refptr<ServiceWorkerContextWrapper> service_worker_context_;
-  base::WeakPtrFactory<ContentIndexDatabase> weak_ptr_factory_;
+  base::WeakPtrFactory<ContentIndexDatabase> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ContentIndexDatabase);
 };
diff --git a/content/browser/cookie_store/cookie_store_manager.cc b/content/browser/cookie_store/cookie_store_manager.cc
index 9dc3ac79..1533891 100644
--- a/content/browser/cookie_store/cookie_store_manager.cc
+++ b/content/browser/cookie_store/cookie_store_manager.cc
@@ -46,8 +46,7 @@
     scoped_refptr<ServiceWorkerContextWrapper> service_worker_context)
     : service_worker_context_(std::move(service_worker_context)),
       cookie_change_listener_binding_(this),
-      registration_user_data_key_(kSubscriptionsUserKey),
-      weak_factory_(this) {
+      registration_user_data_key_(kSubscriptionsUserKey) {
   service_worker_context_->AddObserver(this);
 }
 
diff --git a/content/browser/cookie_store/cookie_store_manager.h b/content/browser/cookie_store/cookie_store_manager.h
index ce506e74..36cf78f 100644
--- a/content/browser/cookie_store/cookie_store_manager.h
+++ b/content/browser/cookie_store/cookie_store_manager.h
@@ -218,7 +218,7 @@
   SEQUENCE_CHECKER(sequence_checker_);
 
   // Supports having the manager destroyed while waiting for disk I/O.
-  base::WeakPtrFactory<CookieStoreManager> weak_factory_;
+  base::WeakPtrFactory<CookieStoreManager> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(CookieStoreManager);
 };
diff --git a/content/browser/devtools/devtools_http_handler.cc b/content/browser/devtools/devtools_http_handler.cc
index 30b2a43..83772ae8 100644
--- a/content/browser/devtools/devtools_http_handler.cc
+++ b/content/browser/devtools/devtools_http_handler.cc
@@ -784,7 +784,7 @@
     std::unique_ptr<DevToolsSocketFactory> socket_factory,
     const base::FilePath& output_directory,
     const base::FilePath& debug_frontend_dir)
-    : delegate_(delegate), weak_factory_(this) {
+    : delegate_(delegate) {
   browser_guid_ = delegate_->IsBrowserTargetDiscoverable()
                       ? kBrowserUrlPrefix
                       : base::StringPrintf("%s/%s", kBrowserUrlPrefix,
diff --git a/content/browser/devtools/devtools_http_handler.h b/content/browser/devtools/devtools_http_handler.h
index 68260a28..590c226c 100644
--- a/content/browser/devtools/devtools_http_handler.h
+++ b/content/browser/devtools/devtools_http_handler.h
@@ -115,7 +115,7 @@
   ConnectionToClientMap connection_to_client_;
   DevToolsManagerDelegate* delegate_;
   std::unique_ptr<DevToolsSocketFactory> socket_factory_;
-  base::WeakPtrFactory<DevToolsHttpHandler> weak_factory_;
+  base::WeakPtrFactory<DevToolsHttpHandler> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(DevToolsHttpHandler);
 };
diff --git a/content/browser/devtools/devtools_interceptor_controller.cc b/content/browser/devtools/devtools_interceptor_controller.cc
index e23bb9c1..db271624 100644
--- a/content/browser/devtools/devtools_interceptor_controller.cc
+++ b/content/browser/devtools/devtools_interceptor_controller.cc
@@ -100,9 +100,7 @@
     base::WeakPtr<DevToolsNetworkInterceptor> interceptor,
     std::unique_ptr<DevToolsTargetRegistry> target_registry,
     BrowserContext* browser_context)
-    : interceptor_(interceptor),
-      target_registry_(std::move(target_registry)),
-      weak_factory_(this) {
+    : interceptor_(interceptor), target_registry_(std::move(target_registry)) {
   browser_context->SetUserData(
       kDevToolsInterceptorController,
       std::unique_ptr<DevToolsInterceptorController>(this));
diff --git a/content/browser/devtools/devtools_interceptor_controller.h b/content/browser/devtools/devtools_interceptor_controller.h
index eca3620..5911017 100644
--- a/content/browser/devtools/devtools_interceptor_controller.h
+++ b/content/browser/devtools/devtools_interceptor_controller.h
@@ -70,7 +70,7 @@
   std::unique_ptr<DevToolsTargetRegistry> target_registry_;
   base::flat_map<std::string, GlobalRequestID> navigation_requests_;
   base::flat_set<GlobalRequestID> canceled_navigation_requests_;
-  base::WeakPtrFactory<DevToolsInterceptorController> weak_factory_;
+  base::WeakPtrFactory<DevToolsInterceptorController> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(DevToolsInterceptorController);
 };
diff --git a/content/browser/devtools/devtools_pipe_handler.cc b/content/browser/devtools/devtools_pipe_handler.cc
index c03af15..d03bacc 100644
--- a/content/browser/devtools/devtools_pipe_handler.cc
+++ b/content/browser/devtools/devtools_pipe_handler.cc
@@ -245,7 +245,7 @@
 // DevToolsPipeHandler ---------------------------------------------------
 
 DevToolsPipeHandler::DevToolsPipeHandler()
-    : read_fd_(kReadFD), write_fd_(kWriteFD), weak_factory_(this) {
+    : read_fd_(kReadFD), write_fd_(kWriteFD) {
   read_thread_.reset(new base::Thread(kDevToolsPipeHandlerReadThreadName));
   base::Thread::Options options;
   options.message_loop_type = base::MessageLoop::TYPE_IO;
diff --git a/content/browser/devtools/devtools_pipe_handler.h b/content/browser/devtools/devtools_pipe_handler.h
index 61738bc..8c9c0c08 100644
--- a/content/browser/devtools/devtools_pipe_handler.h
+++ b/content/browser/devtools/devtools_pipe_handler.h
@@ -50,7 +50,7 @@
   int read_fd_;
   int write_fd_;
   bool shutting_down_ = false;
-  base::WeakPtrFactory<DevToolsPipeHandler> weak_factory_;
+  base::WeakPtrFactory<DevToolsPipeHandler> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(DevToolsPipeHandler);
 };
diff --git a/content/browser/devtools/devtools_renderer_channel.cc b/content/browser/devtools/devtools_renderer_channel.cc
index 97951ee..1f00194 100644
--- a/content/browser/devtools/devtools_renderer_channel.cc
+++ b/content/browser/devtools/devtools_renderer_channel.cc
@@ -21,8 +21,7 @@
     : owner_(owner),
       binding_(this),
       associated_binding_(this),
-      process_id_(ChildProcessHost::kInvalidUniqueID),
-      weak_factory_(this) {}
+      process_id_(ChildProcessHost::kInvalidUniqueID) {}
 
 DevToolsRendererChannel::~DevToolsRendererChannel() = default;
 
diff --git a/content/browser/devtools/devtools_renderer_channel.h b/content/browser/devtools/devtools_renderer_channel.h
index 1818a06..a27e63e 100644
--- a/content/browser/devtools/devtools_renderer_channel.h
+++ b/content/browser/devtools/devtools_renderer_channel.h
@@ -89,7 +89,7 @@
   base::flat_set<protocol::TargetAutoAttacher*> wait_for_debugger_attachers_;
   base::flat_set<WorkerDevToolsAgentHost*> child_workers_;
   base::OnceClosure set_report_callback_;
-  base::WeakPtrFactory<DevToolsRendererChannel> weak_factory_;
+  base::WeakPtrFactory<DevToolsRendererChannel> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(DevToolsRendererChannel);
 };
diff --git a/content/browser/devtools/devtools_session.cc b/content/browser/devtools/devtools_session.cc
index 1c47409..65c5b1e 100644
--- a/content/browser/devtools/devtools_session.cc
+++ b/content/browser/devtools/devtools_session.cc
@@ -46,8 +46,7 @@
 DevToolsSession::DevToolsSession(DevToolsAgentHostClient* client)
     : binding_(this),
       client_(client),
-      dispatcher_(new protocol::UberDispatcher(this)),
-      weak_factory_(this) {}
+      dispatcher_(new protocol::UberDispatcher(this)) {}
 
 DevToolsSession::~DevToolsSession() {
   if (proxy_delegate_)
diff --git a/content/browser/devtools/devtools_session.h b/content/browser/devtools/devtools_session.h
index 413d757..1a90add0 100644
--- a/content/browser/devtools/devtools_session.h
+++ b/content/browser/devtools/devtools_session.h
@@ -139,7 +139,7 @@
   base::OnceClosure runtime_resume_;
   DevToolsExternalAgentProxyDelegate* proxy_delegate_ = nullptr;
 
-  base::WeakPtrFactory<DevToolsSession> weak_factory_;
+  base::WeakPtrFactory<DevToolsSession> weak_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/devtools/devtools_target_registry.cc b/content/browser/devtools/devtools_target_registry.cc
index f9fea65..01032ddf 100644
--- a/content/browser/devtools/devtools_target_registry.cc
+++ b/content/browser/devtools/devtools_target_registry.cc
@@ -107,7 +107,7 @@
       Add(std::move(new_info));
   }
 
-  Impl() : weak_factory_(this) { DETACH_FROM_THREAD(thread_checker_); }
+  Impl() { DETACH_FROM_THREAD(thread_checker_); }
   ~Impl() override = default;
 
  private:
@@ -118,7 +118,7 @@
   base::flat_map<int, const TargetInfo*> target_info_by_ftn_id_;
   THREAD_CHECKER(thread_checker_);
 
-  base::WeakPtrFactory<DevToolsTargetRegistry::Impl> weak_factory_;
+  base::WeakPtrFactory<DevToolsTargetRegistry::Impl> weak_factory_{this};
 };
 
 class DevToolsTargetRegistry::ContentsObserver : public ObserverBase,
diff --git a/content/browser/devtools/devtools_url_interceptor_request_job.cc b/content/browser/devtools/devtools_url_interceptor_request_job.cc
index 59c1e5c1..1c0e734 100644
--- a/content/browser/devtools/devtools_url_interceptor_request_job.cc
+++ b/content/browser/devtools/devtools_url_interceptor_request_job.cc
@@ -565,8 +565,7 @@
       devtools_token_(devtools_token),
       callback_(callback),
       resource_type_(resource_type),
-      stage_to_intercept_(stage_to_intercept),
-      weak_ptr_factory_(this) {
+      stage_to_intercept_(stage_to_intercept) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 }
 
diff --git a/content/browser/devtools/devtools_url_interceptor_request_job.h b/content/browser/devtools/devtools_url_interceptor_request_job.h
index 08d163f..af6135c 100644
--- a/content/browser/devtools/devtools_url_interceptor_request_job.h
+++ b/content/browser/devtools/devtools_url_interceptor_request_job.h
@@ -168,7 +168,8 @@
 
   net::RequestHeadersCallback request_headers_callback_;
   net::ResponseHeadersCallback response_headers_callback_;
-  base::WeakPtrFactory<DevToolsURLInterceptorRequestJob> weak_ptr_factory_;
+  base::WeakPtrFactory<DevToolsURLInterceptorRequestJob> weak_ptr_factory_{
+      this};
 
   DISALLOW_COPY_AND_ASSIGN(DevToolsURLInterceptorRequestJob);
 };
diff --git a/content/browser/devtools/devtools_url_request_interceptor.cc b/content/browser/devtools/devtools_url_request_interceptor.cc
index 2118d74a..f5531d495 100644
--- a/content/browser/devtools/devtools_url_request_interceptor.cc
+++ b/content/browser/devtools/devtools_url_request_interceptor.cc
@@ -45,7 +45,7 @@
 
 DevToolsURLRequestInterceptor::DevToolsURLRequestInterceptor(
     BrowserContext* browser_context)
-    : next_id_(0), weak_factory_(this) {
+    : next_id_(0) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   auto target_registry = std::make_unique<DevToolsTargetRegistry>(
       base::CreateSingleThreadTaskRunnerWithTraits(
diff --git a/content/browser/devtools/devtools_url_request_interceptor.h b/content/browser/devtools/devtools_url_request_interceptor.h
index e40d6d14..f855d85 100644
--- a/content/browser/devtools/devtools_url_request_interceptor.h
+++ b/content/browser/devtools/devtools_url_request_interceptor.h
@@ -106,7 +106,7 @@
 
   size_t next_id_;
 
-  base::WeakPtrFactory<DevToolsURLRequestInterceptor> weak_factory_;
+  base::WeakPtrFactory<DevToolsURLRequestInterceptor> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(DevToolsURLRequestInterceptor);
 };
diff --git a/content/browser/devtools/devtools_video_consumer_unittest.cc b/content/browser/devtools/devtools_video_consumer_unittest.cc
index 91403b1..801eea2 100644
--- a/content/browser/devtools/devtools_video_consumer_unittest.cc
+++ b/content/browser/devtools/devtools_video_consumer_unittest.cc
@@ -145,7 +145,7 @@
   MOCK_METHOD1(OnFrameFromVideoConsumerMock,
                void(scoped_refptr<media::VideoFrame> frame));
 
-  MockDevToolsVideoFrameReceiver() : weak_factory_(this) {}
+  MockDevToolsVideoFrameReceiver() {}
 
   scoped_refptr<media::VideoFrame> TakeFrameAt(int i) {
     return std::move(frames_[i]);
@@ -164,12 +164,12 @@
 
  private:
   std::vector<scoped_refptr<media::VideoFrame>> frames_;
-  base::WeakPtrFactory<MockDevToolsVideoFrameReceiver> weak_factory_;
+  base::WeakPtrFactory<MockDevToolsVideoFrameReceiver> weak_factory_{this};
 };
 
 class DevToolsVideoConsumerTest : public testing::Test {
  public:
-  DevToolsVideoConsumerTest() : weak_factory_(this) {}
+  DevToolsVideoConsumerTest() {}
 
   void SetUp() override {
     consumer_ = receiver_.CreateDevToolsVideoConsumer();
@@ -234,7 +234,7 @@
   }
 
   base::test::ScopedTaskEnvironment task_environment_;
-  base::WeakPtrFactory<DevToolsVideoConsumerTest> weak_factory_;
+  base::WeakPtrFactory<DevToolsVideoConsumerTest> weak_factory_{this};
 };
 
 // Tests that the OnFrameFromVideoConsumer callbacks is called when
diff --git a/content/browser/devtools/protocol/background_service_handler.cc b/content/browser/devtools/protocol/background_service_handler.cc
index ae1bd79a..eca7132 100644
--- a/content/browser/devtools/protocol/background_service_handler.cc
+++ b/content/browser/devtools/protocol/background_service_handler.cc
@@ -91,8 +91,7 @@
 
 BackgroundServiceHandler::BackgroundServiceHandler()
     : DevToolsDomainHandler(BackgroundService::Metainfo::domainName),
-      devtools_context_(nullptr),
-      weak_ptr_factory_(this) {}
+      devtools_context_(nullptr) {}
 
 BackgroundServiceHandler::~BackgroundServiceHandler() {
   DCHECK(enabled_services_.empty());
diff --git a/content/browser/devtools/protocol/background_service_handler.h b/content/browser/devtools/protocol/background_service_handler.h
index 5bd4a70..1c5d1df7 100644
--- a/content/browser/devtools/protocol/background_service_handler.h
+++ b/content/browser/devtools/protocol/background_service_handler.h
@@ -63,7 +63,7 @@
 
   base::flat_set<devtools::proto::BackgroundService> enabled_services_;
 
-  base::WeakPtrFactory<BackgroundServiceHandler> weak_ptr_factory_;
+  base::WeakPtrFactory<BackgroundServiceHandler> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(BackgroundServiceHandler);
 };
diff --git a/content/browser/devtools/protocol/fetch_handler.cc b/content/browser/devtools/protocol/fetch_handler.cc
index 0f69893..806e0f89 100644
--- a/content/browser/devtools/protocol/fetch_handler.cc
+++ b/content/browser/devtools/protocol/fetch_handler.cc
@@ -35,8 +35,7 @@
     : DevToolsDomainHandler(Fetch::Metainfo::domainName),
       io_context_(io_context),
       update_loader_factories_callback_(
-          std::move(update_loader_factories_callback)),
-      weak_factory_(this) {}
+          std::move(update_loader_factories_callback)) {}
 
 FetchHandler::~FetchHandler() = default;
 
diff --git a/content/browser/devtools/protocol/fetch_handler.h b/content/browser/devtools/protocol/fetch_handler.h
index fc8d0433..2126503 100644
--- a/content/browser/devtools/protocol/fetch_handler.h
+++ b/content/browser/devtools/protocol/fetch_handler.h
@@ -91,7 +91,7 @@
   std::unique_ptr<Fetch::Frontend> frontend_;
   std::unique_ptr<DevToolsURLLoaderInterceptor> interceptor_;
   UpdateLoaderFactoriesCallback update_loader_factories_callback_;
-  base::WeakPtrFactory<FetchHandler> weak_factory_;
+  base::WeakPtrFactory<FetchHandler> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(FetchHandler);
 };
diff --git a/content/browser/devtools/protocol/input_handler.cc b/content/browser/devtools/protocol/input_handler.cc
index 5f1e02d8..34c79c8 100644
--- a/content/browser/devtools/protocol/input_handler.cc
+++ b/content/browser/devtools/protocol/input_handler.cc
@@ -477,8 +477,7 @@
     : DevToolsDomainHandler(Input::Metainfo::domainName),
       host_(nullptr),
       page_scale_factor_(1.0),
-      last_id_(0),
-      weak_factory_(this) {}
+      last_id_(0) {}
 
 InputHandler::~InputHandler() {
 }
diff --git a/content/browser/devtools/protocol/input_handler.h b/content/browser/devtools/protocol/input_handler.h
index daac09a..bf1d117 100644
--- a/content/browser/devtools/protocol/input_handler.h
+++ b/content/browser/devtools/protocol/input_handler.h
@@ -192,7 +192,7 @@
   std::set<int> pointer_ids_;
   std::unique_ptr<SyntheticPointerDriver> synthetic_pointer_driver_;
   base::flat_map<int, blink::WebTouchPoint> touch_points_;
-  base::WeakPtrFactory<InputHandler> weak_factory_;
+  base::WeakPtrFactory<InputHandler> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(InputHandler);
 };
diff --git a/content/browser/devtools/protocol/io_handler.cc b/content/browser/devtools/protocol/io_handler.cc
index 57c61cd0..88be9a29 100644
--- a/content/browser/devtools/protocol/io_handler.cc
+++ b/content/browser/devtools/protocol/io_handler.cc
@@ -27,8 +27,7 @@
     : DevToolsDomainHandler(IO::Metainfo::domainName),
       io_context_(io_context),
       browser_context_(nullptr),
-      storage_partition_(nullptr),
-      weak_factory_(this) {}
+      storage_partition_(nullptr) {}
 
 IOHandler::~IOHandler() {}
 
diff --git a/content/browser/devtools/protocol/io_handler.h b/content/browser/devtools/protocol/io_handler.h
index 7a25cae..e47c4f1 100644
--- a/content/browser/devtools/protocol/io_handler.h
+++ b/content/browser/devtools/protocol/io_handler.h
@@ -45,7 +45,7 @@
   DevToolsIOContext* io_context_;
   BrowserContext* browser_context_;
   StoragePartition* storage_partition_;
-  base::WeakPtrFactory<IOHandler> weak_factory_;
+  base::WeakPtrFactory<IOHandler> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(IOHandler);
 };
diff --git a/content/browser/devtools/protocol/memory_handler.cc b/content/browser/devtools/protocol/memory_handler.cc
index e54548c3..6fb7a8c7 100644
--- a/content/browser/devtools/protocol/memory_handler.cc
+++ b/content/browser/devtools/protocol/memory_handler.cc
@@ -20,8 +20,7 @@
 
 MemoryHandler::MemoryHandler()
     : DevToolsDomainHandler(Memory::Metainfo::domainName),
-      process_host_id_(ChildProcessHost::kInvalidUniqueID),
-      weak_factory_(this) {}
+      process_host_id_(ChildProcessHost::kInvalidUniqueID) {}
 
 MemoryHandler::~MemoryHandler() {}
 
diff --git a/content/browser/devtools/protocol/memory_handler.h b/content/browser/devtools/protocol/memory_handler.h
index 21fa2b9..0c933e5b 100644
--- a/content/browser/devtools/protocol/memory_handler.h
+++ b/content/browser/devtools/protocol/memory_handler.h
@@ -38,7 +38,7 @@
   int process_host_id_;
   blink::mojom::LeakDetectorPtr leak_detector_;
   std::unique_ptr<PrepareForLeakDetectionCallback> leak_detection_callback_;
-  base::WeakPtrFactory<MemoryHandler> weak_factory_;
+  base::WeakPtrFactory<MemoryHandler> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(MemoryHandler);
 };
diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc
index 9a5a0ea..3e5e145 100644
--- a/content/browser/devtools/protocol/network_handler.cc
+++ b/content/browser/devtools/protocol/network_handler.cc
@@ -917,8 +917,7 @@
       bypass_service_worker_(false),
       cache_disabled_(false),
       update_loader_factories_callback_(
-          std::move(update_loader_factories_callback)),
-      weak_factory_(this) {
+          std::move(update_loader_factories_callback)) {
   DCHECK(io_context_);
   static bool have_configured_service_worker_context = false;
   if (have_configured_service_worker_context)
diff --git a/content/browser/devtools/protocol/network_handler.h b/content/browser/devtools/protocol/network_handler.h
index 4f9e936..b7c1f8f 100644
--- a/content/browser/devtools/protocol/network_handler.h
+++ b/content/browser/devtools/protocol/network_handler.h
@@ -234,7 +234,7 @@
   bool cache_disabled_;
   std::unique_ptr<BackgroundSyncRestorer> background_sync_restorer_;
   base::RepeatingClosure update_loader_factories_callback_;
-  base::WeakPtrFactory<NetworkHandler> weak_factory_;
+  base::WeakPtrFactory<NetworkHandler> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(NetworkHandler);
 };
diff --git a/content/browser/devtools/protocol/page_handler.cc b/content/browser/devtools/protocol/page_handler.cc
index f000418..c5705ca 100644
--- a/content/browser/devtools/protocol/page_handler.cc
+++ b/content/browser/devtools/protocol/page_handler.cc
@@ -206,8 +206,7 @@
       active_file_chooser_interceptor_(active_file_chooser_interceptor),
       allow_set_download_behavior_(allow_set_download_behavior),
       allow_file_access_(allow_file_access),
-      observer_(this),
-      weak_factory_(this) {
+      observer_(this) {
   bool create_video_consumer = true;
 #ifdef OS_ANDROID
   // Video capture doesn't work on Android WebView. Use CopyFromSurface instead.
diff --git a/content/browser/devtools/protocol/page_handler.h b/content/browser/devtools/protocol/page_handler.h
index e86d824..ebfa0c391 100644
--- a/content/browser/devtools/protocol/page_handler.h
+++ b/content/browser/devtools/protocol/page_handler.h
@@ -247,7 +247,7 @@
   std::unique_ptr<blink::mojom::FileChooserParams> file_chooser_params_;
   base::Optional<std::pair<int, int>> file_chooser_rfh_id_;
 
-  base::WeakPtrFactory<PageHandler> weak_factory_;
+  base::WeakPtrFactory<PageHandler> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(PageHandler);
 };
diff --git a/content/browser/devtools/protocol/service_worker_handler.cc b/content/browser/devtools/protocol/service_worker_handler.cc
index 593c377..a6a66e5 100644
--- a/content/browser/devtools/protocol/service_worker_handler.cc
+++ b/content/browser/devtools/protocol/service_worker_handler.cc
@@ -153,8 +153,7 @@
     : DevToolsDomainHandler(ServiceWorker::Metainfo::domainName),
       enabled_(false),
       browser_context_(nullptr),
-      storage_partition_(nullptr),
-      weak_factory_(this) {}
+      storage_partition_(nullptr) {}
 
 ServiceWorkerHandler::~ServiceWorkerHandler() {
 }
diff --git a/content/browser/devtools/protocol/service_worker_handler.h b/content/browser/devtools/protocol/service_worker_handler.h
index 13f2533..ed154407 100644
--- a/content/browser/devtools/protocol/service_worker_handler.h
+++ b/content/browser/devtools/protocol/service_worker_handler.h
@@ -77,7 +77,7 @@
   BrowserContext* browser_context_;
   StoragePartitionImpl* storage_partition_;
 
-  base::WeakPtrFactory<ServiceWorkerHandler> weak_factory_;
+  base::WeakPtrFactory<ServiceWorkerHandler> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ServiceWorkerHandler);
 };
diff --git a/content/browser/devtools/protocol/storage_handler.cc b/content/browser/devtools/protocol/storage_handler.cc
index 03c26a86..40421045 100644
--- a/content/browser/devtools/protocol/storage_handler.cc
+++ b/content/browser/devtools/protocol/storage_handler.cc
@@ -233,8 +233,7 @@
 
 StorageHandler::StorageHandler()
     : DevToolsDomainHandler(Storage::Metainfo::domainName),
-      storage_partition_(nullptr),
-      weak_ptr_factory_(this) {}
+      storage_partition_(nullptr) {}
 
 StorageHandler::~StorageHandler() {
   DCHECK(!cache_storage_observer_);
diff --git a/content/browser/devtools/protocol/storage_handler.h b/content/browser/devtools/protocol/storage_handler.h
index d9df1114..037d4f16 100644
--- a/content/browser/devtools/protocol/storage_handler.h
+++ b/content/browser/devtools/protocol/storage_handler.h
@@ -70,7 +70,7 @@
   std::unique_ptr<CacheStorageObserver> cache_storage_observer_;
   std::unique_ptr<IndexedDBObserver> indexed_db_observer_;
 
-  base::WeakPtrFactory<StorageHandler> weak_ptr_factory_;
+  base::WeakPtrFactory<StorageHandler> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(StorageHandler);
 };
diff --git a/content/browser/devtools/protocol/system_info_handler.cc b/content/browser/devtools/protocol/system_info_handler.cc
index db89e209..11fdeabe 100644
--- a/content/browser/devtools/protocol/system_info_handler.cc
+++ b/content/browser/devtools/protocol/system_info_handler.cc
@@ -258,8 +258,7 @@
  public:
   explicit SystemInfoHandlerGpuObserver(
       std::unique_ptr<GetInfoCallback> callback)
-      : callback_(std::move(callback)),
-        weak_factory_(this) {
+      : callback_(std::move(callback)) {
     base::PostDelayedTaskWithTraits(
         FROM_HERE, {BrowserThread::UI},
         base::BindOnce(&SystemInfoHandlerGpuObserver::ObserverWatchdogCallback,
@@ -301,7 +300,7 @@
 
  private:
   std::unique_ptr<GetInfoCallback> callback_;
-  base::WeakPtrFactory<SystemInfoHandlerGpuObserver> weak_factory_;
+  base::WeakPtrFactory<SystemInfoHandlerGpuObserver> weak_factory_{this};
 };
 
 SystemInfoHandler::SystemInfoHandler()
diff --git a/content/browser/devtools/protocol/target_handler.cc b/content/browser/devtools/protocol/target_handler.cc
index 310015b..693edd13 100644
--- a/content/browser/devtools/protocol/target_handler.cc
+++ b/content/browser/devtools/protocol/target_handler.cc
@@ -450,8 +450,7 @@
       discover_(false),
       access_mode_(access_mode),
       owner_target_id_(owner_target_id),
-      root_session_(root_session),
-      weak_factory_(this) {}
+      root_session_(root_session) {}
 
 TargetHandler::~TargetHandler() {
 }
diff --git a/content/browser/devtools/protocol/target_handler.h b/content/browser/devtools/protocol/target_handler.h
index 3be9739..26361d3 100644
--- a/content/browser/devtools/protocol/target_handler.h
+++ b/content/browser/devtools/protocol/target_handler.h
@@ -137,7 +137,7 @@
   std::string owner_target_id_;
   DevToolsSession* root_session_;
   base::flat_set<Throttle*> throttles_;
-  base::WeakPtrFactory<TargetHandler> weak_factory_;
+  base::WeakPtrFactory<TargetHandler> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(TargetHandler);
 };
diff --git a/content/browser/devtools/protocol/tethering_handler.cc b/content/browser/devtools/protocol/tethering_handler.cc
index 497174f..6d265507 100644
--- a/content/browser/devtools/protocol/tethering_handler.cc
+++ b/content/browser/devtools/protocol/tethering_handler.cc
@@ -349,9 +349,7 @@
     : DevToolsDomainHandler(Tethering::Metainfo::domainName),
       socket_callback_(socket_callback),
       task_runner_(task_runner),
-      is_active_(false),
-      weak_factory_(this) {
-}
+      is_active_(false) {}
 
 TetheringHandler::~TetheringHandler() {
   if (is_active_) {
diff --git a/content/browser/devtools/protocol/tethering_handler.h b/content/browser/devtools/protocol/tethering_handler.h
index 2c7fe31..b0a83d7 100644
--- a/content/browser/devtools/protocol/tethering_handler.h
+++ b/content/browser/devtools/protocol/tethering_handler.h
@@ -49,7 +49,7 @@
   CreateServerSocketCallback socket_callback_;
   scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
   bool is_active_;
-  base::WeakPtrFactory<TetheringHandler> weak_factory_;
+  base::WeakPtrFactory<TetheringHandler> weak_factory_{this};
 
   static TetheringImpl* impl_;
 
diff --git a/content/browser/devtools/protocol/tracing_handler.cc b/content/browser/devtools/protocol/tracing_handler.cc
index 8349a1fc..e3245ee6 100644
--- a/content/browser/devtools/protocol/tracing_handler.cc
+++ b/content/browser/devtools/protocol/tracing_handler.cc
@@ -565,8 +565,7 @@
       did_initiate_recording_(false),
       return_as_stream_(false),
       gzip_compression_(false),
-      buffer_usage_reporting_interval_(0),
-      weak_factory_(this) {
+      buffer_usage_reporting_interval_(0) {
   bool use_video_capture_api = true;
 #ifdef OS_ANDROID
   // Video capture API cannot be used on Android WebView.
diff --git a/content/browser/devtools/protocol/tracing_handler.h b/content/browser/devtools/protocol/tracing_handler.h
index 49836ca7b..34ebb5dc 100644
--- a/content/browser/devtools/protocol/tracing_handler.h
+++ b/content/browser/devtools/protocol/tracing_handler.h
@@ -144,7 +144,7 @@
   int number_of_screenshots_from_video_consumer_ = 0;
   base::trace_event::TraceConfig trace_config_;
   std::unique_ptr<TracingSession> session_;
-  base::WeakPtrFactory<TracingHandler> weak_factory_;
+  base::WeakPtrFactory<TracingHandler> weak_factory_{this};
 
   FRIEND_TEST_ALL_PREFIXES(TracingHandlerTest,
                            GetTraceConfigFromDevToolsConfig);
diff --git a/content/browser/dom_storage/local_storage_context_mojo.cc b/content/browser/dom_storage/local_storage_context_mojo.cc
index 5067dec..00c0b11 100644
--- a/content/browser/dom_storage/local_storage_context_mojo.cc
+++ b/content/browser/dom_storage/local_storage_context_mojo.cc
@@ -386,8 +386,7 @@
                                          reinterpret_cast<uintptr_t>(this))),
       task_runner_(std::move(legacy_task_runner)),
       old_localstorage_path_(old_localstorage_path),
-      is_low_end_device_(base::SysInfo::IsLowEndDevice()),
-      weak_ptr_factory_(this) {
+      is_low_end_device_(base::SysInfo::IsLowEndDevice()) {
   base::trace_event::MemoryDumpManager::GetInstance()
       ->RegisterDumpProviderWithSequencedTaskRunner(
           this, "LocalStorage", task_runner, MemoryDumpProvider::Options());
diff --git a/content/browser/dom_storage/local_storage_context_mojo.h b/content/browser/dom_storage/local_storage_context_mojo.h
index db50fab..84634b3b 100644
--- a/content/browser/dom_storage/local_storage_context_mojo.h
+++ b/content/browser/dom_storage/local_storage_context_mojo.h
@@ -193,7 +193,7 @@
   // Name of an extra histogram to log open results to, if not null.
   const char* open_result_histogram_ = nullptr;
 
-  base::WeakPtrFactory<LocalStorageContextMojo> weak_ptr_factory_;
+  base::WeakPtrFactory<LocalStorageContextMojo> weak_ptr_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/dom_storage/session_storage_context_mojo.cc b/content/browser/dom_storage/session_storage_context_mojo.cc
index 45a6655..4a65e35 100644
--- a/content/browser/dom_storage/session_storage_context_mojo.cc
+++ b/content/browser/dom_storage/session_storage_context_mojo.cc
@@ -109,8 +109,7 @@
       leveldb_name_(std::move(leveldb_name)),
       memory_dump_id_(base::StringPrintf("SessionStorage/0x%" PRIXPTR,
                                          reinterpret_cast<uintptr_t>(this))),
-      is_low_end_device_(base::SysInfo::IsLowEndDevice()),
-      weak_ptr_factory_(this) {
+      is_low_end_device_(base::SysInfo::IsLowEndDevice()) {
   DCHECK(base::FeatureList::IsEnabled(blink::features::kOnionSoupDOMStorage));
   base::trace_event::MemoryDumpManager::GetInstance()
       ->RegisterDumpProviderWithSequencedTaskRunner(
diff --git a/content/browser/dom_storage/session_storage_context_mojo.h b/content/browser/dom_storage/session_storage_context_mojo.h
index e1ebd6b..de839b0e 100644
--- a/content/browser/dom_storage/session_storage_context_mojo.h
+++ b/content/browser/dom_storage/session_storage_context_mojo.h
@@ -273,7 +273,7 @@
   // Name of an extra histogram to log open results to, if not null.
   const char* open_result_histogram_ = nullptr;
 
-  base::WeakPtrFactory<SessionStorageContextMojo> weak_ptr_factory_;
+  base::WeakPtrFactory<SessionStorageContextMojo> weak_ptr_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/dom_storage/storage_area_impl.cc b/content/browser/dom_storage/storage_area_impl.cc
index fd55c52..c5a28778 100644
--- a/content/browser/dom_storage/storage_area_impl.cc
+++ b/content/browser/dom_storage/storage_area_impl.cc
@@ -82,8 +82,7 @@
       data_rate_limiter_(options.max_bytes_per_hour,
                          base::TimeDelta::FromHours(1)),
       commit_rate_limiter_(options.max_commits_per_hour,
-                           base::TimeDelta::FromHours(1)),
-      weak_ptr_factory_(this) {
+                           base::TimeDelta::FromHours(1)) {
   bindings_.set_connection_error_handler(base::BindRepeating(
       &StorageAreaImpl::OnConnectionError, weak_ptr_factory_.GetWeakPtr()));
 }
diff --git a/content/browser/dom_storage/storage_area_impl.h b/content/browser/dom_storage/storage_area_impl.h
index b9ba5c7..f44ef67 100644
--- a/content/browser/dom_storage/storage_area_impl.h
+++ b/content/browser/dom_storage/storage_area_impl.h
@@ -344,7 +344,7 @@
   bool has_committed_data_ = false;
   std::unique_ptr<CommitBatch> commit_batch_;
 
-  base::WeakPtrFactory<StorageAreaImpl> weak_ptr_factory_;
+  base::WeakPtrFactory<StorageAreaImpl> weak_ptr_factory_{this};
 
   static bool s_aggressive_flushing_enabled_;
 
diff --git a/content/browser/download/download_browsertest.cc b/content/browser/download/download_browsertest.cc
index c3e4a91..ac8a1a6 100644
--- a/content/browser/download/download_browsertest.cc
+++ b/content/browser/download/download_browsertest.cc
@@ -241,7 +241,7 @@
  private:
   std::vector<base::Closure> rename_callbacks_;
   base::OnceClosure stop_waiting_;
-  base::WeakPtrFactory<DownloadFileWithDelayFactory> weak_ptr_factory_;
+  base::WeakPtrFactory<DownloadFileWithDelayFactory> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(DownloadFileWithDelayFactory);
 };
@@ -297,8 +297,7 @@
   factory->AddRenameCallback(base::Bind(original_callback, reason, path));
 }
 
-DownloadFileWithDelayFactory::DownloadFileWithDelayFactory()
-    : weak_ptr_factory_(this) {}
+DownloadFileWithDelayFactory::DownloadFileWithDelayFactory() {}
 
 DownloadFileWithDelayFactory::~DownloadFileWithDelayFactory() {}
 
@@ -454,8 +453,7 @@
 // on this class must be called on the UI thread.
 class ErrorInjectionDownloadFileFactory : public download::DownloadFileFactory {
  public:
-  ErrorInjectionDownloadFileFactory()
-      : download_file_(nullptr), weak_ptr_factory_(this) {}
+  ErrorInjectionDownloadFileFactory() : download_file_(nullptr) {}
   ~ErrorInjectionDownloadFileFactory() override = default;
 
   // DownloadFileFactory interface.
@@ -504,7 +502,8 @@
   ErrorInjectionDownloadFile* download_file_;
   int64_t injected_error_offset_ = -1;
   int64_t injected_error_length_ = 0;
-  base::WeakPtrFactory<ErrorInjectionDownloadFileFactory> weak_ptr_factory_;
+  base::WeakPtrFactory<ErrorInjectionDownloadFileFactory> weak_ptr_factory_{
+      this};
 
   DISALLOW_COPY_AND_ASSIGN(ErrorInjectionDownloadFileFactory);
 };
diff --git a/content/browser/download/download_manager_impl.cc b/content/browser/download/download_manager_impl.cc
index c4788179..ef83f466 100644
--- a/content/browser/download/download_manager_impl.cc
+++ b/content/browser/download/download_manager_impl.cc
@@ -351,8 +351,7 @@
       is_history_download_id_retrieved_(false),
       should_persist_new_download_(false),
       cancelled_download_cleared_from_history_(0),
-      interrupted_download_cleared_from_history_(0),
-      weak_factory_(this) {
+      interrupted_download_cleared_from_history_(0) {
   DCHECK(browser_context);
   download::SetIOTaskRunner(
       base::CreateSingleThreadTaskRunnerWithTraits({BrowserThread::IO}));
diff --git a/content/browser/download/download_manager_impl.h b/content/browser/download/download_manager_impl.h
index 4453f097..abb15b22 100644
--- a/content/browser/download/download_manager_impl.h
+++ b/content/browser/download/download_manager_impl.h
@@ -392,7 +392,7 @@
   using IdCallbackVector = std::vector<std::unique_ptr<GetNextIdCallback>>;
   IdCallbackVector id_callbacks_;
 
-  base::WeakPtrFactory<DownloadManagerImpl> weak_factory_;
+  base::WeakPtrFactory<DownloadManagerImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(DownloadManagerImpl);
 };
diff --git a/content/browser/download/drag_download_file.cc b/content/browser/download/drag_download_file.cc
index fd4918d..20084144 100644
--- a/content/browser/download/drag_download_file.cc
+++ b/content/browser/download/drag_download_file.cc
@@ -54,8 +54,7 @@
         referrer_(referrer),
         referrer_encoding_(referrer_encoding),
         web_contents_(web_contents),
-        download_item_(nullptr),
-        weak_ptr_factory_(this) {
+        download_item_(nullptr) {
     DCHECK(on_completed_task_runner_);
     DCHECK(!on_completed_.is_null());
     DCHECK(web_contents_);
@@ -185,7 +184,7 @@
   download::DownloadItem* download_item_;
 
   // Only used in the callback from DownloadManager::DownloadUrl().
-  base::WeakPtrFactory<DragDownloadFileUI> weak_ptr_factory_;
+  base::WeakPtrFactory<DragDownloadFileUI> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(DragDownloadFileUI);
 };
@@ -200,8 +199,7 @@
       file_(std::move(file)),
       drag_task_runner_(base::ThreadTaskRunnerHandle::Get()),
       state_(INITIALIZED),
-      drag_ui_(nullptr),
-      weak_ptr_factory_(this) {
+      drag_ui_(nullptr) {
   drag_ui_ = new DragDownloadFileUI(
       url, referrer, referrer_encoding, web_contents, drag_task_runner_,
       base::Bind(&DragDownloadFile::DownloadCompleted,
diff --git a/content/browser/download/drag_download_file.h b/content/browser/download/drag_download_file.h
index 635a909..7d43ec4 100644
--- a/content/browser/download/drag_download_file.h
+++ b/content/browser/download/drag_download_file.h
@@ -64,7 +64,7 @@
   scoped_refptr<ui::DownloadFileObserver> observer_;
   base::RunLoop nested_loop_;
   DragDownloadFileUI* drag_ui_;
-  base::WeakPtrFactory<DragDownloadFile> weak_ptr_factory_;
+  base::WeakPtrFactory<DragDownloadFile> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(DragDownloadFile);
 };
diff --git a/content/browser/download/mhtml_generation_manager.cc b/content/browser/download/mhtml_generation_manager.cc
index 9e524c5..ba2eb1bc5 100644
--- a/content/browser/download/mhtml_generation_manager.cc
+++ b/content/browser/download/mhtml_generation_manager.cc
@@ -261,7 +261,7 @@
   // Not used when the renderer is writing directly to file.
   bool waiting_on_data_streaming_;
 
-  base::WeakPtrFactory<Job> weak_factory_;
+  base::WeakPtrFactory<Job> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(Job);
 };
@@ -276,8 +276,7 @@
       salt_(base::GenerateGUID()),
       callback_(std::move(callback)),
       is_finished_(false),
-      waiting_on_data_streaming_(false),
-      weak_factory_(this) {
+      waiting_on_data_streaming_(false) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
   TRACE_EVENT_NESTABLE_ASYNC_BEGIN2(
diff --git a/content/browser/download/url_downloader.cc b/content/browser/download/url_downloader.cc
index 2d29f1e..0033149 100644
--- a/content/browser/download/url_downloader.cc
+++ b/content/browser/download/url_downloader.cc
@@ -78,8 +78,7 @@
             request_origin,
             download_source),
       follow_cross_origin_redirects_(follow_cross_origin_redirects),
-      upload_callback_(upload_callback),
-      weak_ptr_factory_(this) {}
+      upload_callback_(upload_callback) {}
 
 UrlDownloader::~UrlDownloader() = default;
 
diff --git a/content/browser/download/url_downloader.h b/content/browser/download/url_downloader.h
index f501c91..8109783 100644
--- a/content/browser/download/url_downloader.h
+++ b/content/browser/download/url_downloader.h
@@ -97,7 +97,7 @@
   download::DownloadUrlParameters::UploadProgressCallback upload_callback_;
   std::unique_ptr<network::UploadProgressTracker> upload_progress_tracker_;
 
-  base::WeakPtrFactory<UrlDownloader> weak_ptr_factory_;
+  base::WeakPtrFactory<UrlDownloader> weak_ptr_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/fileapi/file_system_manager_impl.cc b/content/browser/fileapi/file_system_manager_impl.cc
index 930af72a..3d23db0 100644
--- a/content/browser/fileapi/file_system_manager_impl.cc
+++ b/content/browser/fileapi/file_system_manager_impl.cc
@@ -126,8 +126,7 @@
     : process_id_(process_id),
       context_(std::move(file_system_context)),
       security_policy_(ChildProcessSecurityPolicyImpl::GetInstance()),
-      blob_storage_context_(std::move(blob_storage_context)),
-      weak_factory_(this) {
+      blob_storage_context_(std::move(blob_storage_context)) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   DCHECK(context_);
   DCHECK(blob_storage_context_);
diff --git a/content/browser/fileapi/file_system_manager_impl.h b/content/browser/fileapi/file_system_manager_impl.h
index 6dc0e8a..400c067 100644
--- a/content/browser/fileapi/file_system_manager_impl.h
+++ b/content/browser/fileapi/file_system_manager_impl.h
@@ -223,7 +223,7 @@
   base::IDMap<scoped_refptr<storage::ShareableFileReference>>
       in_transit_snapshot_files_;
 
-  base::WeakPtrFactory<FileSystemManagerImpl> weak_factory_;
+  base::WeakPtrFactory<FileSystemManagerImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(FileSystemManagerImpl);
 };
diff --git a/content/browser/frame_host/interstitial_page_impl.cc b/content/browser/frame_host/interstitial_page_impl.cc
index f295ce0f..875ec8c 100644
--- a/content/browser/frame_host/interstitial_page_impl.cc
+++ b/content/browser/frame_host/interstitial_page_impl.cc
@@ -186,8 +186,7 @@
       create_view_(true),
       pause_throbber_(false),
       delegate_(delegate),
-      widget_observer_(this),
-      weak_ptr_factory_(this) {
+      widget_observer_(this) {
   InitInterstitialPageMap();
 }
 
diff --git a/content/browser/frame_host/interstitial_page_impl.h b/content/browser/frame_host/interstitial_page_impl.h
index fdb78ec..dfc8c8c3 100644
--- a/content/browser/frame_host/interstitial_page_impl.h
+++ b/content/browser/frame_host/interstitial_page_impl.h
@@ -324,7 +324,7 @@
 
   ScopedObserver<RenderWidgetHost, RenderWidgetHostObserver> widget_observer_;
 
-  base::WeakPtrFactory<InterstitialPageImpl> weak_ptr_factory_;
+  base::WeakPtrFactory<InterstitialPageImpl> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(InterstitialPageImpl);
 };
diff --git a/content/browser/frame_host/keep_alive_handle_factory.cc b/content/browser/frame_host/keep_alive_handle_factory.cc
index 042904d..ffaf0540 100644
--- a/content/browser/frame_host/keep_alive_handle_factory.cc
+++ b/content/browser/frame_host/keep_alive_handle_factory.cc
@@ -19,8 +19,7 @@
 
 class KeepAliveHandleFactory::Context final : public base::RefCounted<Context> {
  public:
-  explicit Context(int process_id)
-      : process_id_(process_id), weak_ptr_factory_(this) {
+  explicit Context(int process_id) : process_id_(process_id) {
     RenderProcessHost* process_host = RenderProcessHost::FromID(process_id_);
     if (!process_host || process_host->IsKeepAliveRefCountDisabled())
       return;
@@ -60,7 +59,7 @@
   const int process_id_;
   bool detached_ = false;
 
-  base::WeakPtrFactory<Context> weak_ptr_factory_;
+  base::WeakPtrFactory<Context> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(Context);
 };
diff --git a/content/browser/frame_host/navigation_controller_impl_browsertest.cc b/content/browser/frame_host/navigation_controller_impl_browsertest.cc
index 387947fd..6aa1956 100644
--- a/content/browser/frame_host/navigation_controller_impl_browsertest.cc
+++ b/content/browser/frame_host/navigation_controller_impl_browsertest.cc
@@ -7350,7 +7350,7 @@
 
 class RequestMonitoringNavigationBrowserTest : public ContentBrowserTest {
  public:
-  RequestMonitoringNavigationBrowserTest() : weak_factory_(this) {}
+  RequestMonitoringNavigationBrowserTest() {}
 
   const net::test_server::HttpRequest* FindAccumulatedRequest(
       const GURL& url_to_find) {
@@ -7399,7 +7399,8 @@
   }
 
   std::vector<net::test_server::HttpRequest> accumulated_requests_;
-  base::WeakPtrFactory<RequestMonitoringNavigationBrowserTest> weak_factory_;
+  base::WeakPtrFactory<RequestMonitoringNavigationBrowserTest> weak_factory_{
+      this};
 };
 
 // Helper for waiting until the main frame of |web_contents| has loaded
diff --git a/content/browser/frame_host/navigation_handle_impl.cc b/content/browser/frame_host/navigation_handle_impl.cc
index 942be53..aef415fe 100644
--- a/content/browser/frame_host/navigation_handle_impl.cc
+++ b/content/browser/frame_host/navigation_handle_impl.cc
@@ -62,8 +62,7 @@
       pending_nav_entry_id_(pending_nav_entry_id),
       navigation_id_(CreateUniqueHandleID()),
       reload_type_(ReloadType::NONE),
-      restore_type_(RestoreType::NONE),
-      weak_factory_(this) {
+      restore_type_(RestoreType::NONE) {
   const GURL& url = navigation_request_->common_params().url;
   TRACE_EVENT_ASYNC_BEGIN2("navigation", "NavigationHandle", this,
                            "frame_tree_node",
diff --git a/content/browser/frame_host/navigation_handle_impl.h b/content/browser/frame_host/navigation_handle_impl.h
index 292de745..bd8de94 100644
--- a/content/browser/frame_host/navigation_handle_impl.h
+++ b/content/browser/frame_host/navigation_handle_impl.h
@@ -310,7 +310,7 @@
   // TODO(clamy): Clean this up once the architecture of unit tests is better.
   scoped_refptr<net::HttpResponseHeaders> response_headers_for_testing_;
 
-  base::WeakPtrFactory<NavigationHandleImpl> weak_factory_;
+  base::WeakPtrFactory<NavigationHandleImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(NavigationHandleImpl);
 };
diff --git a/content/browser/frame_host/navigation_handle_impl_browsertest.cc b/content/browser/frame_host/navigation_handle_impl_browsertest.cc
index 02aab9b..7986b30 100644
--- a/content/browser/frame_host/navigation_handle_impl_browsertest.cc
+++ b/content/browser/frame_host/navigation_handle_impl_browsertest.cc
@@ -176,8 +176,7 @@
         will_redirect_result_(will_redirect_result),
         will_fail_result_(will_fail_result),
         will_process_result_(will_process_result),
-        expected_start_url_(expected_start_url),
-        weak_factory_(this) {}
+        expected_start_url_(expected_start_url) {}
   ~TestNavigationThrottleInstaller() override {}
 
   // Installs a TestNavigationThrottle whose |method| method will return
@@ -334,7 +333,7 @@
 
   // The throttle installer can be deleted before all tasks posted by its
   // throttles are run, so it must be referenced via weak pointers.
-  base::WeakPtrFactory<TestNavigationThrottleInstaller> weak_factory_;
+  base::WeakPtrFactory<TestNavigationThrottleInstaller> weak_factory_{this};
 };
 
 // Same as above, but installs NavigationThrottles that do not directly return
diff --git a/content/browser/frame_host/navigation_request.cc b/content/browser/frame_host/navigation_request.cc
index 4deb9d7..3667d34 100644
--- a/content/browser/frame_host/navigation_request.cc
+++ b/content/browser/frame_host/navigation_request.cc
@@ -661,8 +661,7 @@
       expected_render_process_host_id_(ChildProcessHost::kInvalidUniqueID),
       devtools_navigation_token_(base::UnguessableToken::Create()),
       request_navigation_client_(nullptr),
-      commit_navigation_client_(nullptr),
-      weak_factory_(this) {
+      commit_navigation_client_(nullptr) {
   DCHECK(!browser_initiated || (entry != nullptr && frame_entry != nullptr));
   DCHECK(!IsRendererDebugURL(common_params_.url));
   DCHECK(common_params_.method == "POST" || !common_params_.post_data);
diff --git a/content/browser/frame_host/navigation_request.h b/content/browser/frame_host/navigation_request.h
index e97fa85e..090e589 100644
--- a/content/browser/frame_host/navigation_request.h
+++ b/content/browser/frame_host/navigation_request.h
@@ -921,7 +921,7 @@
   // Set in ReadyToCommitNavigation.
   bool is_same_process_ = true;
 
-  base::WeakPtrFactory<NavigationRequest> weak_factory_;
+  base::WeakPtrFactory<NavigationRequest> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(NavigationRequest);
 };
diff --git a/content/browser/frame_host/navigation_throttle_runner.cc b/content/browser/frame_host/navigation_throttle_runner.cc
index 22b66cf..43bb09b 100644
--- a/content/browser/frame_host/navigation_throttle_runner.cc
+++ b/content/browser/frame_host/navigation_throttle_runner.cc
@@ -58,7 +58,7 @@
 
 NavigationThrottleRunner::NavigationThrottleRunner(Delegate* delegate,
                                                    NavigationHandle* handle)
-    : delegate_(delegate), handle_(handle), weak_factory_(this) {}
+    : delegate_(delegate), handle_(handle) {}
 
 NavigationThrottleRunner::~NavigationThrottleRunner() = default;
 
diff --git a/content/browser/frame_host/navigation_throttle_runner.h b/content/browser/frame_host/navigation_throttle_runner.h
index 0752864..916bb85d 100644
--- a/content/browser/frame_host/navigation_throttle_runner.h
+++ b/content/browser/frame_host/navigation_throttle_runner.h
@@ -88,7 +88,7 @@
 
   // The event currently being processed.
   Event current_event_ = Event::NoEvent;
-  base::WeakPtrFactory<NavigationThrottleRunner> weak_factory_;
+  base::WeakPtrFactory<NavigationThrottleRunner> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(NavigationThrottleRunner);
 };
diff --git a/content/browser/frame_host/origin_policy_throttle.cc b/content/browser/frame_host/origin_policy_throttle.cc
index b7aee32b..6832219 100644
--- a/content/browser/frame_host/origin_policy_throttle.cc
+++ b/content/browser/frame_host/origin_policy_throttle.cc
@@ -142,7 +142,7 @@
 }
 
 OriginPolicyThrottle::OriginPolicyThrottle(NavigationHandle* handle)
-    : NavigationThrottle(handle), weak_factory_(this) {}
+    : NavigationThrottle(handle) {}
 
 // TODO(andypaicu): Remove when we have moved reporting logic to the network
 // service.
diff --git a/content/browser/frame_host/origin_policy_throttle.h b/content/browser/frame_host/origin_policy_throttle.h
index 20b53d8..8b2877a5 100644
--- a/content/browser/frame_host/origin_policy_throttle.h
+++ b/content/browser/frame_host/origin_policy_throttle.h
@@ -89,7 +89,7 @@
   void OnOriginPolicyManagerRetrieveDone(
       const network::OriginPolicy& origin_policy);
 
-  base::WeakPtrFactory<OriginPolicyThrottle> weak_factory_;
+  base::WeakPtrFactory<OriginPolicyThrottle> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(OriginPolicyThrottle);
 };
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
index b7182fb..28c7c5c 100644
--- a/content/browser/frame_host/render_frame_host_impl.cc
+++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -883,8 +883,7 @@
       keep_alive_timeout_(base::TimeDelta::FromSeconds(30)),
       subframe_unload_timeout_(base::TimeDelta::FromMilliseconds(
           RenderViewHostImpl::kUnloadTimeoutMS)),
-      commit_callback_interceptor_(nullptr),
-      weak_ptr_factory_(this) {
+      commit_callback_interceptor_(nullptr) {
   GetProcess()->AddRoute(routing_id_, this);
   g_routing_id_frame_map.Get().emplace(
       RenderFrameHostID(GetProcess()->GetID(), routing_id_), this);
diff --git a/content/browser/frame_host/render_frame_host_impl.h b/content/browser/frame_host/render_frame_host_impl.h
index d8354e52..6bd4625 100644
--- a/content/browser/frame_host/render_frame_host_impl.h
+++ b/content/browser/frame_host/render_frame_host_impl.h
@@ -2216,7 +2216,7 @@
       blink::mojom::FrameLifecycleState::kRunning;
 
   // NOTE: This must be the last member.
-  base::WeakPtrFactory<RenderFrameHostImpl> weak_ptr_factory_;
+  base::WeakPtrFactory<RenderFrameHostImpl> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(RenderFrameHostImpl);
 };
diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc
index cfc019e..0e5a803 100644
--- a/content/browser/frame_host/render_frame_host_manager.cc
+++ b/content/browser/frame_host/render_frame_host_manager.cc
@@ -155,9 +155,7 @@
 
 RenderFrameHostManager::RenderFrameHostManager(FrameTreeNode* frame_tree_node,
                                                Delegate* delegate)
-    : frame_tree_node_(frame_tree_node),
-      delegate_(delegate),
-      weak_factory_(this) {
+    : frame_tree_node_(frame_tree_node), delegate_(delegate) {
   DCHECK(frame_tree_node_);
 }
 
diff --git a/content/browser/frame_host/render_frame_host_manager.h b/content/browser/frame_host/render_frame_host_manager.h
index f93cf92..b34a544 100644
--- a/content/browser/frame_host/render_frame_host_manager.h
+++ b/content/browser/frame_host/render_frame_host_manager.h
@@ -829,7 +829,7 @@
   AttachToInnerDelegateState attach_to_inner_delegate_state_ =
       AttachToInnerDelegateState::NONE;
 
-  base::WeakPtrFactory<RenderFrameHostManager> weak_factory_;
+  base::WeakPtrFactory<RenderFrameHostManager> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(RenderFrameHostManager);
 };
diff --git a/content/browser/frame_host/render_frame_host_manager_browsertest.cc b/content/browser/frame_host/render_frame_host_manager_browsertest.cc
index 192253c..c5a5abe 100644
--- a/content/browser/frame_host/render_frame_host_manager_browsertest.cc
+++ b/content/browser/frame_host/render_frame_host_manager_browsertest.cc
@@ -5526,7 +5526,7 @@
 // out of scope.
 class AssertForegroundHelper {
  public:
-  AssertForegroundHelper() : weak_ptr_factory_(this) {}
+  AssertForegroundHelper() {}
 
 #if defined(OS_MACOSX)
   // Asserts that |renderer_process| isn't backgrounded and reposts self to
@@ -5556,7 +5556,7 @@
 #endif  // defined(OS_MACOSX)
 
  private:
-  base::WeakPtrFactory<AssertForegroundHelper> weak_ptr_factory_;
+  base::WeakPtrFactory<AssertForegroundHelper> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(AssertForegroundHelper);
 };
diff --git a/content/browser/frame_host/render_widget_host_view_guest.cc b/content/browser/frame_host/render_widget_host_view_guest.cc
index 05804d90f..b978972 100644
--- a/content/browser/frame_host/render_widget_host_view_guest.cc
+++ b/content/browser/frame_host/render_widget_host_view_guest.cc
@@ -108,8 +108,7 @@
     : RenderWidgetHostViewChildFrame(widget_host),
       // |guest| is NULL during test.
       guest_(guest ? guest->AsWeakPtr() : base::WeakPtr<BrowserPluginGuest>()),
-      platform_view_(platform_view),
-      weak_ptr_factory_(this) {
+      platform_view_(platform_view) {
   // In tests |guest_| and therefore |owner| can be null.
   auto* owner = GetOwnerRenderWidgetHostView();
   if (owner)
diff --git a/content/browser/frame_host/render_widget_host_view_guest.h b/content/browser/frame_host/render_widget_host_view_guest.h
index f2c0066..794b07f 100644
--- a/content/browser/frame_host/render_widget_host_view_guest.h
+++ b/content/browser/frame_host/render_widget_host_view_guest.h
@@ -193,7 +193,7 @@
   // session.
   bool should_forward_text_selection_ = false;
 
-  base::WeakPtrFactory<RenderWidgetHostViewGuest> weak_ptr_factory_;
+  base::WeakPtrFactory<RenderWidgetHostViewGuest> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewGuest);
 };
diff --git a/content/browser/generic_sensor/sensor_provider_proxy_impl.cc b/content/browser/generic_sensor/sensor_provider_proxy_impl.cc
index 5901ce6..7bcfa2e 100644
--- a/content/browser/generic_sensor/sensor_provider_proxy_impl.cc
+++ b/content/browser/generic_sensor/sensor_provider_proxy_impl.cc
@@ -30,8 +30,7 @@
     PermissionControllerImpl* permission_controller,
     RenderFrameHost* render_frame_host)
     : permission_controller_(permission_controller),
-      render_frame_host_(render_frame_host),
-      weak_factory_(this) {
+      render_frame_host_(render_frame_host) {
   DCHECK(permission_controller);
   DCHECK(render_frame_host);
 }
diff --git a/content/browser/generic_sensor/sensor_provider_proxy_impl.h b/content/browser/generic_sensor/sensor_provider_proxy_impl.h
index 5df9b44..dc48122 100644
--- a/content/browser/generic_sensor/sensor_provider_proxy_impl.h
+++ b/content/browser/generic_sensor/sensor_provider_proxy_impl.h
@@ -43,7 +43,7 @@
   RenderFrameHost* render_frame_host_;
   device::mojom::SensorProviderPtr sensor_provider_;
 
-  base::WeakPtrFactory<SensorProviderProxyImpl> weak_factory_;
+  base::WeakPtrFactory<SensorProviderProxyImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(SensorProviderProxyImpl);
 };
diff --git a/content/browser/geolocation/geolocation_service_impl.cc b/content/browser/geolocation/geolocation_service_impl.cc
index ffb3b68..77d51d8e 100644
--- a/content/browser/geolocation/geolocation_service_impl.cc
+++ b/content/browser/geolocation/geolocation_service_impl.cc
@@ -16,8 +16,7 @@
 GeolocationServiceImplContext::GeolocationServiceImplContext(
     PermissionControllerImpl* permission_controller)
     : permission_controller_(permission_controller),
-      request_id_(PermissionController::kNoPendingOperation),
-      weak_factory_(this) {}
+      request_id_(PermissionController::kNoPendingOperation) {}
 
 GeolocationServiceImplContext::~GeolocationServiceImplContext() {
 }
diff --git a/content/browser/geolocation/geolocation_service_impl.h b/content/browser/geolocation/geolocation_service_impl.h
index 71d3966..247a0ca 100644
--- a/content/browser/geolocation/geolocation_service_impl.h
+++ b/content/browser/geolocation/geolocation_service_impl.h
@@ -40,7 +40,7 @@
       const base::Callback<void(blink::mojom::PermissionStatus)>& callback,
       blink::mojom::PermissionStatus permission_status);
 
-  base::WeakPtrFactory<GeolocationServiceImplContext> weak_factory_;
+  base::WeakPtrFactory<GeolocationServiceImplContext> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(GeolocationServiceImplContext);
 };
diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc
index 4165ba00..ca2e5d50 100644
--- a/content/browser/gpu/gpu_process_host.cc
+++ b/content/browser/gpu/gpu_process_host.cc
@@ -672,8 +672,7 @@
       kind_(kind),
       process_launched_(false),
       connection_filter_id_(
-          ServiceManagerConnection::kInvalidConnectionFilterId),
-      weak_ptr_factory_(this) {
+          ServiceManagerConnection::kInvalidConnectionFilterId) {
   if (base::CommandLine::ForCurrentProcess()->HasSwitch(
           switches::kSingleProcess) ||
       base::CommandLine::ForCurrentProcess()->HasSwitch(
diff --git a/content/browser/gpu/gpu_process_host.h b/content/browser/gpu/gpu_process_host.h
index ba6822bc..60199ca 100644
--- a/content/browser/gpu/gpu_process_host.h
+++ b/content/browser/gpu/gpu_process_host.h
@@ -242,7 +242,7 @@
 
   SEQUENCE_CHECKER(sequence_checker_);
 
-  base::WeakPtrFactory<GpuProcessHost> weak_ptr_factory_;
+  base::WeakPtrFactory<GpuProcessHost> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(GpuProcessHost);
 };
diff --git a/content/browser/gpu/viz_devtools_connector.cc b/content/browser/gpu/viz_devtools_connector.cc
index 19295f70..f005ec0f 100644
--- a/content/browser/gpu/viz_devtools_connector.cc
+++ b/content/browser/gpu/viz_devtools_connector.cc
@@ -41,7 +41,7 @@
 
 }  // namespace
 
-VizDevToolsConnector::VizDevToolsConnector() : weak_ptr_factory_(this) {}
+VizDevToolsConnector::VizDevToolsConnector() {}
 
 VizDevToolsConnector::~VizDevToolsConnector() {}
 
diff --git a/content/browser/gpu/viz_devtools_connector.h b/content/browser/gpu/viz_devtools_connector.h
index 98a6e1e..6f44bb0 100644
--- a/content/browser/gpu/viz_devtools_connector.h
+++ b/content/browser/gpu/viz_devtools_connector.h
@@ -26,7 +26,7 @@
                                   int result,
                                   int port);
 
-  base::WeakPtrFactory<VizDevToolsConnector> weak_ptr_factory_;
+  base::WeakPtrFactory<VizDevToolsConnector> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(VizDevToolsConnector);
 };
diff --git a/content/browser/idle/idle_manager.cc b/content/browser/idle/idle_manager.cc
index 5a77c238..beb0c7a 100644
--- a/content/browser/idle/idle_manager.cc
+++ b/content/browser/idle/idle_manager.cc
@@ -62,8 +62,7 @@
 
 }  // namespace
 
-IdleManager::IdleManager()
-    : idle_time_provider_(new DefaultIdleProvider()), weak_factory_(this) {}
+IdleManager::IdleManager() : idle_time_provider_(new DefaultIdleProvider()) {}
 
 IdleManager::~IdleManager() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
diff --git a/content/browser/idle/idle_manager.h b/content/browser/idle/idle_manager.h
index 81d93bf..35b2545d 100644
--- a/content/browser/idle/idle_manager.h
+++ b/content/browser/idle/idle_manager.h
@@ -96,7 +96,7 @@
   base::LinkedList<IdleMonitor> monitors_;
 
   SEQUENCE_CHECKER(sequence_checker_);
-  base::WeakPtrFactory<IdleManager> weak_factory_;
+  base::WeakPtrFactory<IdleManager> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(IdleManager);
 };
diff --git a/content/browser/indexed_db/indexed_db_active_blob_registry.cc b/content/browser/indexed_db/indexed_db_active_blob_registry.cc
index 798604a8..584d42c 100644
--- a/content/browser/indexed_db/indexed_db_active_blob_registry.cc
+++ b/content/browser/indexed_db/indexed_db_active_blob_registry.cc
@@ -15,7 +15,7 @@
 
 IndexedDBActiveBlobRegistry::IndexedDBActiveBlobRegistry(
     IndexedDBBackingStore* backing_store)
-    : backing_store_(backing_store), weak_factory_(this) {}
+    : backing_store_(backing_store) {}
 
 IndexedDBActiveBlobRegistry::~IndexedDBActiveBlobRegistry() {
 }
diff --git a/content/browser/indexed_db/indexed_db_active_blob_registry.h b/content/browser/indexed_db/indexed_db_active_blob_registry.h
index b4495e2..daec1e0 100644
--- a/content/browser/indexed_db/indexed_db_active_blob_registry.h
+++ b/content/browser/indexed_db/indexed_db_active_blob_registry.h
@@ -64,7 +64,7 @@
   // backing_store_->factory() will keep backing_store_ alive for us.  And
   // backing_store_ owns us, so we'll stay alive as long as we're needed.
   IndexedDBBackingStore* backing_store_;
-  base::WeakPtrFactory<IndexedDBActiveBlobRegistry> weak_factory_;
+  base::WeakPtrFactory<IndexedDBActiveBlobRegistry> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(IndexedDBActiveBlobRegistry);
 };
diff --git a/content/browser/indexed_db/indexed_db_backing_store.cc b/content/browser/indexed_db/indexed_db_backing_store.cc
index eb3fb99..27fe746 100644
--- a/content/browser/indexed_db/indexed_db_backing_store.cc
+++ b/content/browser/indexed_db/indexed_db_backing_store.cc
@@ -2823,8 +2823,7 @@
       leveldb_factory_(backing_store ? backing_store->leveldb_factory_
                                      : nullptr),
       database_id_(-1),
-      committing_(false),
-      ptr_factory_(this) {}
+      committing_(false) {}
 
 IndexedDBBackingStore::Transaction::~Transaction() {
   DCHECK(!committing_);
diff --git a/content/browser/indexed_db/indexed_db_backing_store.h b/content/browser/indexed_db/indexed_db_backing_store.h
index 81967100..2bb8a6d4 100644
--- a/content/browser/indexed_db/indexed_db_backing_store.h
+++ b/content/browser/indexed_db/indexed_db_backing_store.h
@@ -292,7 +292,7 @@
     // has been bumped, and journal cleaning should be deferred.
     bool committing_;
 
-    base::WeakPtrFactory<Transaction> ptr_factory_;
+    base::WeakPtrFactory<Transaction> ptr_factory_{this};
 
     DISALLOW_COPY_AND_ASSIGN(Transaction);
   };
diff --git a/content/browser/indexed_db/indexed_db_cursor.cc b/content/browser/indexed_db/indexed_db_cursor.cc
index 23a88af..3c7c2bb 100644
--- a/content/browser/indexed_db/indexed_db_cursor.cc
+++ b/content/browser/indexed_db/indexed_db_cursor.cc
@@ -57,8 +57,7 @@
       cursor_type_(cursor_type),
       transaction_(std::move(transaction)),
       cursor_(std::move(cursor)),
-      closed_(false),
-      ptr_factory_(this) {
+      closed_(false) {
   IDB_ASYNC_TRACE_BEGIN("IndexedDBCursor::open", this);
 }
 
diff --git a/content/browser/indexed_db/indexed_db_cursor.h b/content/browser/indexed_db/indexed_db_cursor.h
index 5e0e26f..79b75f4 100644
--- a/content/browser/indexed_db/indexed_db_cursor.h
+++ b/content/browser/indexed_db/indexed_db_cursor.h
@@ -90,7 +90,7 @@
 
   bool closed_;
 
-  base::WeakPtrFactory<IndexedDBCursor> ptr_factory_;
+  base::WeakPtrFactory<IndexedDBCursor> ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(IndexedDBCursor);
 };
diff --git a/content/browser/indexed_db/indexed_db_database.cc b/content/browser/indexed_db/indexed_db_database.cc
index fcf6018..65dcb61 100644
--- a/content/browser/indexed_db/indexed_db_database.cc
+++ b/content/browser/indexed_db/indexed_db_database.cc
@@ -158,8 +158,7 @@
               IndexedDBDatabase* db,
               std::unique_ptr<IndexedDBPendingConnection> pending_connection)
       : ConnectionRequest(std::move(origin_state_handle), db),
-        pending_(std::move(pending_connection)),
-        weak_factory_(this) {
+        pending_(std::move(pending_connection)) {
     db_->metadata_.was_cold_open = pending_->was_cold_open;
   }
 
@@ -370,7 +369,7 @@
   // transferred to the IndexedDBDispatcherHost via OnUpgradeNeeded.
   std::unique_ptr<IndexedDBConnection> connection_;
 
-  base::WeakPtrFactory<OpenRequest> weak_factory_;
+  base::WeakPtrFactory<OpenRequest> weak_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(OpenRequest);
 };
 
@@ -383,8 +382,7 @@
                 base::OnceClosure on_database_deleted)
       : ConnectionRequest(std::move(origin_state_handle), db),
         callbacks_(callbacks),
-        on_database_deleted_(std::move(on_database_deleted)),
-        weak_factory_(this) {}
+        on_database_deleted_(std::move(on_database_deleted)) {}
 
   void Perform() override {
     if (db_->HasNoConnections()) {
@@ -452,7 +450,7 @@
   scoped_refptr<IndexedDBCallbacks> callbacks_;
   base::OnceClosure on_database_deleted_;
 
-  base::WeakPtrFactory<DeleteRequest> weak_factory_;
+  base::WeakPtrFactory<DeleteRequest> weak_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(DeleteRequest);
 };
 
diff --git a/content/browser/indexed_db/indexed_db_dispatcher_host.cc b/content/browser/indexed_db/indexed_db_dispatcher_host.cc
index 52257a1..56d7579 100644
--- a/content/browser/indexed_db/indexed_db_dispatcher_host.cc
+++ b/content/browser/indexed_db/indexed_db_dispatcher_host.cc
@@ -67,8 +67,7 @@
     scoped_refptr<ChromeBlobStorageContext> blob_storage_context)
     : indexed_db_context_(std::move(indexed_db_context)),
       blob_storage_context_(std::move(blob_storage_context)),
-      ipc_process_id_(ipc_process_id),
-      weak_factory_(this) {
+      ipc_process_id_(ipc_process_id) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   DETACH_FROM_SEQUENCE(sequence_checker_);
   DCHECK(indexed_db_context_);
diff --git a/content/browser/indexed_db/indexed_db_dispatcher_host.h b/content/browser/indexed_db/indexed_db_dispatcher_host.h
index b12fbea..02891034 100644
--- a/content/browser/indexed_db/indexed_db_dispatcher_host.h
+++ b/content/browser/indexed_db/indexed_db_dispatcher_host.h
@@ -139,7 +139,7 @@
 
   SEQUENCE_CHECKER(sequence_checker_);
 
-  base::WeakPtrFactory<IndexedDBDispatcherHost> weak_factory_;
+  base::WeakPtrFactory<IndexedDBDispatcherHost> weak_factory_{this};
 
   DISALLOW_IMPLICIT_CONSTRUCTORS(IndexedDBDispatcherHost);
 };
diff --git a/content/browser/indexed_db/indexed_db_pre_close_task_queue.cc b/content/browser/indexed_db/indexed_db_pre_close_task_queue.cc
index 50ef46a..46b95bbe 100644
--- a/content/browser/indexed_db/indexed_db_pre_close_task_queue.cc
+++ b/content/browser/indexed_db/indexed_db_pre_close_task_queue.cc
@@ -25,8 +25,7 @@
       on_done_(std::move(on_complete)),
       timeout_time_(max_run_time),
       timeout_timer_(std::move(timer)),
-      task_runner_(base::SequencedTaskRunnerHandle::Get()),
-      ptr_factory_(this) {}
+      task_runner_(base::SequencedTaskRunnerHandle::Get()) {}
 IndexedDBPreCloseTaskQueue::~IndexedDBPreCloseTaskQueue() {}
 
 void IndexedDBPreCloseTaskQueue::StopForNewConnection() {
diff --git a/content/browser/indexed_db/indexed_db_pre_close_task_queue.h b/content/browser/indexed_db/indexed_db_pre_close_task_queue.h
index 59ec133..c406dc3 100644
--- a/content/browser/indexed_db/indexed_db_pre_close_task_queue.h
+++ b/content/browser/indexed_db/indexed_db_pre_close_task_queue.h
@@ -104,7 +104,7 @@
   std::unique_ptr<base::OneShotTimer> timeout_timer_;
   scoped_refptr<base::SequencedTaskRunner> task_runner_;
 
-  base::WeakPtrFactory<IndexedDBPreCloseTaskQueue> ptr_factory_;
+  base::WeakPtrFactory<IndexedDBPreCloseTaskQueue> ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(IndexedDBPreCloseTaskQueue);
 };
diff --git a/content/browser/indexed_db/indexed_db_quota_client_unittest.cc b/content/browser/indexed_db/indexed_db_quota_client_unittest.cc
index 60672bbc6..d329731 100644
--- a/content/browser/indexed_db/indexed_db_quota_client_unittest.cc
+++ b/content/browser/indexed_db/indexed_db_quota_client_unittest.cc
@@ -46,8 +46,7 @@
       : kOriginA(url::Origin::Create(GURL("http://host"))),
         kOriginB(url::Origin::Create(GURL("http://host:8000"))),
         kOriginOther(url::Origin::Create(GURL("http://other"))),
-        usage_(0),
-        weak_factory_(this) {
+        usage_(0) {
     browser_context_.reset(new TestBrowserContext());
 
     scoped_refptr<storage::QuotaManager> quota_manager =
@@ -164,7 +163,7 @@
   scoped_refptr<IndexedDBContextImpl> idb_context_;
   std::unique_ptr<TestBrowserContext> browser_context_;
   blink::mojom::QuotaStatusCode delete_status_;
-  base::WeakPtrFactory<IndexedDBQuotaClientTest> weak_factory_;
+  base::WeakPtrFactory<IndexedDBQuotaClientTest> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(IndexedDBQuotaClientTest);
 };
diff --git a/content/browser/indexed_db/indexed_db_tombstone_sweeper.cc b/content/browser/indexed_db/indexed_db_tombstone_sweeper.cc
index 6bdcd52..d927cc9 100644
--- a/content/browser/indexed_db/indexed_db_tombstone_sweeper.cc
+++ b/content/browser/indexed_db/indexed_db_tombstone_sweeper.cc
@@ -71,8 +71,7 @@
                                                      leveldb::DB* database)
     : max_round_iterations_(round_iterations),
       max_iterations_(max_iterations),
-      database_(database),
-      ptr_factory_(this) {
+      database_(database) {
   sweep_state_.start_database_seed = static_cast<size_t>(base::RandUint64());
   sweep_state_.start_object_store_seed =
       static_cast<size_t>(base::RandUint64());
diff --git a/content/browser/indexed_db/indexed_db_tombstone_sweeper.h b/content/browser/indexed_db/indexed_db_tombstone_sweeper.h
index c10bf43..1a979dff 100644
--- a/content/browser/indexed_db/indexed_db_tombstone_sweeper.h
+++ b/content/browser/indexed_db/indexed_db_tombstone_sweeper.h
@@ -189,7 +189,7 @@
   SweepState sweep_state_;
   SweepMetrics metrics_;
 
-  base::WeakPtrFactory<IndexedDBTombstoneSweeper> ptr_factory_;
+  base::WeakPtrFactory<IndexedDBTombstoneSweeper> ptr_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(IndexedDBTombstoneSweeper);
 };
 
diff --git a/content/browser/indexed_db/indexed_db_transaction.cc b/content/browser/indexed_db/indexed_db_transaction.cc
index 4f2a1f21..11783f25 100644
--- a/content/browser/indexed_db/indexed_db_transaction.cc
+++ b/content/browser/indexed_db/indexed_db_transaction.cc
@@ -116,8 +116,7 @@
       mode_(mode),
       connection_(connection->GetWeakPtr()),
       error_callback_(std::move(error_callback)),
-      transaction_(backing_store_transaction),
-      ptr_factory_(this) {
+      transaction_(backing_store_transaction) {
   IDB_ASYNC_TRACE_BEGIN("IndexedDBTransaction::lifetime", this);
   callbacks_ = connection_->callbacks();
   database_ = connection_->database();
diff --git a/content/browser/indexed_db/indexed_db_transaction.h b/content/browser/indexed_db/indexed_db_transaction.h
index 90bafc4..4fc08993 100644
--- a/content/browser/indexed_db/indexed_db_transaction.h
+++ b/content/browser/indexed_db/indexed_db_transaction.h
@@ -277,7 +277,7 @@
 
   Diagnostics diagnostics_;
 
-  base::WeakPtrFactory<IndexedDBTransaction> ptr_factory_;
+  base::WeakPtrFactory<IndexedDBTransaction> ptr_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc b/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc
index a18c6cd..e278ba1 100644
--- a/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc
+++ b/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc
@@ -28,8 +28,7 @@
     DisjointRangeLockManager::Lock&&) = default;
 
 DisjointRangeLockManager::DisjointRangeLockManager(int level_count)
-    : task_runner_(base::SequencedTaskRunnerHandle::Get()),
-      weak_factory_(this) {
+    : task_runner_(base::SequencedTaskRunnerHandle::Get()) {
   locks_.resize(level_count);
 }
 
diff --git a/content/browser/indexed_db/scopes/disjoint_range_lock_manager.h b/content/browser/indexed_db/scopes/disjoint_range_lock_manager.h
index ed5808e..3e917621 100644
--- a/content/browser/indexed_db/scopes/disjoint_range_lock_manager.h
+++ b/content/browser/indexed_db/scopes/disjoint_range_lock_manager.h
@@ -115,7 +115,7 @@
   std::vector<LockLevelMap> locks_;
 
   SEQUENCE_CHECKER(sequence_checker_);
-  base::WeakPtrFactory<DisjointRangeLockManager> weak_factory_;
+  base::WeakPtrFactory<DisjointRangeLockManager> weak_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(DisjointRangeLockManager);
 };
 
diff --git a/content/browser/indexed_db/scopes/leveldb_scopes.cc b/content/browser/indexed_db/scopes/leveldb_scopes.cc
index bd5ea14..77b287e 100644
--- a/content/browser/indexed_db/scopes/leveldb_scopes.cc
+++ b/content/browser/indexed_db/scopes/leveldb_scopes.cc
@@ -36,8 +36,7 @@
       max_write_batch_size_bytes_(max_write_batch_size),
       level_db_(std::move(level_db)),
       lock_manager_(lock_manager),
-      failure_callback_(std::move(failure_callback)),
-      weak_factory_(this) {}
+      failure_callback_(std::move(failure_callback)) {}
 
 LevelDBScopes::~LevelDBScopes() = default;
 
diff --git a/content/browser/indexed_db/scopes/leveldb_scopes.h b/content/browser/indexed_db/scopes/leveldb_scopes.h
index 433ba638..fe20fba 100644
--- a/content/browser/indexed_db/scopes/leveldb_scopes.h
+++ b/content/browser/indexed_db/scopes/leveldb_scopes.h
@@ -124,7 +124,7 @@
   bool initialize_called_ = false;
 #endif
 
-  base::WeakPtrFactory<LevelDBScopes> weak_factory_;
+  base::WeakPtrFactory<LevelDBScopes> weak_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(LevelDBScopes);
 };
 
diff --git a/content/browser/indexed_db/scopes/scopes_lock_manager.cc b/content/browser/indexed_db/scopes/scopes_lock_manager.cc
index 709f5798..02ced2a 100644
--- a/content/browser/indexed_db/scopes/scopes_lock_manager.cc
+++ b/content/browser/indexed_db/scopes/scopes_lock_manager.cc
@@ -15,7 +15,7 @@
 ScopesLocksHolder::ScopesLocksHolder() = default;
 ScopesLocksHolder::~ScopesLocksHolder() = default;
 
-ScopesLockManager::ScopesLockManager() : weak_factory_(this) {}
+ScopesLockManager::ScopesLockManager() {}
 ScopesLockManager::~ScopesLockManager() = default;
 
 ScopesLockManager::ScopeLockRequest::ScopeLockRequest(int level,
diff --git a/content/browser/indexed_db/scopes/scopes_lock_manager.h b/content/browser/indexed_db/scopes/scopes_lock_manager.h
index eaa4ace..8d04437b 100644
--- a/content/browser/indexed_db/scopes/scopes_lock_manager.h
+++ b/content/browser/indexed_db/scopes/scopes_lock_manager.h
@@ -74,7 +74,7 @@
  private:
   DISALLOW_COPY_AND_ASSIGN(ScopesLockManager);
 
-  base::WeakPtrFactory<ScopesLockManager> weak_factory_;
+  base::WeakPtrFactory<ScopesLockManager> weak_factory_{this};
 };
 
 CONTENT_EXPORT bool operator<(const ScopesLockManager::ScopeLockRequest& x,
diff --git a/content/browser/indexed_db/transaction_impl.cc b/content/browser/indexed_db/transaction_impl.cc
index 8ba3fc3f..3c3a56b 100644
--- a/content/browser/indexed_db/transaction_impl.cc
+++ b/content/browser/indexed_db/transaction_impl.cc
@@ -77,8 +77,7 @@
       indexed_db_context_(dispatcher_host->context()),
       transaction_(std::move(transaction)),
       origin_(origin),
-      idb_runner_(std::move(idb_runner)),
-      weak_factory_(this) {
+      idb_runner_(std::move(idb_runner)) {
   DCHECK(idb_runner_->RunsTasksInCurrentSequence());
   DCHECK(dispatcher_host_);
   DCHECK(transaction_);
diff --git a/content/browser/indexed_db/transaction_impl.h b/content/browser/indexed_db/transaction_impl.h
index 996398b..7428e22 100644
--- a/content/browser/indexed_db/transaction_impl.h
+++ b/content/browser/indexed_db/transaction_impl.h
@@ -64,7 +64,7 @@
 
   SEQUENCE_CHECKER(sequence_checker_);
 
-  base::WeakPtrFactory<TransactionImpl> weak_factory_;
+  base::WeakPtrFactory<TransactionImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(TransactionImpl);
 };
diff --git a/content/browser/loader/cross_site_document_resource_handler.cc b/content/browser/loader/cross_site_document_resource_handler.cc
index 8bbfacaa..8bc3ce2 100644
--- a/content/browser/loader/cross_site_document_resource_handler.cc
+++ b/content/browser/loader/cross_site_document_resource_handler.cc
@@ -139,8 +139,7 @@
     network::mojom::RequestMode request_mode)
     : LayeredResourceHandler(request, std::move(next_handler)),
       weak_next_handler_(next_handler_.get()),
-      request_mode_(request_mode),
-      weak_this_(this) {}
+      request_mode_(request_mode) {}
 
 CrossSiteDocumentResourceHandler::~CrossSiteDocumentResourceHandler() {}
 
diff --git a/content/browser/loader/cross_site_document_resource_handler.h b/content/browser/loader/cross_site_document_resource_handler.h
index b2177bf1..86cec927 100644
--- a/content/browser/loader/cross_site_document_resource_handler.h
+++ b/content/browser/loader/cross_site_document_resource_handler.h
@@ -163,7 +163,7 @@
   // response should fail with net::ERR_BLOCKED_BY_RESPONSE error code).
   bool blocked_by_cross_origin_resource_policy_ = false;
 
-  base::WeakPtrFactory<CrossSiteDocumentResourceHandler> weak_this_;
+  base::WeakPtrFactory<CrossSiteDocumentResourceHandler> weak_this_{this};
 
   DISALLOW_COPY_AND_ASSIGN(CrossSiteDocumentResourceHandler);
 };
diff --git a/content/browser/loader/intercepting_resource_handler.cc b/content/browser/loader/intercepting_resource_handler.cc
index 2bf460b8..ec1f0060 100644
--- a/content/browser/loader/intercepting_resource_handler.cc
+++ b/content/browser/loader/intercepting_resource_handler.cc
@@ -68,9 +68,7 @@
 InterceptingResourceHandler::InterceptingResourceHandler(
     std::unique_ptr<ResourceHandler> next_handler,
     net::URLRequest* request)
-    : LayeredResourceHandler(request, std::move(next_handler)),
-      weak_ptr_factory_(this) {
-}
+    : LayeredResourceHandler(request, std::move(next_handler)) {}
 
 InterceptingResourceHandler::~InterceptingResourceHandler() {}
 
diff --git a/content/browser/loader/intercepting_resource_handler.h b/content/browser/loader/intercepting_resource_handler.h
index 2b71045..c791657c 100644
--- a/content/browser/loader/intercepting_resource_handler.h
+++ b/content/browser/loader/intercepting_resource_handler.h
@@ -177,7 +177,7 @@
   // True if the request was resumed while |in_do_loop_| was true;
   bool advance_to_next_state_ = false;
 
-  base::WeakPtrFactory<InterceptingResourceHandler> weak_ptr_factory_;
+  base::WeakPtrFactory<InterceptingResourceHandler> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(InterceptingResourceHandler);
 };
diff --git a/content/browser/loader/mime_sniffing_resource_handler.cc b/content/browser/loader/mime_sniffing_resource_handler.cc
index d7e76819..660ae5b 100644
--- a/content/browser/loader/mime_sniffing_resource_handler.cc
+++ b/content/browser/loader/mime_sniffing_resource_handler.cc
@@ -132,8 +132,7 @@
       intercepting_handler_(intercepting_handler),
       request_context_type_(request_context_type),
       in_state_loop_(false),
-      advance_state_(false),
-      weak_ptr_factory_(this) {
+      advance_state_(false) {
 }
 
 MimeSniffingResourceHandler::~MimeSniffingResourceHandler() {}
diff --git a/content/browser/loader/mime_sniffing_resource_handler.h b/content/browser/loader/mime_sniffing_resource_handler.h
index 350576d..d314053 100644
--- a/content/browser/loader/mime_sniffing_resource_handler.h
+++ b/content/browser/loader/mime_sniffing_resource_handler.h
@@ -209,7 +209,7 @@
   // the next state when control returns to the AdvanceState loop.
   bool advance_state_;
 
-  base::WeakPtrFactory<MimeSniffingResourceHandler> weak_ptr_factory_;
+  base::WeakPtrFactory<MimeSniffingResourceHandler> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(MimeSniffingResourceHandler);
 };
diff --git a/content/browser/loader/mock_resource_loader.cc b/content/browser/loader/mock_resource_loader.cc
index a6e1719..c097b5e 100644
--- a/content/browser/loader/mock_resource_loader.cc
+++ b/content/browser/loader/mock_resource_loader.cc
@@ -44,7 +44,7 @@
 };
 
 MockResourceLoader::MockResourceLoader(ResourceHandler* resource_handler)
-    : resource_handler_(resource_handler), weak_factory_(this) {
+    : resource_handler_(resource_handler) {
   resource_handler_->SetDelegate(this);
 }
 
diff --git a/content/browser/loader/mock_resource_loader.h b/content/browser/loader/mock_resource_loader.h
index 0615cd6..f739e1ce 100644
--- a/content/browser/loader/mock_resource_loader.h
+++ b/content/browser/loader/mock_resource_loader.h
@@ -112,7 +112,7 @@
 
   std::unique_ptr<base::RunLoop> canceled_or_idle_run_loop_;
 
-  base::WeakPtrFactory<MockResourceLoader> weak_factory_;
+  base::WeakPtrFactory<MockResourceLoader> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(MockResourceLoader);
 };
diff --git a/content/browser/loader/mojo_async_resource_handler.cc b/content/browser/loader/mojo_async_resource_handler.cc
index 37800b24..6a54037 100644
--- a/content/browser/loader/mojo_async_resource_handler.cc
+++ b/content/browser/loader/mojo_async_resource_handler.cc
@@ -117,8 +117,8 @@
                       mojo::SimpleWatcher::ArmingPolicy::MANUAL,
                       base::SequencedTaskRunnerHandle::Get()),
       url_loader_client_(std::move(url_loader_client)),
-      report_transfer_size_async_timer_(std::make_unique<base::OneShotTimer>()),
-      weak_factory_(this) {
+      report_transfer_size_async_timer_(
+          std::make_unique<base::OneShotTimer>()) {
   DCHECK(IsResourceTypeFrame(resource_type) ||
          resource_type == ResourceType::kServiceWorker ||
          !(url_loader_options_ &
diff --git a/content/browser/loader/mojo_async_resource_handler.h b/content/browser/loader/mojo_async_resource_handler.h
index d705c83..6d55e74 100644
--- a/content/browser/loader/mojo_async_resource_handler.h
+++ b/content/browser/loader/mojo_async_resource_handler.h
@@ -181,7 +181,7 @@
   base::TimeTicks earliest_time_next_transfer_size_report_;
   int64_t reported_total_received_bytes_ = 0;
 
-  base::WeakPtrFactory<MojoAsyncResourceHandler> weak_factory_;
+  base::WeakPtrFactory<MojoAsyncResourceHandler> weak_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(MojoAsyncResourceHandler);
 };
 
diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/browser/loader/navigation_url_loader_impl.cc
index e2fcd8d..92feeae 100644
--- a/content/browser/loader/navigation_url_loader_impl.cc
+++ b/content/browser/loader/navigation_url_loader_impl.cc
@@ -363,8 +363,7 @@
         proxied_factory_info_(std::move(proxied_factory_info)),
         known_schemes_(std::move(known_schemes)),
         bypass_redirect_checks_(bypass_redirect_checks),
-        browser_context_(browser_context),
-        weak_factory_(this) {}
+        browser_context_(browser_context) {}
 
   ~URLLoaderRequestController() override {
     DCHECK_CURRENTLY_ON(GetLoaderRequestControllerThreadID());
@@ -1560,7 +1559,7 @@
   network::ResourceResponseHead head_;
   mojo::ScopedDataPipeConsumerHandle response_body_;
 
-  mutable base::WeakPtrFactory<URLLoaderRequestController> weak_factory_;
+  mutable base::WeakPtrFactory<URLLoaderRequestController> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(URLLoaderRequestController);
 };
@@ -1581,8 +1580,7 @@
     std::vector<std::unique_ptr<NavigationLoaderInterceptor>>
         initial_interceptors)
     : delegate_(delegate),
-      download_policy_(request_info->common_params.download_policy),
-      weak_factory_(this) {
+      download_policy_(request_info->common_params.download_policy) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   int frame_tree_node_id = request_info->frame_tree_node_id;
 
diff --git a/content/browser/loader/navigation_url_loader_impl.h b/content/browser/loader/navigation_url_loader_impl.h
index 523ccbaf..f49c6c5 100644
--- a/content/browser/loader/navigation_url_loader_impl.h
+++ b/content/browser/loader/navigation_url_loader_impl.h
@@ -133,7 +133,7 @@
   // Counts the time overhead of all the hops from the IO to the UI threads.
   base::TimeDelta io_to_ui_time_;
 
-  base::WeakPtrFactory<NavigationURLLoaderImpl> weak_factory_;
+  base::WeakPtrFactory<NavigationURLLoaderImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(NavigationURLLoaderImpl);
 };
diff --git a/content/browser/loader/resource_dispatcher_host_impl.cc b/content/browser/loader/resource_dispatcher_host_impl.cc
index c4db9c9..577daea 100644
--- a/content/browser/loader/resource_dispatcher_host_impl.cc
+++ b/content/browser/loader/resource_dispatcher_host_impl.cc
@@ -228,7 +228,7 @@
 class LoginDelegateProxy : public LoginDelegate {
  public:
   explicit LoginDelegateProxy(LoginAuthRequiredCallback callback)
-      : callback_(std::move(callback)), weak_factory_(this) {
+      : callback_(std::move(callback)) {
     delegate_ui_.reset(new DelegateOwnerUI(weak_factory_.GetWeakPtr()));
   }
 
@@ -309,7 +309,7 @@
   std::unique_ptr<DelegateOwnerUI, BrowserThread::DeleteOnUIThread>
       delegate_ui_;
   LoginAuthRequiredCallback callback_;
-  base::WeakPtrFactory<LoginDelegateProxy> weak_factory_;
+  base::WeakPtrFactory<LoginDelegateProxy> weak_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(LoginDelegateProxy);
 };
 
@@ -371,8 +371,7 @@
       loader_delegate_(nullptr),
       create_download_handler_intercept_(download_handler_intercept),
       main_thread_task_runner_(base::ThreadTaskRunnerHandle::Get()),
-      io_thread_task_runner_(io_thread_runner),
-      weak_factory_on_io_(this) {
+      io_thread_task_runner_(io_thread_runner) {
   DCHECK(main_thread_task_runner_->BelongsToCurrentThread());
   DCHECK(!g_resource_dispatcher_host);
   g_resource_dispatcher_host = this;
diff --git a/content/browser/loader/resource_dispatcher_host_impl.h b/content/browser/loader/resource_dispatcher_host_impl.h
index e6f8e75..936d45f 100644
--- a/content/browser/loader/resource_dispatcher_host_impl.h
+++ b/content/browser/loader/resource_dispatcher_host_impl.h
@@ -707,7 +707,7 @@
 
   // Used on the IO thread to allow PostTaskAndReply replies to the IO thread
   // to be abandoned if they run after OnShutdown().
-  base::WeakPtrFactory<ResourceDispatcherHostImpl> weak_factory_on_io_;
+  base::WeakPtrFactory<ResourceDispatcherHostImpl> weak_factory_on_io_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ResourceDispatcherHostImpl);
 };
diff --git a/content/browser/loader/resource_loader.cc b/content/browser/loader/resource_loader.cc
index dbec9c9..4296215 100644
--- a/content/browser/loader/resource_loader.cc
+++ b/content/browser/loader/resource_loader.cc
@@ -246,8 +246,7 @@
       started_request_(false),
       times_cancelled_after_request_start_(0),
       resource_context_(resource_context),
-      throttling_token_(std::move(throttling_token)),
-      weak_ptr_factory_(this) {
+      throttling_token_(std::move(throttling_token)) {
   request_->set_delegate(this);
   handler_->SetDelegate(this);
 }
diff --git a/content/browser/loader/resource_loader.h b/content/browser/loader/resource_loader.h
index 8c2ae61..f7a24be 100644
--- a/content/browser/loader/resource_loader.h
+++ b/content/browser/loader/resource_loader.h
@@ -210,7 +210,7 @@
 
   base::ThreadChecker thread_checker_;
 
-  base::WeakPtrFactory<ResourceLoader> weak_ptr_factory_;
+  base::WeakPtrFactory<ResourceLoader> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ResourceLoader);
 };
diff --git a/content/browser/loader/resource_loader_unittest.cc b/content/browser/loader/resource_loader_unittest.cc
index 4db6d4d..47ef262 100644
--- a/content/browser/loader/resource_loader_unittest.cc
+++ b/content/browser/loader/resource_loader_unittest.cc
@@ -156,8 +156,7 @@
  public:
   MockClientCertURLRequestJob(net::URLRequest* request,
                               net::NetworkDelegate* network_delegate)
-      : net::URLRequestTestJob(request, network_delegate),
-        weak_factory_(this) {}
+      : net::URLRequestTestJob(request, network_delegate) {}
 
   static std::vector<std::string> test_authorities() {
     return std::vector<std::string>(1, "dummy");
@@ -183,7 +182,7 @@
  private:
   ~MockClientCertURLRequestJob() override {}
 
-  base::WeakPtrFactory<MockClientCertURLRequestJob> weak_factory_;
+  base::WeakPtrFactory<MockClientCertURLRequestJob> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(MockClientCertURLRequestJob);
 };
diff --git a/content/browser/loader/resource_message_filter.cc b/content/browser/loader/resource_message_filter.cc
index 585999c..8b78d64b 100644
--- a/content/browser/loader/resource_message_filter.cc
+++ b/content/browser/loader/resource_message_filter.cc
@@ -54,8 +54,7 @@
                                                    file_system_context,
                                                    get_contexts_callback)),
       prefetch_url_loader_service_(prefetch_url_loader_service),
-      io_thread_task_runner_(io_thread_runner),
-      weak_ptr_factory_(this) {}
+      io_thread_task_runner_(io_thread_runner) {}
 
 ResourceMessageFilter::~ResourceMessageFilter() {
   DCHECK(io_thread_task_runner_->BelongsToCurrentThread());
diff --git a/content/browser/loader/resource_message_filter.h b/content/browser/loader/resource_message_filter.h
index 7be03ea9..c29fa420f 100644
--- a/content/browser/loader/resource_message_filter.h
+++ b/content/browser/loader/resource_message_filter.h
@@ -122,7 +122,7 @@
   scoped_refptr<base::SingleThreadTaskRunner> io_thread_task_runner_;
 
   // This must come last to make sure weak pointers are invalidated first.
-  base::WeakPtrFactory<ResourceMessageFilter> weak_ptr_factory_;
+  base::WeakPtrFactory<ResourceMessageFilter> weak_ptr_factory_{this};
 
   DISALLOW_IMPLICIT_CONSTRUCTORS(ResourceMessageFilter);
 };
diff --git a/content/browser/loader/source_stream_to_data_pipe.cc b/content/browser/loader/source_stream_to_data_pipe.cc
index 8061f61..42793d7 100644
--- a/content/browser/loader/source_stream_to_data_pipe.cc
+++ b/content/browser/loader/source_stream_to_data_pipe.cc
@@ -18,8 +18,7 @@
       completion_callback_(std::move(completion_callback)),
       writable_handle_watcher_(FROM_HERE,
                                mojo::SimpleWatcher::ArmingPolicy::MANUAL,
-                               base::SequencedTaskRunnerHandle::Get()),
-      weak_factory_(this) {
+                               base::SequencedTaskRunnerHandle::Get()) {
   writable_handle_watcher_.Watch(
       dest_.get(), MOJO_HANDLE_SIGNAL_WRITABLE,
       base::BindRepeating(&SourceStreamToDataPipe::OnDataPipeWritable,
diff --git a/content/browser/loader/source_stream_to_data_pipe.h b/content/browser/loader/source_stream_to_data_pipe.h
index 7ba2daf..f909755a 100644
--- a/content/browser/loader/source_stream_to_data_pipe.h
+++ b/content/browser/loader/source_stream_to_data_pipe.h
@@ -48,7 +48,7 @@
   scoped_refptr<network::NetToMojoPendingBuffer> pending_write_;
   mojo::SimpleWatcher writable_handle_watcher_;
 
-  base::WeakPtrFactory<SourceStreamToDataPipe> weak_factory_;
+  base::WeakPtrFactory<SourceStreamToDataPipe> weak_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/loader/test_resource_handler.cc b/content/browser/loader/test_resource_handler.cc
index 7fc81cd..6dc382e 100644
--- a/content/browser/loader/test_resource_handler.cc
+++ b/content/browser/loader/test_resource_handler.cc
@@ -38,8 +38,7 @@
     : ResourceHandler(nullptr),
       request_status_ptr_(request_status),
       body_ptr_(body),
-      deferred_run_loop_(new base::RunLoop()),
-      weak_ptr_factory_(this) {
+      deferred_run_loop_(new base::RunLoop()) {
   SetBufferSize(2048);
 }
 
diff --git a/content/browser/loader/test_resource_handler.h b/content/browser/loader/test_resource_handler.h
index 21ea03c..da30b244 100644
--- a/content/browser/loader/test_resource_handler.h
+++ b/content/browser/loader/test_resource_handler.h
@@ -219,7 +219,7 @@
 
   base::RunLoop response_complete_run_loop_;
 
-  base::WeakPtrFactory<TestResourceHandler> weak_ptr_factory_;
+  base::WeakPtrFactory<TestResourceHandler> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(TestResourceHandler);
 };
diff --git a/content/browser/locks/lock_manager.cc b/content/browser/locks/lock_manager.cc
index 4fedfea..57f93e4c 100644
--- a/content/browser/locks/lock_manager.cc
+++ b/content/browser/locks/lock_manager.cc
@@ -142,7 +142,7 @@
   mojo::StrongAssociatedBindingPtr<blink::mojom::LockHandle> handle_;
 };
 
-LockManager::LockManager() : weak_ptr_factory_(this) {}
+LockManager::LockManager() {}
 
 LockManager::~LockManager() = default;
 
diff --git a/content/browser/locks/lock_manager.h b/content/browser/locks/lock_manager.h
index 2afc2b57..d123c0c 100644
--- a/content/browser/locks/lock_manager.h
+++ b/content/browser/locks/lock_manager.h
@@ -79,7 +79,7 @@
   std::map<url::Origin, OriginState> origins_;
 
   SEQUENCE_CHECKER(sequence_checker_);
-  base::WeakPtrFactory<LockManager> weak_ptr_factory_;
+  base::WeakPtrFactory<LockManager> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(LockManager);
 };
diff --git a/content/browser/media/audio_loopback_stream_broker.cc b/content/browser/media/audio_loopback_stream_broker.cc
index 474758e..fe58169 100644
--- a/content/browser/media/audio_loopback_stream_broker.cc
+++ b/content/browser/media/audio_loopback_stream_broker.cc
@@ -32,8 +32,7 @@
       shared_memory_count_(shared_memory_count),
       deleter_(std::move(deleter)),
       renderer_factory_client_(std::move(renderer_factory_client)),
-      observer_binding_(this),
-      weak_ptr_factory_(this) {
+      observer_binding_(this) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   DCHECK(source_);
   DCHECK(renderer_factory_client_);
diff --git a/content/browser/media/audio_loopback_stream_broker.h b/content/browser/media/audio_loopback_stream_broker.h
index aa1f6f6..65d8f051 100644
--- a/content/browser/media/audio_loopback_stream_broker.h
+++ b/content/browser/media/audio_loopback_stream_broker.h
@@ -76,7 +76,7 @@
   mojo::Binding<AudioInputStreamObserver> observer_binding_;
   media::mojom::AudioInputStreamClientRequest client_request_;
 
-  base::WeakPtrFactory<AudioLoopbackStreamBroker> weak_ptr_factory_;
+  base::WeakPtrFactory<AudioLoopbackStreamBroker> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(AudioLoopbackStreamBroker);
 };
diff --git a/content/browser/media/audio_output_stream_broker.cc b/content/browser/media/audio_output_stream_broker.cc
index cf1d1c25..0ce7411 100644
--- a/content/browser/media/audio_output_stream_broker.cc
+++ b/content/browser/media/audio_output_stream_broker.cc
@@ -78,8 +78,7 @@
       deleter_(std::move(deleter)),
       client_(std::move(client)),
       observer_(render_process_id, render_frame_id, stream_id),
-      observer_receiver_(&observer_),
-      weak_ptr_factory_(this) {
+      observer_receiver_(&observer_) {
   DCHECK(client_);
   DCHECK(deleter_);
   DCHECK(group_id_);
diff --git a/content/browser/media/audio_output_stream_broker.h b/content/browser/media/audio_output_stream_broker.h
index 8951853..af4f5d9 100644
--- a/content/browser/media/audio_output_stream_broker.h
+++ b/content/browser/media/audio_output_stream_broker.h
@@ -75,7 +75,7 @@
 
   DisconnectReason disconnect_reason_ = DisconnectReason::kDocumentDestroyed;
 
-  base::WeakPtrFactory<AudioOutputStreamBroker> weak_ptr_factory_;
+  base::WeakPtrFactory<AudioOutputStreamBroker> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(AudioOutputStreamBroker);
 };
diff --git a/content/browser/media/capture/desktop_capture_device.cc b/content/browser/media/capture/desktop_capture_device.cc
index e351d04e..bc04d73 100644
--- a/content/browser/media/capture/desktop_capture_device.cc
+++ b/content/browser/media/capture/desktop_capture_device.cc
@@ -197,7 +197,7 @@
   // screen from sleeping for the drive-by web.
   device::mojom::WakeLockPtr wake_lock_;
 
-  base::WeakPtrFactory<Core> weak_factory_;
+  base::WeakPtrFactory<Core> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(Core);
 };
@@ -213,8 +213,7 @@
       capture_in_progress_(false),
       first_capture_returned_(false),
       first_permanent_error_logged(false),
-      capturer_type_(type),
-      weak_factory_(this) {}
+      capturer_type_(type) {}
 
 DesktopCaptureDevice::Core::~Core() {
   DCHECK(task_runner_->BelongsToCurrentThread());
diff --git a/content/browser/media/capture/frame_sink_video_capture_device.cc b/content/browser/media/capture/frame_sink_video_capture_device.cc
index edb2b9e..ccda5c5 100644
--- a/content/browser/media/capture/frame_sink_video_capture_device.cc
+++ b/content/browser/media/capture/frame_sink_video_capture_device.cc
@@ -67,8 +67,7 @@
 
 FrameSinkVideoCaptureDevice::FrameSinkVideoCaptureDevice()
     : cursor_controller_(
-          RescopeToUIThread(std::make_unique<MouseCursorOverlayController>())),
-      weak_factory_(this) {
+          RescopeToUIThread(std::make_unique<MouseCursorOverlayController>())) {
   DCHECK(cursor_controller_);
 }
 
diff --git a/content/browser/media/capture/frame_sink_video_capture_device.h b/content/browser/media/capture/frame_sink_video_capture_device.h
index c130686..1547a01d 100644
--- a/content/browser/media/capture/frame_sink_video_capture_device.h
+++ b/content/browser/media/capture/frame_sink_video_capture_device.h
@@ -168,7 +168,7 @@
   device::mojom::WakeLockPtr wake_lock_;
 
   // Creates WeakPtrs for use on the device thread.
-  base::WeakPtrFactory<FrameSinkVideoCaptureDevice> weak_factory_;
+  base::WeakPtrFactory<FrameSinkVideoCaptureDevice> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(FrameSinkVideoCaptureDevice);
 };
diff --git a/content/browser/media/capture/mouse_cursor_overlay_controller.h b/content/browser/media/capture/mouse_cursor_overlay_controller.h
index 5902ac6d..100ac4a5 100644
--- a/content/browser/media/capture/mouse_cursor_overlay_controller.h
+++ b/content/browser/media/capture/mouse_cursor_overlay_controller.h
@@ -145,7 +145,7 @@
   // called on the UI BrowserThread.
   SEQUENCE_CHECKER(ui_sequence_checker_);
 
-  base::WeakPtrFactory<MouseCursorOverlayController> weak_factory_;
+  base::WeakPtrFactory<MouseCursorOverlayController> weak_factory_{this};
 
   // Minium movement before the cursor has been considered intentionally moved
   // by the user.
diff --git a/content/browser/media/capture/mouse_cursor_overlay_controller_aura.cc b/content/browser/media/capture/mouse_cursor_overlay_controller_aura.cc
index 73768c5..2d642ca6 100644
--- a/content/browser/media/capture/mouse_cursor_overlay_controller_aura.cc
+++ b/content/browser/media/capture/mouse_cursor_overlay_controller_aura.cc
@@ -127,7 +127,7 @@
 };
 
 MouseCursorOverlayController::MouseCursorOverlayController()
-    : mouse_move_behavior_atomic_(kNotMoving), weak_factory_(this) {
+    : mouse_move_behavior_atomic_(kNotMoving) {
   // MouseCursorOverlayController can be constructed on any thread, but
   // thereafter must be used according to class-level comments.
   DETACH_FROM_SEQUENCE(ui_sequence_checker_);
diff --git a/content/browser/media/cdm_file_impl.cc b/content/browser/media/cdm_file_impl.cc
index ab55ff4..d20c292 100644
--- a/content/browser/media/cdm_file_impl.cc
+++ b/content/browser/media/cdm_file_impl.cc
@@ -215,8 +215,7 @@
       origin_(origin),
       file_system_id_(file_system_id),
       file_system_root_uri_(file_system_root_uri),
-      file_system_context_(file_system_context),
-      weak_factory_(this) {
+      file_system_context_(file_system_context) {
   DVLOG(3) << __func__ << " " << file_name_;
   DCHECK(IsValidName(file_name_));
 }
diff --git a/content/browser/media/cdm_file_impl.h b/content/browser/media/cdm_file_impl.h
index e34e77c..1133508 100644
--- a/content/browser/media/cdm_file_impl.h
+++ b/content/browser/media/cdm_file_impl.h
@@ -110,7 +110,7 @@
   std::vector<uint8_t> data_;
 
   THREAD_CHECKER(thread_checker_);
-  base::WeakPtrFactory<CdmFileImpl> weak_factory_;
+  base::WeakPtrFactory<CdmFileImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(CdmFileImpl);
 };
diff --git a/content/browser/media/cdm_storage_impl.cc b/content/browser/media/cdm_storage_impl.cc
index 284cc97..c15e497 100644
--- a/content/browser/media/cdm_storage_impl.cc
+++ b/content/browser/media/cdm_storage_impl.cc
@@ -77,8 +77,7 @@
     : FrameServiceBase(render_frame_host, std::move(request)),
       cdm_file_system_id_(cdm_file_system_id),
       file_system_context_(std::move(file_system_context)),
-      child_process_id_(render_frame_host->GetProcess()->GetID()),
-      weak_factory_(this) {}
+      child_process_id_(render_frame_host->GetProcess()->GetID()) {}
 
 CdmStorageImpl::~CdmStorageImpl() {
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
diff --git a/content/browser/media/cdm_storage_impl.h b/content/browser/media/cdm_storage_impl.h
index ce17c8c6..72a289a6 100644
--- a/content/browser/media/cdm_storage_impl.h
+++ b/content/browser/media/cdm_storage_impl.h
@@ -95,7 +95,7 @@
   // all remaining CdmFile bindings will be closed.
   mojo::StrongAssociatedBindingSet<media::mojom::CdmFile> cdm_file_bindings_;
 
-  base::WeakPtrFactory<CdmStorageImpl> weak_factory_;
+  base::WeakPtrFactory<CdmStorageImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(CdmStorageImpl);
 };
diff --git a/content/browser/media/forwarding_audio_stream_factory.cc b/content/browser/media/forwarding_audio_stream_factory.cc
index ff12ffd6..0ac9c15 100644
--- a/content/browser/media/forwarding_audio_stream_factory.cc
+++ b/content/browser/media/forwarding_audio_stream_factory.cc
@@ -35,8 +35,7 @@
       owner_(std::move(owner)),
       broker_factory_(std::move(broker_factory)),
       group_id_(base::UnguessableToken::Create()),
-      connector_(std::move(connector)),
-      weak_ptr_factory_(this) {
+      connector_(std::move(connector)) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   DCHECK(owner_);
   DCHECK(broker_factory_);
@@ -207,7 +206,7 @@
     media::UserInputMonitorBase* user_input_monitor,
     std::unique_ptr<service_manager::Connector> connector,
     std::unique_ptr<AudioStreamBrokerFactory> broker_factory)
-    : WebContentsObserver(web_contents), core_(), weak_ptr_factory_(this) {
+    : WebContentsObserver(web_contents), core_() {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   core_ =
       std::make_unique<Core>(weak_ptr_factory_.GetWeakPtr(), user_input_monitor,
diff --git a/content/browser/media/forwarding_audio_stream_factory.h b/content/browser/media/forwarding_audio_stream_factory.h
index 8a995de..6048ba8 100644
--- a/content/browser/media/forwarding_audio_stream_factory.h
+++ b/content/browser/media/forwarding_audio_stream_factory.h
@@ -168,7 +168,8 @@
     StreamBrokerSet outputs_;
     base::flat_set<AudioStreamBroker::LoopbackSink*> loopback_sinks_;
 
-    base::WeakPtrFactory<ForwardingAudioStreamFactory::Core> weak_ptr_factory_;
+    base::WeakPtrFactory<ForwardingAudioStreamFactory::Core> weak_ptr_factory_{
+        this};
 
     DISALLOW_COPY_AND_ASSIGN(Core);
   };
@@ -220,7 +221,7 @@
   std::unique_ptr<Core> core_;
   bool is_muted_ = false;
 
-  base::WeakPtrFactory<ForwardingAudioStreamFactory> weak_ptr_factory_;
+  base::WeakPtrFactory<ForwardingAudioStreamFactory> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ForwardingAudioStreamFactory);
 };
diff --git a/content/browser/media/forwarding_audio_stream_factory_unittest.cc b/content/browser/media/forwarding_audio_stream_factory_unittest.cc
index c7c84bb..3b1c735 100644
--- a/content/browser/media/forwarding_audio_stream_factory_unittest.cc
+++ b/content/browser/media/forwarding_audio_stream_factory_unittest.cc
@@ -63,8 +63,7 @@
 class MockBroker : public AudioStreamBroker {
  public:
   explicit MockBroker(RenderFrameHost* rfh)
-      : AudioStreamBroker(rfh->GetProcess()->GetID(), rfh->GetRoutingID()),
-        weak_factory_(this) {}
+      : AudioStreamBroker(rfh->GetProcess()->GetID(), rfh->GetRoutingID()) {}
 
   ~MockBroker() override {}
 
@@ -76,7 +75,7 @@
   DeleterCallback deleter;
 
  private:
-  base::WeakPtrFactory<MockBroker> weak_factory_;
+  base::WeakPtrFactory<MockBroker> weak_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(MockBroker);
 };
 
diff --git a/content/browser/media/midi_host_unittest.cc b/content/browser/media/midi_host_unittest.cc
index d345361..b80cd2ec 100644
--- a/content/browser/media/midi_host_unittest.cc
+++ b/content/browser/media/midi_host_unittest.cc
@@ -48,8 +48,7 @@
 
 class FakeMidiManager : public midi::MidiManager {
  public:
-  explicit FakeMidiManager(midi::MidiService* service)
-      : MidiManager(service), weak_factory_(this) {}
+  explicit FakeMidiManager(midi::MidiService* service) : MidiManager(service) {}
   ~FakeMidiManager() override = default;
 
   base::WeakPtr<FakeMidiManager> GetWeakPtr() {
@@ -65,14 +64,14 @@
   }
   std::vector<MidiEvent> events_;
 
-  base::WeakPtrFactory<FakeMidiManager> weak_factory_;
+  base::WeakPtrFactory<FakeMidiManager> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(FakeMidiManager);
 };
 
 class FakeMidiManagerFactory : public midi::MidiService::ManagerFactory {
  public:
-  FakeMidiManagerFactory() : weak_factory_(this) {}
+  FakeMidiManagerFactory() {}
   ~FakeMidiManagerFactory() override = default;
   std::unique_ptr<midi::MidiManager> Create(
       midi::MidiService* service) override {
@@ -91,7 +90,7 @@
  private:
   base::WeakPtr<FakeMidiManager> manager_;
 
-  base::WeakPtrFactory<FakeMidiManagerFactory> weak_factory_;
+  base::WeakPtrFactory<FakeMidiManagerFactory> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(FakeMidiManagerFactory);
 };
diff --git a/content/browser/network_service_client.cc b/content/browser/network_service_client.cc
index 96a491e..cb60866 100644
--- a/content/browser/network_service_client.cc
+++ b/content/browser/network_service_client.cc
@@ -53,7 +53,7 @@
   explicit SSLErrorDelegate(
       network::mojom::NetworkServiceClient::OnSSLCertificateErrorCallback
           response)
-      : response_(std::move(response)), weak_factory_(this) {}
+      : response_(std::move(response)) {}
   ~SSLErrorDelegate() override {}
   void CancelSSLRequest(int error, const net::SSLInfo* ssl_info) override {
     std::move(response_).Run(error);
@@ -69,7 +69,7 @@
 
  private:
   network::mojom::NetworkServiceClient::OnSSLCertificateErrorCallback response_;
-  base::WeakPtrFactory<SSLErrorDelegate> weak_factory_;
+  base::WeakPtrFactory<SSLErrorDelegate> weak_factory_{this};
 };
 
 // This class lives on the IO thread. It is self-owned and will delete itself
@@ -160,8 +160,7 @@
         url_(url),
         response_headers_(std::move(response_headers)),
         first_auth_attempt_(first_auth_attempt),
-        web_contents_getter_(web_contents_getter),
-        weak_factory_(this) {
+        web_contents_getter_(web_contents_getter) {
     DCHECK_CURRENTLY_ON(BrowserThread::UI);
     auth_challenge_responder_.set_connection_error_handler(base::BindOnce(
         &LoginHandlerDelegate::OnRequestCancelled, base::Unretained(this)));
@@ -247,7 +246,7 @@
   bool first_auth_attempt_;
   ResourceRequestInfo::WebContentsGetter web_contents_getter_;
   std::unique_ptr<LoginDelegate> login_delegate_;
-  base::WeakPtrFactory<LoginHandlerDelegate> weak_factory_;
+  base::WeakPtrFactory<LoginHandlerDelegate> weak_factory_{this};
 };
 
 void HandleFileUploadRequest(
diff --git a/content/browser/notifications/notification_storage.cc b/content/browser/notifications/notification_storage.cc
index e60e4d9..5e1fa0d 100644
--- a/content/browser/notifications/notification_storage.cc
+++ b/content/browser/notifications/notification_storage.cc
@@ -40,8 +40,7 @@
 
 NotificationStorage::NotificationStorage(
     scoped_refptr<ServiceWorkerContextWrapper> service_worker_context)
-    : service_worker_context_(std::move(service_worker_context)),
-      weak_ptr_factory_(this) {}
+    : service_worker_context_(std::move(service_worker_context)) {}
 
 NotificationStorage::~NotificationStorage() = default;
 
diff --git a/content/browser/notifications/notification_storage.h b/content/browser/notifications/notification_storage.h
index 38b92039..7378782 100644
--- a/content/browser/notifications/notification_storage.h
+++ b/content/browser/notifications/notification_storage.h
@@ -50,8 +50,8 @@
 
   scoped_refptr<ServiceWorkerContextWrapper> service_worker_context_;
 
-  base::WeakPtrFactory<NotificationStorage>
-      weak_ptr_factory_;  // Must be last member.
+  base::WeakPtrFactory<NotificationStorage> weak_ptr_factory_{
+      this};  // Must be last member.
 };
 
 }  // namespace content
diff --git a/content/browser/notifications/platform_notification_service_proxy.cc b/content/browser/notifications/platform_notification_service_proxy.cc
index 41c4ac8..c5c1871 100644
--- a/content/browser/notifications/platform_notification_service_proxy.cc
+++ b/content/browser/notifications/platform_notification_service_proxy.cc
@@ -25,9 +25,7 @@
       browser_context_(browser_context),
       notification_service_(
           GetContentClient()->browser()->GetPlatformNotificationService(
-              browser_context)),
-      weak_ptr_factory_ui_(this),
-      weak_ptr_factory_io_(this) {}
+              browser_context)) {}
 
 PlatformNotificationServiceProxy::~PlatformNotificationServiceProxy() = default;
 
diff --git a/content/browser/notifications/platform_notification_service_proxy.h b/content/browser/notifications/platform_notification_service_proxy.h
index 1d0693c..70d20ba 100644
--- a/content/browser/notifications/platform_notification_service_proxy.h
+++ b/content/browser/notifications/platform_notification_service_proxy.h
@@ -109,8 +109,10 @@
   scoped_refptr<ServiceWorkerContextWrapper> service_worker_context_;
   BrowserContext* browser_context_;
   PlatformNotificationService* notification_service_;
-  base::WeakPtrFactory<PlatformNotificationServiceProxy> weak_ptr_factory_ui_;
-  base::WeakPtrFactory<PlatformNotificationServiceProxy> weak_ptr_factory_io_;
+  base::WeakPtrFactory<PlatformNotificationServiceProxy> weak_ptr_factory_ui_{
+      this};
+  base::WeakPtrFactory<PlatformNotificationServiceProxy> weak_ptr_factory_io_{
+      this};
 
   DISALLOW_COPY_AND_ASSIGN(PlatformNotificationServiceProxy);
 };
diff --git a/content/browser/payments/payment_app_database.cc b/content/browser/payments/payment_app_database.cc
index a8e381cb..915a06ab 100644
--- a/content/browser/payments/payment_app_database.cc
+++ b/content/browser/payments/payment_app_database.cc
@@ -122,7 +122,7 @@
 
 PaymentAppDatabase::PaymentAppDatabase(
     scoped_refptr<ServiceWorkerContextWrapper> service_worker_context)
-    : service_worker_context_(service_worker_context), weak_ptr_factory_(this) {
+    : service_worker_context_(service_worker_context) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 }
 
diff --git a/content/browser/payments/payment_app_database.h b/content/browser/payments/payment_app_database.h
index 2652f8e..9c1cbb4 100644
--- a/content/browser/payments/payment_app_database.h
+++ b/content/browser/payments/payment_app_database.h
@@ -225,7 +225,7 @@
       blink::ServiceWorkerStatusCode status);
 
   scoped_refptr<ServiceWorkerContextWrapper> service_worker_context_;
-  base::WeakPtrFactory<PaymentAppDatabase> weak_ptr_factory_;
+  base::WeakPtrFactory<PaymentAppDatabase> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(PaymentAppDatabase);
 };
diff --git a/content/browser/payments/payment_app_provider_impl.cc b/content/browser/payments/payment_app_provider_impl.cc
index adc6c6e..f6a4b3f 100644
--- a/content/browser/payments/payment_app_provider_impl.cc
+++ b/content/browser/payments/payment_app_provider_impl.cc
@@ -104,8 +104,7 @@
         event_type_(event_type),
         service_worker_version_(service_worker_version),
         invoke_payment_app_callback_(std::move(callback)),
-        binding_(this),
-        weak_ptr_factory_(this) {
+        binding_(this) {
     request_id_ = service_worker_version->StartRequest(
         event_type, base::BindOnce(&RespondWithCallbacks::OnErrorStatus,
                                    weak_ptr_factory_.GetWeakPtr()));
@@ -122,8 +121,7 @@
         event_type_(event_type),
         service_worker_version_(service_worker_version),
         payment_event_result_callback_(std::move(callback)),
-        binding_(this),
-        weak_ptr_factory_(this) {
+        binding_(this) {
     request_id_ = service_worker_version->StartRequest(
         event_type, base::BindOnce(&RespondWithCallbacks::OnErrorStatus,
                                    weak_ptr_factory_.GetWeakPtr()));
@@ -250,7 +248,7 @@
   PaymentAppProvider::PaymentEventResultCallback payment_event_result_callback_;
   mojo::Binding<payments::mojom::PaymentHandlerResponseCallback> binding_;
 
-  base::WeakPtrFactory<RespondWithCallbacks> weak_ptr_factory_;
+  base::WeakPtrFactory<RespondWithCallbacks> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(RespondWithCallbacks);
 };
diff --git a/content/browser/payments/payment_manager.cc b/content/browser/payments/payment_manager.cc
index f363165..7a5416a3 100644
--- a/content/browser/payments/payment_manager.cc
+++ b/content/browser/payments/payment_manager.cc
@@ -26,8 +26,7 @@
     PaymentAppContextImpl* payment_app_context,
     mojo::InterfaceRequest<payments::mojom::PaymentManager> request)
     : payment_app_context_(payment_app_context),
-      binding_(this, std::move(request)),
-      weak_ptr_factory_(this) {
+      binding_(this, std::move(request)) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   DCHECK(payment_app_context);
 
diff --git a/content/browser/payments/payment_manager.h b/content/browser/payments/payment_manager.h
index bb37eca5..b35ec0d2 100644
--- a/content/browser/payments/payment_manager.h
+++ b/content/browser/payments/payment_manager.h
@@ -63,7 +63,7 @@
   GURL context_url_;
   GURL scope_;
   mojo::Binding<payments::mojom::PaymentManager> binding_;
-  base::WeakPtrFactory<PaymentManager> weak_ptr_factory_;
+  base::WeakPtrFactory<PaymentManager> weak_ptr_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(PaymentManager);
 };
 
diff --git a/content/browser/permissions/permission_service_impl.cc b/content/browser/permissions/permission_service_impl.cc
index 75a05f47..4c5760c 100644
--- a/content/browser/permissions/permission_service_impl.cc
+++ b/content/browser/permissions/permission_service_impl.cc
@@ -155,7 +155,7 @@
 
 PermissionServiceImpl::PermissionServiceImpl(PermissionServiceContext* context,
                                              const url::Origin& origin)
-    : context_(context), origin_(origin), weak_factory_(this) {}
+    : context_(context), origin_(origin) {}
 
 PermissionServiceImpl::~PermissionServiceImpl() {}
 
diff --git a/content/browser/permissions/permission_service_impl.h b/content/browser/permissions/permission_service_impl.h
index 8f637196..a1bca4f 100644
--- a/content/browser/permissions/permission_service_impl.h
+++ b/content/browser/permissions/permission_service_impl.h
@@ -73,7 +73,7 @@
   // context_ owns |this|.
   PermissionServiceContext* context_;
   const url::Origin origin_;
-  base::WeakPtrFactory<PermissionServiceImpl> weak_factory_;
+  base::WeakPtrFactory<PermissionServiceImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(PermissionServiceImpl);
 };
diff --git a/content/browser/ppapi_plugin_process_host.cc b/content/browser/ppapi_plugin_process_host.cc
index 56a1b68..68a9f856 100644
--- a/content/browser/ppapi_plugin_process_host.cc
+++ b/content/browser/ppapi_plugin_process_host.cc
@@ -152,9 +152,7 @@
     : public network::NetworkConnectionTracker::NetworkConnectionObserver {
  public:
   explicit PluginNetworkObserver(PpapiPluginProcessHost* process_host)
-      : process_host_(process_host),
-        network_connection_tracker_(nullptr),
-        weak_factory_(this) {
+      : process_host_(process_host), network_connection_tracker_(nullptr) {
     GetNetworkConnectionTrackerFromUIThread(
         base::BindOnce(&PluginNetworkObserver::SetNetworkConnectionTracker,
                        weak_factory_.GetWeakPtr()));
@@ -180,7 +178,7 @@
  private:
   PpapiPluginProcessHost* const process_host_;
   network::NetworkConnectionTracker* network_connection_tracker_;
-  base::WeakPtrFactory<PluginNetworkObserver> weak_factory_;
+  base::WeakPtrFactory<PluginNetworkObserver> weak_factory_{this};
 };
 
 PpapiPluginProcessHost::~PpapiPluginProcessHost() {
diff --git a/content/browser/presentation/presentation_service_impl.cc b/content/browser/presentation/presentation_service_impl.cc
index e4c81a6..7785c39 100644
--- a/content/browser/presentation/presentation_service_impl.cc
+++ b/content/browser/presentation/presentation_service_impl.cc
@@ -69,8 +69,7 @@
       // TODO(imcheng): Consider using RenderFrameHost* directly instead of IDs.
       render_process_id_(render_frame_host->GetProcess()->GetID()),
       render_frame_id_(render_frame_host->GetRoutingID()),
-      is_main_frame_(!render_frame_host->GetParent()),
-      weak_factory_(this) {
+      is_main_frame_(!render_frame_host->GetParent()) {
   DCHECK(render_frame_host_);
   DCHECK(web_contents);
   CHECK(render_frame_host_->IsRenderFrameLive());
diff --git a/content/browser/presentation/presentation_service_impl.h b/content/browser/presentation/presentation_service_impl.h
index 2306ba95..d4a44d1 100644
--- a/content/browser/presentation/presentation_service_impl.h
+++ b/content/browser/presentation/presentation_service_impl.h
@@ -281,7 +281,7 @@
   bool is_main_frame_;
 
   // NOTE: Weak pointers must be invalidated before all other member variables.
-  base::WeakPtrFactory<PresentationServiceImpl> weak_factory_;
+  base::WeakPtrFactory<PresentationServiceImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(PresentationServiceImpl);
 };
diff --git a/content/browser/push_messaging/push_messaging_manager.cc b/content/browser/push_messaging/push_messaging_manager.cc
index 629c2f4..cfcdb90 100644
--- a/content/browser/push_messaging/push_messaging_manager.cc
+++ b/content/browser/push_messaging/push_messaging_manager.cc
@@ -241,7 +241,7 @@
 
   bool is_incognito_;
 
-  base::WeakPtrFactory<Core> weak_factory_ui_to_ui_;
+  base::WeakPtrFactory<Core> weak_factory_ui_to_ui_{this};
 
   DISALLOW_COPY_AND_ASSIGN(Core);
 };
@@ -255,8 +255,7 @@
     int render_frame_id)
     : io_parent_(io_parent),
       render_process_id_(render_process_id),
-      render_frame_id_(render_frame_id),
-      weak_factory_ui_to_ui_(this) {
+      render_frame_id_(render_frame_id) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   RenderProcessHost* process_host =
       RenderProcessHost::FromID(render_process_id_);  // Can't be null yet.
@@ -270,8 +269,7 @@
     int render_frame_id,
     ServiceWorkerContextWrapper* service_worker_context)
     : service_worker_context_(service_worker_context),
-      render_frame_id_(render_frame_id),
-      weak_factory_(this) {
+      render_frame_id_(render_frame_id) {
   // Although this class is used only on the IO thread, it is constructed on UI.
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   // Normally, it would be unsafe to obtain a weak pointer from the UI thread,
diff --git a/content/browser/push_messaging/push_messaging_manager.h b/content/browser/push_messaging/push_messaging_manager.h
index c27bab0..c3436f9 100644
--- a/content/browser/push_messaging/push_messaging_manager.h
+++ b/content/browser/push_messaging/push_messaging_manager.h
@@ -152,7 +152,7 @@
 
   mojo::ReceiverSet<blink::mojom::PushMessaging> receivers_;
 
-  base::WeakPtrFactory<PushMessagingManager> weak_factory_;
+  base::WeakPtrFactory<PushMessagingManager> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(PushMessagingManager);
 };
diff --git a/content/browser/quota_dispatcher_host.cc b/content/browser/quota_dispatcher_host.cc
index f1626f3..91bbbd59 100644
--- a/content/browser/quota_dispatcher_host.cc
+++ b/content/browser/quota_dispatcher_host.cc
@@ -83,8 +83,7 @@
     : process_id_(process_id),
       render_frame_id_(render_frame_id),
       quota_manager_(quota_manager),
-      permission_context_(std::move(permission_context)),
-      weak_factory_(this) {
+      permission_context_(std::move(permission_context)) {
   DCHECK(quota_manager);
   // TODO(sashab): Work out the conditions for permission_context to be set and
   // add a DCHECK for it here.
diff --git a/content/browser/quota_dispatcher_host.h b/content/browser/quota_dispatcher_host.h
index 8029c9d..680f491f 100644
--- a/content/browser/quota_dispatcher_host.h
+++ b/content/browser/quota_dispatcher_host.h
@@ -87,7 +87,7 @@
   scoped_refptr<storage::QuotaManager> quota_manager_;
   scoped_refptr<QuotaPermissionContext> permission_context_;
 
-  base::WeakPtrFactory<QuotaDispatcherHost> weak_factory_;
+  base::WeakPtrFactory<QuotaDispatcherHost> weak_factory_{this};
 
   DISALLOW_IMPLICIT_CONSTRUCTORS(QuotaDispatcherHost);
 };
diff --git a/content/browser/renderer_host/code_cache_host_impl.cc b/content/browser/renderer_host/code_cache_host_impl.cc
index e32f490..dac52c0 100644
--- a/content/browser/renderer_host/code_cache_host_impl.cc
+++ b/content/browser/renderer_host/code_cache_host_impl.cc
@@ -101,8 +101,7 @@
     scoped_refptr<GeneratedCodeCacheContext> generated_code_cache_context)
     : render_process_id_(render_process_id),
       cache_storage_context_(std::move(cache_storage_context)),
-      generated_code_cache_context_(std::move(generated_code_cache_context)),
-      weak_ptr_factory_(this) {}
+      generated_code_cache_context_(std::move(generated_code_cache_context)) {}
 
 CodeCacheHostImpl::~CodeCacheHostImpl() {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
diff --git a/content/browser/renderer_host/code_cache_host_impl.h b/content/browser/renderer_host/code_cache_host_impl.h
index 74370c1bd..bae531f2 100644
--- a/content/browser/renderer_host/code_cache_host_impl.h
+++ b/content/browser/renderer_host/code_cache_host_impl.h
@@ -91,7 +91,7 @@
 
   scoped_refptr<GeneratedCodeCacheContext> generated_code_cache_context_;
 
-  base::WeakPtrFactory<CodeCacheHostImpl> weak_ptr_factory_;
+  base::WeakPtrFactory<CodeCacheHostImpl> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(CodeCacheHostImpl);
 };
diff --git a/content/browser/renderer_host/delegated_frame_host.cc b/content/browser/renderer_host/delegated_frame_host.cc
index d749f1c..9b4eccf 100644
--- a/content/browser/renderer_host/delegated_frame_host.cc
+++ b/content/browser/renderer_host/delegated_frame_host.cc
@@ -52,8 +52,7 @@
       enable_viz_(features::IsVizDisplayCompositorEnabled()),
       should_register_frame_sink_id_(should_register_frame_sink_id),
       host_frame_sink_manager_(GetHostFrameSinkManager()),
-      frame_evictor_(std::make_unique<viz::FrameEvictor>(this)),
-      weak_factory_(this) {
+      frame_evictor_(std::make_unique<viz::FrameEvictor>(this)) {
   ImageTransportFactory* factory = ImageTransportFactory::GetInstance();
   factory->GetContextFactory()->AddObserver(this);
   DCHECK(host_frame_sink_manager_);
diff --git a/content/browser/renderer_host/delegated_frame_host.h b/content/browser/renderer_host/delegated_frame_host.h
index ef202d7..3368e61 100644
--- a/content/browser/renderer_host/delegated_frame_host.h
+++ b/content/browser/renderer_host/delegated_frame_host.h
@@ -245,7 +245,7 @@
 
   TabSwitchTimeRecorder tab_switch_time_recorder_;
 
-  base::WeakPtrFactory<DelegatedFrameHost> weak_factory_;
+  base::WeakPtrFactory<DelegatedFrameHost> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(DelegatedFrameHost);
 };
diff --git a/content/browser/renderer_host/input/fling_controller.cc b/content/browser/renderer_host/input/fling_controller.cc
index 2fa90a1..80acce8 100644
--- a/content/browser/renderer_host/input/fling_controller.cc
+++ b/content/browser/renderer_host/input/fling_controller.cc
@@ -51,8 +51,7 @@
           config.touchpad_tap_suppression_config),
       touchscreen_tap_suppression_controller_(
           config.touchscreen_tap_suppression_config),
-      clock_(base::DefaultTickClock::GetInstance()),
-      weak_ptr_factory_(this) {
+      clock_(base::DefaultTickClock::GetInstance()) {
   DCHECK(event_sender_client);
   DCHECK(scheduler_client);
 }
diff --git a/content/browser/renderer_host/input/fling_controller.h b/content/browser/renderer_host/input/fling_controller.h
index a71152d..cf14c1d 100644
--- a/content/browser/renderer_host/input/fling_controller.h
+++ b/content/browser/renderer_host/input/fling_controller.h
@@ -173,7 +173,7 @@
   // starting time for a possible fling gesture curve.
   base::TimeTicks last_seen_scroll_update_;
 
-  base::WeakPtrFactory<FlingController> weak_ptr_factory_;
+  base::WeakPtrFactory<FlingController> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(FlingController);
 };
diff --git a/content/browser/renderer_host/input/input_router_impl.cc b/content/browser/renderer_host/input/input_router_impl.cc
index bdf3bb96..b4757203 100644
--- a/content/browser/renderer_host/input/input_router_impl.cc
+++ b/content/browser/renderer_host/input/input_router_impl.cc
@@ -90,8 +90,7 @@
                            config.gesture_config),
       device_scale_factor_(1.f),
       compositor_touch_action_enabled_(
-          base::FeatureList::IsEnabled(features::kCompositorTouchAction)),
-      weak_ptr_factory_(this) {
+          base::FeatureList::IsEnabled(features::kCompositorTouchAction)) {
   weak_this_ = weak_ptr_factory_.GetWeakPtr();
 
   DCHECK(client);
diff --git a/content/browser/renderer_host/input/input_router_impl.h b/content/browser/renderer_host/input/input_router_impl.h
index 9d04f90..14c45147 100644
--- a/content/browser/renderer_host/input/input_router_impl.h
+++ b/content/browser/renderer_host/input/input_router_impl.h
@@ -263,7 +263,7 @@
   mojo::Receiver<mojom::WidgetInputHandlerHost> frame_host_receiver_{this};
 
   base::WeakPtr<InputRouterImpl> weak_this_;
-  base::WeakPtrFactory<InputRouterImpl> weak_ptr_factory_;
+  base::WeakPtrFactory<InputRouterImpl> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(InputRouterImpl);
 };
diff --git a/content/browser/renderer_host/input/synthetic_gesture_controller.cc b/content/browser/renderer_host/input/synthetic_gesture_controller.cc
index b6c887fb..dda9d3e 100644
--- a/content/browser/renderer_host/input/synthetic_gesture_controller.cc
+++ b/content/browser/renderer_host/input/synthetic_gesture_controller.cc
@@ -19,9 +19,7 @@
 SyntheticGestureController::SyntheticGestureController(
     Delegate* delegate,
     std::unique_ptr<SyntheticGestureTarget> gesture_target)
-    : delegate_(delegate),
-      gesture_target_(std::move(gesture_target)),
-      weak_ptr_factory_(this) {
+    : delegate_(delegate), gesture_target_(std::move(gesture_target)) {
   DCHECK(delegate_);
 }
 
diff --git a/content/browser/renderer_host/input/synthetic_gesture_controller.h b/content/browser/renderer_host/input/synthetic_gesture_controller.h
index efa6133..578edefe 100644
--- a/content/browser/renderer_host/input/synthetic_gesture_controller.h
+++ b/content/browser/renderer_host/input/synthetic_gesture_controller.h
@@ -131,7 +131,7 @@
   } pending_gesture_queue_;
 
   base::RepeatingTimer dispatch_timer_;
-  base::WeakPtrFactory<SyntheticGestureController> weak_ptr_factory_;
+  base::WeakPtrFactory<SyntheticGestureController> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(SyntheticGestureController);
 };
diff --git a/content/browser/renderer_host/media/audio_input_delegate_impl.cc b/content/browser/renderer_host/media/audio_input_delegate_impl.cc
index 48a2088..5d6c531 100644
--- a/content/browser/renderer_host/media/audio_input_delegate_impl.cc
+++ b/content/browser/renderer_host/media/audio_input_delegate_impl.cc
@@ -181,8 +181,7 @@
       controller_(),
       keyboard_mic_registration_(std::move(keyboard_mic_registration)),
       stream_id_(stream_id),
-      render_process_id_(render_process_id),
-      weak_factory_(this) {
+      render_process_id_(render_process_id) {
   // Prevent process backgrounding while audio input is active:
   base::PostTaskWithTraits(
       FROM_HERE, {BrowserThread::UI},
diff --git a/content/browser/renderer_host/media/audio_input_delegate_impl.h b/content/browser/renderer_host/media/audio_input_delegate_impl.h
index a2ef91d..fc01ed3b 100644
--- a/content/browser/renderer_host/media/audio_input_delegate_impl.h
+++ b/content/browser/renderer_host/media/audio_input_delegate_impl.h
@@ -101,7 +101,7 @@
       keyboard_mic_registration_;
   const int stream_id_;
   const int render_process_id_;
-  base::WeakPtrFactory<AudioInputDelegateImpl> weak_factory_;
+  base::WeakPtrFactory<AudioInputDelegateImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(AudioInputDelegateImpl);
 };
diff --git a/content/browser/renderer_host/media/audio_output_authorization_handler.cc b/content/browser/renderer_host/media/audio_output_authorization_handler.cc
index 21f3b537..9f7f449 100644
--- a/content/browser/renderer_host/media/audio_output_authorization_handler.cc
+++ b/content/browser/renderer_host/media/audio_output_authorization_handler.cc
@@ -132,8 +132,7 @@
     int render_process_id)
     : audio_system_(audio_system),
       media_stream_manager_(media_stream_manager),
-      render_process_id_(render_process_id),
-      weak_factory_(this) {
+      render_process_id_(render_process_id) {
   DCHECK(media_stream_manager_);
 }
 
diff --git a/content/browser/renderer_host/media/audio_output_authorization_handler.h b/content/browser/renderer_host/media/audio_output_authorization_handler.h
index faf06ff1..a6c1efcf 100644
--- a/content/browser/renderer_host/media/audio_output_authorization_handler.h
+++ b/content/browser/renderer_host/media/audio_output_authorization_handler.h
@@ -107,7 +107,7 @@
   // All access is on the IO thread, and taking a weak pointer to const looks
   // const, so this can be mutable.
   mutable base::WeakPtrFactory<const AudioOutputAuthorizationHandler>
-      weak_factory_;
+      weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(AudioOutputAuthorizationHandler);
 };
diff --git a/content/browser/renderer_host/media/audio_output_delegate_impl.cc b/content/browser/renderer_host/media/audio_output_delegate_impl.cc
index 4c516cd..ed251442 100644
--- a/content/browser/renderer_host/media/audio_output_delegate_impl.cc
+++ b/content/browser/renderer_host/media/audio_output_delegate_impl.cc
@@ -139,8 +139,7 @@
       reader_(std::move(reader)),
       foreign_socket_(std::move(foreign_socket)),
       stream_id_(stream_id),
-      observer_(std::move(observer)),
-      weak_factory_(this) {
+      observer_(std::move(observer)) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   DCHECK(subscriber_);
   DCHECK(audio_manager);
diff --git a/content/browser/renderer_host/media/audio_output_delegate_impl.h b/content/browser/renderer_host/media/audio_output_delegate_impl.h
index 59f0fc8..ebbc052a7 100644
--- a/content/browser/renderer_host/media/audio_output_delegate_impl.h
+++ b/content/browser/renderer_host/media/audio_output_delegate_impl.h
@@ -102,7 +102,7 @@
   // |observer_| is notified about changes in the audible state of the stream.
   media::mojom::AudioOutputStreamObserverPtr observer_;
 
-  base::WeakPtrFactory<AudioOutputDelegateImpl> weak_factory_;
+  base::WeakPtrFactory<AudioOutputDelegateImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(AudioOutputDelegateImpl);
 };
diff --git a/content/browser/renderer_host/media/media_devices_dispatcher_host.cc b/content/browser/renderer_host/media/media_devices_dispatcher_host.cc
index de160ca6..dfeac130 100644
--- a/content/browser/renderer_host/media/media_devices_dispatcher_host.cc
+++ b/content/browser/renderer_host/media/media_devices_dispatcher_host.cc
@@ -79,8 +79,7 @@
     : render_process_id_(render_process_id),
       render_frame_id_(render_frame_id),
       media_stream_manager_(media_stream_manager),
-      num_pending_audio_input_parameters_(0),
-      weak_factory_(this) {
+      num_pending_audio_input_parameters_(0) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 }
 
diff --git a/content/browser/renderer_host/media/media_devices_dispatcher_host.h b/content/browser/renderer_host/media/media_devices_dispatcher_host.h
index d02bffb..7d80341 100644
--- a/content/browser/renderer_host/media/media_devices_dispatcher_host.h
+++ b/content/browser/renderer_host/media/media_devices_dispatcher_host.h
@@ -126,7 +126,7 @@
 
   std::vector<uint32_t> subscription_ids_;
 
-  base::WeakPtrFactory<MediaDevicesDispatcherHost> weak_factory_;
+  base::WeakPtrFactory<MediaDevicesDispatcherHost> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(MediaDevicesDispatcherHost);
 };
diff --git a/content/browser/renderer_host/media/media_devices_manager.cc b/content/browser/renderer_host/media/media_devices_manager.cc
index 2d04cea..b124bd7b 100644
--- a/content/browser/renderer_host/media/media_devices_manager.cc
+++ b/content/browser/renderer_host/media/media_devices_manager.cc
@@ -300,7 +300,7 @@
     : public audio::mojom::DeviceListener {
  public:
   explicit AudioServiceDeviceListener(service_manager::Connector* connector)
-      : binding_(this), weak_factory_(this) {
+      : binding_(this) {
     TryConnectToService(connector);
   }
   ~AudioServiceDeviceListener() override = default;
@@ -367,7 +367,7 @@
 
   SEQUENCE_CHECKER(sequence_checker_);
 
-  base::WeakPtrFactory<AudioServiceDeviceListener> weak_factory_;
+  base::WeakPtrFactory<AudioServiceDeviceListener> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(AudioServiceDeviceListener);
 };
@@ -387,8 +387,7 @@
       cache_infos_(blink::NUM_MEDIA_DEVICE_TYPES),
       monitoring_started_(false),
       salt_and_origin_callback_(
-          base::BindRepeating(&GetMediaDeviceSaltAndOrigin)),
-      weak_factory_(this) {
+          base::BindRepeating(&GetMediaDeviceSaltAndOrigin)) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   DCHECK(audio_system_);
   DCHECK(video_capture_manager_.get());
diff --git a/content/browser/renderer_host/media/media_devices_manager.h b/content/browser/renderer_host/media/media_devices_manager.h
index 450830a..e2db9c4a 100644
--- a/content/browser/renderer_host/media/media_devices_manager.h
+++ b/content/browser/renderer_host/media/media_devices_manager.h
@@ -331,7 +331,7 @@
   std::map<uint32_t, EnumerationState> enumeration_states_;
   uint32_t next_enumeration_state_id_ = 0;
 
-  base::WeakPtrFactory<MediaDevicesManager> weak_factory_;
+  base::WeakPtrFactory<MediaDevicesManager> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(MediaDevicesManager);
 };
diff --git a/content/browser/renderer_host/media/media_stream_dispatcher_host.cc b/content/browser/renderer_host/media/media_stream_dispatcher_host.cc
index 094e166..8e5d07e 100644
--- a/content/browser/renderer_host/media/media_stream_dispatcher_host.cc
+++ b/content/browser/renderer_host/media/media_stream_dispatcher_host.cc
@@ -49,8 +49,7 @@
       requester_id_(next_requester_id_++),
       media_stream_manager_(media_stream_manager),
       salt_and_origin_callback_(
-          base::BindRepeating(&GetMediaDeviceSaltAndOrigin)),
-      weak_factory_(this) {
+          base::BindRepeating(&GetMediaDeviceSaltAndOrigin)) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 }
 
diff --git a/content/browser/renderer_host/media/media_stream_dispatcher_host.h b/content/browser/renderer_host/media/media_stream_dispatcher_host.h
index 53b517b..d4b593cd 100644
--- a/content/browser/renderer_host/media/media_stream_dispatcher_host.h
+++ b/content/browser/renderer_host/media/media_stream_dispatcher_host.h
@@ -96,7 +96,7 @@
   blink::mojom::MediaStreamDeviceObserverPtr media_stream_device_observer_;
   MediaDeviceSaltAndOriginCallback salt_and_origin_callback_;
 
-  base::WeakPtrFactory<MediaStreamDispatcherHost> weak_factory_;
+  base::WeakPtrFactory<MediaStreamDispatcherHost> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(MediaStreamDispatcherHost);
 };
diff --git a/content/browser/renderer_host/media/media_stream_ui_proxy.cc b/content/browser/renderer_host/media/media_stream_ui_proxy.cc
index e3ea07d..fa85bf5 100644
--- a/content/browser/renderer_host/media/media_stream_ui_proxy.cc
+++ b/content/browser/renderer_host/media/media_stream_ui_proxy.cc
@@ -91,7 +91,7 @@
 
   // WeakPtr<> is used to RequestMediaAccessPermission() because there is no way
   // cancel media requests.
-  base::WeakPtrFactory<Core> weak_factory_;
+  base::WeakPtrFactory<Core> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(Core);
 };
@@ -100,8 +100,7 @@
                                RenderFrameHostDelegate* test_render_delegate)
     : proxy_(proxy),
       tests_use_fake_render_frame_hosts_(test_render_delegate != nullptr),
-      test_render_delegate_(test_render_delegate),
-      weak_factory_(this) {}
+      test_render_delegate_(test_render_delegate) {}
 
 MediaStreamUIProxy::Core::~Core() {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -229,8 +228,7 @@
 }
 
 MediaStreamUIProxy::MediaStreamUIProxy(
-    RenderFrameHostDelegate* test_render_delegate)
-    : weak_factory_(this) {
+    RenderFrameHostDelegate* test_render_delegate) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   core_.reset(new Core(weak_factory_.GetWeakPtr(), test_render_delegate));
 }
diff --git a/content/browser/renderer_host/media/media_stream_ui_proxy.h b/content/browser/renderer_host/media/media_stream_ui_proxy.h
index 7e92847..4032555 100644
--- a/content/browser/renderer_host/media/media_stream_ui_proxy.h
+++ b/content/browser/renderer_host/media/media_stream_ui_proxy.h
@@ -80,7 +80,7 @@
   base::OnceClosure stop_callback_;
   MediaStreamUI::SourceCallback source_callback_;
 
-  base::WeakPtrFactory<MediaStreamUIProxy> weak_factory_;
+  base::WeakPtrFactory<MediaStreamUIProxy> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(MediaStreamUIProxy);
 };
diff --git a/content/browser/renderer_host/media/old_render_frame_audio_input_stream_factory.cc b/content/browser/renderer_host/media/old_render_frame_audio_input_stream_factory.cc
index 0b4710c2..3440177 100644
--- a/content/browser/renderer_host/media/old_render_frame_audio_input_stream_factory.cc
+++ b/content/browser/renderer_host/media/old_render_frame_audio_input_stream_factory.cc
@@ -112,8 +112,7 @@
     : create_delegate_callback_(std::move(create_delegate_callback)),
       media_stream_manager_(media_stream_manager),
       render_process_id_(render_process_id),
-      render_frame_id_(render_frame_id),
-      weak_ptr_factory_(this) {
+      render_frame_id_(render_frame_id) {
   DCHECK(create_delegate_callback_);
   // No thread-hostile state has been initialized yet, so we don't have to bind
   // to this specific thread.
diff --git a/content/browser/renderer_host/media/old_render_frame_audio_input_stream_factory.h b/content/browser/renderer_host/media/old_render_frame_audio_input_stream_factory.h
index 1a7799ba..bcb6c2fb2 100644
--- a/content/browser/renderer_host/media/old_render_frame_audio_input_stream_factory.h
+++ b/content/browser/renderer_host/media/old_render_frame_audio_input_stream_factory.h
@@ -106,7 +106,8 @@
   InputStreamSet streams_;
   int next_stream_id_ = 0;
 
-  base::WeakPtrFactory<OldRenderFrameAudioInputStreamFactory> weak_ptr_factory_;
+  base::WeakPtrFactory<OldRenderFrameAudioInputStreamFactory> weak_ptr_factory_{
+      this};
 
   DISALLOW_COPY_AND_ASSIGN(OldRenderFrameAudioInputStreamFactory);
 };
diff --git a/content/browser/renderer_host/media/old_render_frame_audio_output_stream_factory.cc b/content/browser/renderer_host/media/old_render_frame_audio_output_stream_factory.cc
index decde86..6ac3c43 100644
--- a/content/browser/renderer_host/media/old_render_frame_audio_output_stream_factory.cc
+++ b/content/browser/renderer_host/media/old_render_frame_audio_output_stream_factory.cc
@@ -62,9 +62,7 @@
 OldRenderFrameAudioOutputStreamFactory::OldRenderFrameAudioOutputStreamFactory(
     int render_frame_id,
     RendererAudioOutputStreamFactoryContext* context)
-    : render_frame_id_(render_frame_id),
-      context_(context),
-      weak_ptr_factory_(this) {
+    : render_frame_id_(render_frame_id), context_(context) {
   DCHECK(context_);
 }
 
diff --git a/content/browser/renderer_host/media/old_render_frame_audio_output_stream_factory.h b/content/browser/renderer_host/media/old_render_frame_audio_output_stream_factory.h
index f0d2413..3d286dd 100644
--- a/content/browser/renderer_host/media/old_render_frame_audio_output_stream_factory.h
+++ b/content/browser/renderer_host/media/old_render_frame_audio_output_stream_factory.h
@@ -71,7 +71,7 @@
   int next_stream_id_ = 0;
 
   base::WeakPtrFactory<OldRenderFrameAudioOutputStreamFactory>
-      weak_ptr_factory_;
+      weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(OldRenderFrameAudioOutputStreamFactory);
 };
diff --git a/content/browser/renderer_host/media/ref_counted_video_source_provider.cc b/content/browser/renderer_host/media/ref_counted_video_source_provider.cc
index d2782c2b..b02fcc94c 100644
--- a/content/browser/renderer_host/media/ref_counted_video_source_provider.cc
+++ b/content/browser/renderer_host/media/ref_counted_video_source_provider.cc
@@ -12,8 +12,7 @@
     base::OnceClosure destruction_cb)
     : source_provider_(std::move(source_provider)),
       device_factory_provider_(std::move(device_factory_provider)),
-      destruction_cb_(std::move(destruction_cb)),
-      weak_ptr_factory_(this) {}
+      destruction_cb_(std::move(destruction_cb)) {}
 
 RefCountedVideoSourceProvider::~RefCountedVideoSourceProvider() {
   std::move(destruction_cb_).Run();
diff --git a/content/browser/renderer_host/media/ref_counted_video_source_provider.h b/content/browser/renderer_host/media/ref_counted_video_source_provider.h
index 5b8bfae..105843f3 100644
--- a/content/browser/renderer_host/media/ref_counted_video_source_provider.h
+++ b/content/browser/renderer_host/media/ref_counted_video_source_provider.h
@@ -42,7 +42,7 @@
   video_capture::mojom::VideoSourceProviderPtr source_provider_;
   video_capture::mojom::DeviceFactoryProviderPtr device_factory_provider_;
   base::OnceClosure destruction_cb_;
-  base::WeakPtrFactory<RefCountedVideoSourceProvider> weak_ptr_factory_;
+  base::WeakPtrFactory<RefCountedVideoSourceProvider> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(RefCountedVideoSourceProvider);
 };
diff --git a/content/browser/renderer_host/media/render_frame_audio_input_stream_factory.cc b/content/browser/renderer_host/media/render_frame_audio_input_stream_factory.cc
index 1345bb3e..9db19dc 100644
--- a/content/browser/renderer_host/media/render_frame_audio_input_stream_factory.cc
+++ b/content/browser/renderer_host/media/render_frame_audio_input_stream_factory.cc
@@ -148,7 +148,7 @@
   // Always null-check this weak pointer before dereferencing it.
   base::WeakPtr<ForwardingAudioStreamFactory::Core> forwarding_factory_;
 
-  base::WeakPtrFactory<Core> weak_ptr_factory_;
+  base::WeakPtrFactory<Core> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(Core);
 };
@@ -182,8 +182,7 @@
       process_id_(render_frame_host->GetProcess()->GetID()),
       frame_id_(render_frame_host->GetRoutingID()),
       origin_(render_frame_host->GetLastCommittedOrigin()),
-      binding_(this),
-      weak_ptr_factory_(this) {
+      binding_(this) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
   ForwardingAudioStreamFactory::Core* tmp_factory =
diff --git a/content/browser/renderer_host/media/render_frame_audio_output_stream_factory.cc b/content/browser/renderer_host/media/render_frame_audio_output_stream_factory.cc
index a1c650a..9595d60 100644
--- a/content/browser/renderer_host/media/render_frame_audio_output_stream_factory.cc
+++ b/content/browser/renderer_host/media/render_frame_audio_output_stream_factory.cc
@@ -141,7 +141,7 @@
 
   // Weak pointers are used to cancel device authorizations that are in flight
   // while |this| is destructed.
-  base::WeakPtrFactory<Core> weak_ptr_factory_;
+  base::WeakPtrFactory<Core> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(Core);
 };
@@ -183,8 +183,7 @@
     : process_id_(frame->GetProcess()->GetID()),
       frame_id_(frame->GetRoutingID()),
       authorization_handler_(audio_system, media_stream_manager, process_id_),
-      binding_(this),
-      weak_ptr_factory_(this) {
+      binding_(this) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
   ForwardingAudioStreamFactory::Core* tmp_factory =
diff --git a/content/browser/renderer_host/media/service_video_capture_provider.cc b/content/browser/renderer_host/media/service_video_capture_provider.cc
index bf0df782..d32c8e6 100644
--- a/content/browser/renderer_host/media/service_video_capture_provider.cc
+++ b/content/browser/renderer_host/media/service_video_capture_provider.cc
@@ -57,8 +57,7 @@
     : connector_(connector ? connector->Clone() : nullptr),
       emit_log_message_cb_(std::move(emit_log_message_cb)),
       launcher_has_connected_to_source_provider_(false),
-      service_listener_binding_(this),
-      weak_ptr_factory_(this) {
+      service_listener_binding_(this) {
   base::PostTaskWithTraits(
       FROM_HERE, {content::BrowserThread::IO},
       base::BindOnce(
diff --git a/content/browser/renderer_host/media/service_video_capture_provider.h b/content/browser/renderer_host/media/service_video_capture_provider.h
index 2a25dbcb..7318d84 100644
--- a/content/browser/renderer_host/media/service_video_capture_provider.h
+++ b/content/browser/renderer_host/media/service_video_capture_provider.h
@@ -111,7 +111,7 @@
   int stashed_retry_count_;
 #endif
 
-  base::WeakPtrFactory<ServiceVideoCaptureProvider> weak_ptr_factory_;
+  base::WeakPtrFactory<ServiceVideoCaptureProvider> weak_ptr_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/renderer_host/media/video_capture_controller.cc b/content/browser/renderer_host/media/video_capture_controller.cc
index 3a884b6..94e66f23 100644
--- a/content/browser/renderer_host/media/video_capture_controller.cc
+++ b/content/browser/renderer_host/media/video_capture_controller.cc
@@ -267,8 +267,7 @@
       emit_log_message_cb_(std::move(emit_log_message_cb)),
       device_launch_observer_(nullptr),
       state_(blink::VIDEO_CAPTURE_STATE_STARTING),
-      has_received_frames_(false),
-      weak_ptr_factory_(this) {
+      has_received_frames_(false) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 }
 
diff --git a/content/browser/renderer_host/media/video_capture_controller.h b/content/browser/renderer_host/media/video_capture_controller.h
index 446a961..f038866ff 100644
--- a/content/browser/renderer_host/media/video_capture_controller.h
+++ b/content/browser/renderer_host/media/video_capture_controller.h
@@ -270,7 +270,7 @@
 
   base::Optional<media::VideoCaptureFormat> video_capture_format_;
 
-  base::WeakPtrFactory<VideoCaptureController> weak_ptr_factory_;
+  base::WeakPtrFactory<VideoCaptureController> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(VideoCaptureController);
 };
diff --git a/content/browser/renderer_host/media/video_capture_host.cc b/content/browser/renderer_host/media/video_capture_host.cc
index 3d5ebd2..bafba43 100644
--- a/content/browser/renderer_host/media/video_capture_host.cc
+++ b/content/browser/renderer_host/media/video_capture_host.cc
@@ -67,8 +67,7 @@
     std::unique_ptr<RenderProcessHostDelegate> delegate,
     MediaStreamManager* media_stream_manager)
     : render_process_host_delegate_(std::move(delegate)),
-      media_stream_manager_(media_stream_manager),
-      weak_factory_(this) {
+      media_stream_manager_(media_stream_manager) {
   DVLOG(1) << __func__;
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 }
diff --git a/content/browser/renderer_host/media/video_capture_host.h b/content/browser/renderer_host/media/video_capture_host.h
index 95c9678..3aa3dcf 100644
--- a/content/browser/renderer_host/media/video_capture_host.h
+++ b/content/browser/renderer_host/media/video_capture_host.h
@@ -129,7 +129,7 @@
   std::map<int32_t, media::mojom::VideoCaptureObserverPtr>
       device_id_to_observer_map_;
 
-  base::WeakPtrFactory<VideoCaptureHost> weak_factory_;
+  base::WeakPtrFactory<VideoCaptureHost> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(VideoCaptureHost);
 };
diff --git a/content/browser/renderer_host/p2p/socket_dispatcher_host.cc b/content/browser/renderer_host/p2p/socket_dispatcher_host.cc
index 6bd32e88..8d3f8d2a 100644
--- a/content/browser/renderer_host/p2p/socket_dispatcher_host.cc
+++ b/content/browser/renderer_host/p2p/socket_dispatcher_host.cc
@@ -21,9 +21,7 @@
 namespace content {
 
 P2PSocketDispatcherHost::P2PSocketDispatcherHost(int render_process_id)
-    : render_process_id_(render_process_id),
-      binding_(this),
-      weak_factory_(this) {}
+    : render_process_id_(render_process_id), binding_(this) {}
 
 P2PSocketDispatcherHost::~P2PSocketDispatcherHost() {}
 
diff --git a/content/browser/renderer_host/p2p/socket_dispatcher_host.h b/content/browser/renderer_host/p2p/socket_dispatcher_host.h
index 3802f73e..54d3f86 100644
--- a/content/browser/renderer_host/p2p/socket_dispatcher_host.h
+++ b/content/browser/renderer_host/p2p/socket_dispatcher_host.h
@@ -60,7 +60,7 @@
 
   network::mojom::P2PNetworkNotificationClientPtr network_notification_client_;
 
-  base::WeakPtrFactory<P2PSocketDispatcherHost> weak_factory_;
+  base::WeakPtrFactory<P2PSocketDispatcherHost> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(P2PSocketDispatcherHost);
 };
diff --git a/content/browser/renderer_host/pepper/pepper_external_file_ref_backend.cc b/content/browser/renderer_host/pepper/pepper_external_file_ref_backend.cc
index 0f074d9..cc8f129 100644
--- a/content/browser/renderer_host/pepper/pepper_external_file_ref_backend.cc
+++ b/content/browser/renderer_host/pepper/pepper_external_file_ref_backend.cc
@@ -67,8 +67,7 @@
       render_process_id_(render_process_id),
       task_runner_(base::CreateSequencedTaskRunnerWithTraits(
           {base::MayBlock(), base::TaskPriority::USER_VISIBLE,
-           base::TaskShutdownBehavior::BLOCK_SHUTDOWN})),
-      weak_factory_(this) {}
+           base::TaskShutdownBehavior::BLOCK_SHUTDOWN})) {}
 
 PepperExternalFileRefBackend::~PepperExternalFileRefBackend() {}
 
diff --git a/content/browser/renderer_host/pepper/pepper_external_file_ref_backend.h b/content/browser/renderer_host/pepper/pepper_external_file_ref_backend.h
index fa57231..5fa21be 100644
--- a/content/browser/renderer_host/pepper/pepper_external_file_ref_backend.h
+++ b/content/browser/renderer_host/pepper/pepper_external_file_ref_backend.h
@@ -71,7 +71,7 @@
 
   scoped_refptr<base::SequencedTaskRunner> task_runner_;
 
-  base::WeakPtrFactory<PepperExternalFileRefBackend> weak_factory_;
+  base::WeakPtrFactory<PepperExternalFileRefBackend> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(PepperExternalFileRefBackend);
 };
diff --git a/content/browser/renderer_host/pepper/pepper_file_system_browser_host.cc b/content/browser/renderer_host/pepper/pepper_file_system_browser_host.cc
index a53e3155..24d0a2a 100644
--- a/content/browser/renderer_host/pepper/pepper_file_system_browser_host.cc
+++ b/content/browser/renderer_host/pepper/pepper_file_system_browser_host.cc
@@ -61,8 +61,7 @@
       opened_(false),
       file_system_context_(nullptr),
       reserved_quota_(0),
-      reserving_quota_(false),
-      weak_factory_(this) {}
+      reserving_quota_(false) {}
 
 PepperFileSystemBrowserHost::~PepperFileSystemBrowserHost() {
   // If |files_| is not empty, the plugin failed to close some files. It must
diff --git a/content/browser/renderer_host/pepper/pepper_file_system_browser_host.h b/content/browser/renderer_host/pepper/pepper_file_system_browser_host.h
index e41f2498..57c1eec 100644
--- a/content/browser/renderer_host/pepper/pepper_file_system_browser_host.h
+++ b/content/browser/renderer_host/pepper/pepper_file_system_browser_host.h
@@ -167,7 +167,7 @@
 
   std::string fsid_;  // used only for isolated filesystems.
 
-  base::WeakPtrFactory<PepperFileSystemBrowserHost> weak_factory_;
+  base::WeakPtrFactory<PepperFileSystemBrowserHost> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(PepperFileSystemBrowserHost);
 };
diff --git a/content/browser/renderer_host/pepper/pepper_gamepad_host.cc b/content/browser/renderer_host/pepper/pepper_gamepad_host.cc
index d4140d9d..ec613d99 100644
--- a/content/browser/renderer_host/pepper/pepper_gamepad_host.cc
+++ b/content/browser/renderer_host/pepper/pepper_gamepad_host.cc
@@ -21,8 +21,7 @@
                                      PP_Resource resource)
     : ResourceHost(host->GetPpapiHost(), instance, resource),
       gamepad_service_(device::GamepadService::GetInstance()),
-      is_started_(false),
-      weak_factory_(this) {}
+      is_started_(false) {}
 
 PepperGamepadHost::PepperGamepadHost(device::GamepadService* gamepad_service,
                                      BrowserPpapiHost* host,
@@ -30,8 +29,7 @@
                                      PP_Resource resource)
     : ResourceHost(host->GetPpapiHost(), instance, resource),
       gamepad_service_(gamepad_service),
-      is_started_(false),
-      weak_factory_(this) {}
+      is_started_(false) {}
 
 PepperGamepadHost::~PepperGamepadHost() {
   if (is_started_)
diff --git a/content/browser/renderer_host/pepper/pepper_gamepad_host.h b/content/browser/renderer_host/pepper/pepper_gamepad_host.h
index 3cec62b2..f7525c6 100644
--- a/content/browser/renderer_host/pepper/pepper_gamepad_host.h
+++ b/content/browser/renderer_host/pepper/pepper_gamepad_host.h
@@ -66,7 +66,7 @@
 
   bool is_started_;
 
-  base::WeakPtrFactory<PepperGamepadHost> weak_factory_;
+  base::WeakPtrFactory<PepperGamepadHost> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(PepperGamepadHost);
 };
diff --git a/content/browser/renderer_host/pepper/pepper_internal_file_ref_backend.cc b/content/browser/renderer_host/pepper/pepper_internal_file_ref_backend.cc
index 1491a23..63def00f 100644
--- a/content/browser/renderer_host/pepper/pepper_internal_file_ref_backend.cc
+++ b/content/browser/renderer_host/pepper/pepper_internal_file_ref_backend.cc
@@ -55,8 +55,7 @@
       render_process_id_(render_process_id),
       fs_host_(fs_host),
       fs_type_(fs_host->GetType()),
-      path_(path),
-      weak_factory_(this) {
+      path_(path) {
   ppapi::NormalizeInternalPath(&path_);
 }
 
diff --git a/content/browser/renderer_host/pepper/pepper_internal_file_ref_backend.h b/content/browser/renderer_host/pepper/pepper_internal_file_ref_backend.h
index deab6c7..8935298 100644
--- a/content/browser/renderer_host/pepper/pepper_internal_file_ref_backend.h
+++ b/content/browser/renderer_host/pepper/pepper_internal_file_ref_backend.h
@@ -81,7 +81,7 @@
 
   mutable storage::FileSystemURL fs_url_;
 
-  base::WeakPtrFactory<PepperInternalFileRefBackend> weak_factory_;
+  base::WeakPtrFactory<PepperInternalFileRefBackend> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(PepperInternalFileRefBackend);
 };
diff --git a/content/browser/renderer_host/pepper/pepper_network_monitor_host.cc b/content/browser/renderer_host/pepper/pepper_network_monitor_host.cc
index 0ec4233..6e55aaa3 100644
--- a/content/browser/renderer_host/pepper/pepper_network_monitor_host.cc
+++ b/content/browser/renderer_host/pepper/pepper_network_monitor_host.cc
@@ -64,8 +64,7 @@
                                                    PP_Instance instance,
                                                    PP_Resource resource)
     : ResourceHost(host->GetPpapiHost(), instance, resource),
-      network_connection_tracker_(nullptr),
-      weak_factory_(this) {
+      network_connection_tracker_(nullptr) {
   int render_process_id;
   int render_frame_id;
   host->GetRenderFrameIDsForInstance(
diff --git a/content/browser/renderer_host/pepper/pepper_network_monitor_host.h b/content/browser/renderer_host/pepper/pepper_network_monitor_host.h
index af48b4bc..626b76e 100644
--- a/content/browser/renderer_host/pepper/pepper_network_monitor_host.h
+++ b/content/browser/renderer_host/pepper/pepper_network_monitor_host.h
@@ -44,7 +44,7 @@
 
   network::NetworkConnectionTracker* network_connection_tracker_;
 
-  base::WeakPtrFactory<PepperNetworkMonitorHost> weak_factory_;
+  base::WeakPtrFactory<PepperNetworkMonitorHost> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(PepperNetworkMonitorHost);
 };
diff --git a/content/browser/renderer_host/pepper/pepper_network_proxy_host.cc b/content/browser/renderer_host/pepper/pepper_network_proxy_host.cc
index e7a74ba..49aa731 100644
--- a/content/browser/renderer_host/pepper/pepper_network_proxy_host.cc
+++ b/content/browser/renderer_host/pepper/pepper_network_proxy_host.cc
@@ -57,8 +57,7 @@
       render_process_id_(0),
       render_frame_id_(0),
       is_allowed_(false),
-      waiting_for_ui_thread_data_(true),
-      weak_factory_(this) {
+      waiting_for_ui_thread_data_(true) {
   host->GetRenderFrameIDsForInstance(instance, &render_process_id_,
                                      &render_frame_id_);
   base::PostTaskWithTraitsAndReplyWithResult(
diff --git a/content/browser/renderer_host/pepper/pepper_network_proxy_host.h b/content/browser/renderer_host/pepper/pepper_network_proxy_host.h
index 081c4045..c45c711 100644
--- a/content/browser/renderer_host/pepper/pepper_network_proxy_host.h
+++ b/content/browser/renderer_host/pepper/pepper_network_proxy_host.h
@@ -103,7 +103,7 @@
   std::set<std::unique_ptr<PepperProxyLookupHelper>, base::UniquePtrComparator>
       pending_requests_;
 
-  base::WeakPtrFactory<PepperNetworkProxyHost> weak_factory_;
+  base::WeakPtrFactory<PepperNetworkProxyHost> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(PepperNetworkProxyHost);
 };
diff --git a/content/browser/renderer_host/pepper/pepper_printing_host.cc b/content/browser/renderer_host/pepper/pepper_printing_host.cc
index 86a2439..deda0fb 100644
--- a/content/browser/renderer_host/pepper/pepper_printing_host.cc
+++ b/content/browser/renderer_host/pepper/pepper_printing_host.cc
@@ -22,8 +22,7 @@
     PP_Resource resource,
     std::unique_ptr<PepperPrintSettingsManager> print_settings_manager)
     : ResourceHost(host, instance, resource),
-      print_settings_manager_(std::move(print_settings_manager)),
-      weak_factory_(this) {}
+      print_settings_manager_(std::move(print_settings_manager)) {}
 
 PepperPrintingHost::~PepperPrintingHost() {}
 
diff --git a/content/browser/renderer_host/pepper/pepper_printing_host.h b/content/browser/renderer_host/pepper/pepper_printing_host.h
index 5dd51d1..88edefa6 100644
--- a/content/browser/renderer_host/pepper/pepper_printing_host.h
+++ b/content/browser/renderer_host/pepper/pepper_printing_host.h
@@ -41,7 +41,7 @@
 
   std::unique_ptr<PepperPrintSettingsManager> print_settings_manager_;
 
-  base::WeakPtrFactory<PepperPrintingHost> weak_factory_;
+  base::WeakPtrFactory<PepperPrintingHost> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(PepperPrintingHost);
 };
diff --git a/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper.cc b/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper.cc
index 3822705..c405432 100644
--- a/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper.cc
+++ b/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper.cc
@@ -75,7 +75,7 @@
   DISALLOW_COPY_AND_ASSIGN(UIThreadHelper);
 };
 
-PepperProxyLookupHelper::PepperProxyLookupHelper() : weak_factory_(this) {}
+PepperProxyLookupHelper::PepperProxyLookupHelper() {}
 
 PepperProxyLookupHelper::~PepperProxyLookupHelper() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
diff --git a/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper.h b/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper.h
index f6ea386..b184fb40 100644
--- a/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper.h
+++ b/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper.h
@@ -60,7 +60,7 @@
 
   SEQUENCE_CHECKER(sequence_checker_);
 
-  base::WeakPtrFactory<PepperProxyLookupHelper> weak_factory_;
+  base::WeakPtrFactory<PepperProxyLookupHelper> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(PepperProxyLookupHelper);
 };
diff --git a/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.cc b/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.cc
index f0aadfcb..1b1e593 100644
--- a/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.cc
+++ b/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.cc
@@ -68,8 +68,7 @@
       external_plugin_(host->external_plugin()),
       private_api_(private_api),
       render_process_id_(0),
-      render_frame_id_(0),
-      weak_ptr_factory_(this) {
+      render_frame_id_(0) {
   ++g_num_instances;
   DCHECK(factory_);
   DCHECK(ppapi_host_);
diff --git a/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.h b/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.h
index 96456ab0..0e18bc1 100644
--- a/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.h
+++ b/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.h
@@ -166,7 +166,8 @@
 
   // Vends weak pointers on the UI thread, for callbacks passed through Mojo
   // pipes not owned by |this|. All weak pointers released in Close().
-  base::WeakPtrFactory<PepperTCPServerSocketMessageFilter> weak_ptr_factory_;
+  base::WeakPtrFactory<PepperTCPServerSocketMessageFilter> weak_ptr_factory_{
+      this};
 
   DISALLOW_COPY_AND_ASSIGN(PepperTCPServerSocketMessageFilter);
 };
diff --git a/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.cc b/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.cc
index 2e6b9ce1..e46d977 100644
--- a/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.cc
+++ b/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.cc
@@ -88,8 +88,7 @@
       pending_write_bytes_written_(0),
       pending_write_pp_error_(PP_OK_COMPLETIONPENDING),
       is_potentially_secure_plugin_context_(
-          host->IsPotentiallySecurePluginContext(instance)),
-      weak_ptr_factory_(this) {
+          host->IsPotentiallySecurePluginContext(instance)) {
   DCHECK(host);
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 
diff --git a/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.h b/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.h
index 9f8c692..8874de1d 100644
--- a/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.h
+++ b/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.h
@@ -367,7 +367,7 @@
 
   // Vends weak pointers on the UI thread, for callbacks passed through Mojo
   // pipes not owned by |this|. All weak pointers released in Close().
-  base::WeakPtrFactory<PepperTCPSocketMessageFilter> weak_ptr_factory_;
+  base::WeakPtrFactory<PepperTCPSocketMessageFilter> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(PepperTCPSocketMessageFilter);
 };
diff --git a/content/browser/renderer_host/pepper/pepper_truetype_font_host.cc b/content/browser/renderer_host/pepper/pepper_truetype_font_host.cc
index 42a03e77..4d5cabb 100644
--- a/content/browser/renderer_host/pepper/pepper_truetype_font_host.cc
+++ b/content/browser/renderer_host/pepper/pepper_truetype_font_host.cc
@@ -26,8 +26,7 @@
     PP_Resource resource,
     const SerializedTrueTypeFontDesc& desc)
     : ResourceHost(host->GetPpapiHost(), instance, resource),
-      initialize_completed_(false),
-      weak_factory_(this) {
+      initialize_completed_(false) {
   font_ = PepperTrueTypeFont::Create();
   // Initialize the font on a ThreadPool thread. This must complete before
   // using |font_|.
diff --git a/content/browser/renderer_host/pepper/pepper_truetype_font_host.h b/content/browser/renderer_host/pepper/pepper_truetype_font_host.h
index cd1e701..2ecd9ba5 100644
--- a/content/browser/renderer_host/pepper/pepper_truetype_font_host.h
+++ b/content/browser/renderer_host/pepper/pepper_truetype_font_host.h
@@ -62,7 +62,7 @@
   scoped_refptr<PepperTrueTypeFont> font_;
   bool initialize_completed_;
 
-  base::WeakPtrFactory<PepperTrueTypeFontHost> weak_factory_;
+  base::WeakPtrFactory<PepperTrueTypeFontHost> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(PepperTrueTypeFontHost);
 };
diff --git a/content/browser/renderer_host/plugin_registry_impl.cc b/content/browser/renderer_host/plugin_registry_impl.cc
index 77df339..717db15 100644
--- a/content/browser/renderer_host/plugin_registry_impl.cc
+++ b/content/browser/renderer_host/plugin_registry_impl.cc
@@ -18,7 +18,7 @@
 }  // namespace
 
 PluginRegistryImpl::PluginRegistryImpl(ResourceContext* resource_context)
-    : resource_context_(resource_context), weak_factory_(this) {}
+    : resource_context_(resource_context) {}
 
 PluginRegistryImpl::~PluginRegistryImpl() {}
 
diff --git a/content/browser/renderer_host/plugin_registry_impl.h b/content/browser/renderer_host/plugin_registry_impl.h
index 3009401..061dd21c 100644
--- a/content/browser/renderer_host/plugin_registry_impl.h
+++ b/content/browser/renderer_host/plugin_registry_impl.h
@@ -35,7 +35,7 @@
   ResourceContext* const resource_context_;
   mojo::BindingSet<PluginRegistry> bindings_;
   base::TimeTicks last_plugin_refresh_time_;
-  base::WeakPtrFactory<PluginRegistryImpl> weak_factory_;
+  base::WeakPtrFactory<PluginRegistryImpl> weak_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/renderer_host/render_frame_metadata_provider_impl.cc b/content/browser/renderer_host/render_frame_metadata_provider_impl.cc
index 03a157b..0b18a02 100644
--- a/content/browser/renderer_host/render_frame_metadata_provider_impl.cc
+++ b/content/browser/renderer_host/render_frame_metadata_provider_impl.cc
@@ -14,8 +14,7 @@
     FrameTokenMessageQueue* frame_token_message_queue)
     : task_runner_(task_runner),
       frame_token_message_queue_(frame_token_message_queue),
-      render_frame_metadata_observer_client_binding_(this),
-      weak_factory_(this) {}
+      render_frame_metadata_observer_client_binding_(this) {}
 
 RenderFrameMetadataProviderImpl::~RenderFrameMetadataProviderImpl() = default;
 
diff --git a/content/browser/renderer_host/render_frame_metadata_provider_impl.h b/content/browser/renderer_host/render_frame_metadata_provider_impl.h
index 51650fd75..f7d0ca9 100644
--- a/content/browser/renderer_host/render_frame_metadata_provider_impl.h
+++ b/content/browser/renderer_host/render_frame_metadata_provider_impl.h
@@ -93,7 +93,7 @@
 #endif
   base::Optional<bool> pending_report_all_frame_submission_for_testing_;
 
-  base::WeakPtrFactory<RenderFrameMetadataProviderImpl> weak_factory_;
+  base::WeakPtrFactory<RenderFrameMetadataProviderImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(RenderFrameMetadataProviderImpl);
 };
diff --git a/content/browser/renderer_host/render_message_filter.cc b/content/browser/renderer_host/render_message_filter.cc
index 9d4d674..2732bc7 100644
--- a/content/browser/renderer_host/render_message_filter.cc
+++ b/content/browser/renderer_host/render_message_filter.cc
@@ -95,8 +95,7 @@
       resource_context_(browser_context->GetResourceContext()),
       render_widget_helper_(render_widget_helper),
       render_process_id_(render_process_id),
-      media_internals_(media_internals),
-      weak_ptr_factory_(this) {
+      media_internals_(media_internals) {
   if (render_widget_helper)
     render_widget_helper_->Init(render_process_id_, resource_dispatcher_host_);
 }
diff --git a/content/browser/renderer_host/render_message_filter.h b/content/browser/renderer_host/render_message_filter.h
index ef5bd796..81572a8 100644
--- a/content/browser/renderer_host/render_message_filter.h
+++ b/content/browser/renderer_host/render_message_filter.h
@@ -118,7 +118,7 @@
 
   MediaInternals* media_internals_;
 
-  base::WeakPtrFactory<RenderMessageFilter> weak_ptr_factory_;
+  base::WeakPtrFactory<RenderMessageFilter> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(RenderMessageFilter);
 };
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 10344f3..ffe62c71 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -732,9 +732,7 @@
  public:
   RenderProcessHostIsReadyObserver(RenderProcessHost* render_process_host,
                                    base::OnceClosure task)
-      : render_process_host_(render_process_host),
-        task_(std::move(task)),
-        weak_factory_(this) {
+      : render_process_host_(render_process_host), task_(std::move(task)) {
     render_process_host_->AddObserver(this);
     if (render_process_host_->IsReady())
       PostTask();
@@ -768,7 +766,7 @@
 
   RenderProcessHost* render_process_host_;
   base::OnceClosure task_;
-  base::WeakPtrFactory<RenderProcessHostIsReadyObserver> weak_factory_;
+  base::WeakPtrFactory<RenderProcessHostIsReadyObserver> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(RenderProcessHostIsReadyObserver);
 };
@@ -1279,8 +1277,7 @@
       std::unique_ptr<service_manager::BinderRegistry> registry)
       : child_identity_(child_identity),
         registry_(std::move(registry)),
-        controller_(new ConnectionFilterController(this)),
-        weak_factory_(this) {
+        controller_(new ConnectionFilterController(this)) {
     // Registration of this filter may race with browser shutdown, in which case
     // it's possible for this filter to be destroyed on the main thread. This
     // is fine as long as the filter hasn't been used on the IO thread yet. We
@@ -1328,7 +1325,7 @@
   base::Lock enabled_lock_;
   bool enabled_ GUARDED_BY(enabled_lock_) = true;
 
-  base::WeakPtrFactory<ConnectionFilterImpl> weak_factory_;
+  base::WeakPtrFactory<ConnectionFilterImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ConnectionFilterImpl);
 };
@@ -1527,8 +1524,7 @@
       instance_weak_factory_(
           new base::WeakPtrFactory<RenderProcessHostImpl>(this)),
       frame_sink_provider_(id_),
-      shutdown_exit_code_(-1),
-      weak_factory_(this) {
+      shutdown_exit_code_(-1) {
   widget_helper_ = new RenderWidgetHelper();
 
   ChildProcessSecurityPolicyImpl::GetInstance()->Add(GetID(), browser_context);
diff --git a/content/browser/renderer_host/render_process_host_impl.h b/content/browser/renderer_host/render_process_host_impl.h
index 9284ad76..62e5a72 100644
--- a/content/browser/renderer_host/render_process_host_impl.h
+++ b/content/browser/renderer_host/render_process_host_impl.h
@@ -895,7 +895,7 @@
 
   IpcSendWatcher ipc_send_watcher_for_testing_;
 
-  base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_;
+  base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl);
 };
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
index ade78e33..62bde0f 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -227,8 +227,7 @@
       is_waiting_for_close_ack_(false),
       sudden_termination_allowed_(false),
       updating_web_preferences_(false),
-      has_notified_about_creation_(false),
-      weak_factory_(this) {
+      has_notified_about_creation_(false) {
   DCHECK(instance_.get());
   CHECK(delegate_);  // http://crbug.com/82827
   DCHECK_NE(GetRoutingID(), render_widget_host_->GetRoutingID());
diff --git a/content/browser/renderer_host/render_view_host_impl.h b/content/browser/renderer_host/render_view_host_impl.h
index a23d425..78ad7b0 100644
--- a/content/browser/renderer_host/render_view_host_impl.h
+++ b/content/browser/renderer_host/render_view_host_impl.h
@@ -349,7 +349,7 @@
   // duplicate RenderViewCreated events.
   bool has_notified_about_creation_;
 
-  base::WeakPtrFactory<RenderViewHostImpl> weak_factory_;
+  base::WeakPtrFactory<RenderViewHostImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(RenderViewHostImpl);
 };
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index 650b965c..ba406465 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -364,8 +364,7 @@
 #endif
           frame_token_message_queue_.get()),
       frame_sink_id_(base::checked_cast<uint32_t>(process_->GetID()),
-                     base::checked_cast<uint32_t>(routing_id_)),
-      weak_factory_(this) {
+                     base::checked_cast<uint32_t>(routing_id_)) {
 #if defined(OS_MACOSX)
   fling_scheduler_ = std::make_unique<FlingSchedulerMac>(this);
 #elif defined(OS_ANDROID)
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
index 93a1e1b..655e18f 100644
--- a/content/browser/renderer_host/render_widget_host_impl.h
+++ b/content/browser/renderer_host/render_widget_host_impl.h
@@ -1210,7 +1210,7 @@
   // Event IDs for touch event acks that should be ignored.
   std::unordered_set<uint32_t> touch_event_acks_to_ignore_;
 
-  base::WeakPtrFactory<RenderWidgetHostImpl> weak_factory_;
+  base::WeakPtrFactory<RenderWidgetHostImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostImpl);
 };
diff --git a/content/browser/renderer_host/render_widget_host_input_event_router.cc b/content/browser/renderer_host/render_widget_host_input_event_router.cc
index c7ecfca..c1db0e5 100644
--- a/content/browser/renderer_host/render_widget_host_input_event_router.cc
+++ b/content/browser/renderer_host/render_widget_host_input_event_router.cc
@@ -459,8 +459,7 @@
       last_device_scale_factor_(1.f),
       active_touches_(0),
       event_targeter_(std::make_unique<RenderWidgetTargeter>(this)),
-      touch_event_ack_queue_(new TouchEventAckQueue(this)),
-      weak_ptr_factory_(this) {
+      touch_event_ack_queue_(new TouchEventAckQueue(this)) {
   viz::HostFrameSinkManager* manager = GetHostFrameSinkManager();
   DCHECK(manager);
   manager->AddHitTestRegionObserver(this);
diff --git a/content/browser/renderer_host/render_widget_host_input_event_router.h b/content/browser/renderer_host/render_widget_host_input_event_router.h
index 27ab31c..f162c4cd 100644
--- a/content/browser/renderer_host/render_widget_host_input_event_router.h
+++ b/content/browser/renderer_host/render_widget_host_input_event_router.h
@@ -398,7 +398,8 @@
   std::unique_ptr<TouchEmulator> touch_emulator_;
   std::unique_ptr<TouchEventAckQueue> touch_event_ack_queue_;
 
-  base::WeakPtrFactory<RenderWidgetHostInputEventRouter> weak_ptr_factory_;
+  base::WeakPtrFactory<RenderWidgetHostInputEventRouter> weak_ptr_factory_{
+      this};
 
   DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostInputEventRouter);
   friend class RenderWidgetHostInputEventRouterTest;
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index 5e5be87..5000924 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -350,8 +350,7 @@
       device_scale_factor_(0.0f),
       event_handler_(new RenderWidgetHostViewEventHandler(host(), this, this)),
       frame_sink_id_(is_guest_view_hack_ ? AllocateFrameSinkIdForGuestViewHack()
-                                         : host()->GetFrameSinkId()),
-      weak_ptr_factory_(this) {
+                                         : host()->GetFrameSinkId()) {
   CreateDelegatedFrameHostClient();
 
   if (!is_guest_view_hack_)
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.h b/content/browser/renderer_host/render_widget_host_view_aura.h
index 1f696b97..dca3ebf 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.h
+++ b/content/browser/renderer_host/render_widget_host_view_aura.h
@@ -707,7 +707,7 @@
   // See OnDisplayMetricsChanged() for details.
   bool needs_to_update_display_metrics_ = false;
 
-  base::WeakPtrFactory<RenderWidgetHostViewAura> weak_ptr_factory_;
+  base::WeakPtrFactory<RenderWidgetHostViewAura> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAura);
 };
diff --git a/content/browser/renderer_host/render_widget_host_view_base.cc b/content/browser/renderer_host/render_widget_host_view_base.cc
index cd8d45ce..f41270e 100644
--- a/content/browser/renderer_host/render_widget_host_view_base.cc
+++ b/content/browser/renderer_host/render_widget_host_view_base.cc
@@ -42,7 +42,7 @@
 namespace content {
 
 RenderWidgetHostViewBase::RenderWidgetHostViewBase(RenderWidgetHost* host)
-    : host_(RenderWidgetHostImpl::From(host)), weak_factory_(this) {
+    : host_(RenderWidgetHostImpl::From(host)) {
   host_->render_frame_metadata_provider()->AddObserver(this);
 }
 
diff --git a/content/browser/renderer_host/render_widget_host_view_base.h b/content/browser/renderer_host/render_widget_host_view_base.h
index 5bac450f..39081269 100644
--- a/content/browser/renderer_host/render_widget_host_view_base.h
+++ b/content/browser/renderer_host/render_widget_host_view_base.h
@@ -686,7 +686,7 @@
 
   bool is_evicted_ = false;
 
-  base::WeakPtrFactory<RenderWidgetHostViewBase> weak_factory_;
+  base::WeakPtrFactory<RenderWidgetHostViewBase> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewBase);
 };
diff --git a/content/browser/renderer_host/render_widget_host_view_child_frame.cc b/content/browser/renderer_host/render_widget_host_view_child_frame.cc
index 97b52ad..fbb86a38 100644
--- a/content/browser/renderer_host/render_widget_host_view_child_frame.cc
+++ b/content/browser/renderer_host/render_widget_host_view_child_frame.cc
@@ -68,8 +68,7 @@
       frame_connector_(nullptr),
       enable_viz_(features::IsVizDisplayCompositorEnabled()),
       enable_surface_synchronization_(
-          features::IsSurfaceSynchronizationEnabled()),
-      weak_factory_(this) {
+          features::IsSurfaceSynchronizationEnabled()) {
   GetHostFrameSinkManager()->RegisterFrameSinkId(
       frame_sink_id_, this,
       enable_surface_synchronization_
diff --git a/content/browser/renderer_host/render_widget_host_view_child_frame.h b/content/browser/renderer_host/render_widget_host_view_child_frame.h
index f79c952a..963a056 100644
--- a/content/browser/renderer_host/render_widget_host_view_child_frame.h
+++ b/content/browser/renderer_host/render_widget_host_view_child_frame.h
@@ -320,7 +320,7 @@
   // True if there is currently a scroll sequence being bubbled to our parent.
   bool is_scroll_sequence_bubbling_ = false;
 
-  base::WeakPtrFactory<RenderWidgetHostViewChildFrame> weak_factory_;
+  base::WeakPtrFactory<RenderWidgetHostViewChildFrame> weak_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewChildFrame);
 };
 
diff --git a/content/browser/renderer_host/render_widget_targeter.cc b/content/browser/renderer_host/render_widget_targeter.cc
index 50bc7544d..0ee1b50 100644
--- a/content/browser/renderer_host/render_widget_targeter.cc
+++ b/content/browser/renderer_host/render_widget_targeter.cc
@@ -159,8 +159,7 @@
     : trace_id_(base::RandUint64()),
       is_viz_hit_testing_debug_enabled_(
           features::IsVizHitTestingDebugEnabled()),
-      delegate_(delegate),
-      weak_ptr_factory_(this) {
+      delegate_(delegate) {
   DCHECK(delegate_);
 }
 
diff --git a/content/browser/renderer_host/render_widget_targeter.h b/content/browser/renderer_host/render_widget_targeter.h
index d6b9834..ba4778b 100644
--- a/content/browser/renderer_host/render_widget_targeter.h
+++ b/content/browser/renderer_host/render_widget_targeter.h
@@ -247,7 +247,7 @@
   std::vector<viz::FrameSinkId> hit_test_async_queried_debug_queue_;
 
   Delegate* const delegate_;
-  base::WeakPtrFactory<RenderWidgetTargeter> weak_ptr_factory_;
+  base::WeakPtrFactory<RenderWidgetTargeter> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(RenderWidgetTargeter);
 };
diff --git a/content/browser/renderer_host/web_database_host_impl.cc b/content/browser/renderer_host/web_database_host_impl.cc
index 195dd66..b9ecdcfc 100644
--- a/content/browser/renderer_host/web_database_host_impl.cc
+++ b/content/browser/renderer_host/web_database_host_impl.cc
@@ -69,8 +69,7 @@
     scoped_refptr<storage::DatabaseTracker> db_tracker)
     : process_id_(process_id),
       observer_added_(false),
-      db_tracker_(std::move(db_tracker)),
-      weak_ptr_factory_(this) {
+      db_tracker_(std::move(db_tracker)) {
   DCHECK(db_tracker_);
 }
 
diff --git a/content/browser/renderer_host/web_database_host_impl.h b/content/browser/renderer_host/web_database_host_impl.h
index 4f4b790..8615c1b 100644
--- a/content/browser/renderer_host/web_database_host_impl.h
+++ b/content/browser/renderer_host/web_database_host_impl.h
@@ -158,7 +158,7 @@
 
   // Note: This should remain the last member so it'll be destroyed and
   // invalidate its weak pointers before any other members are destroyed.
-  base::WeakPtrFactory<WebDatabaseHostImpl> weak_ptr_factory_;
+  base::WeakPtrFactory<WebDatabaseHostImpl> weak_ptr_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/service_worker/embedded_worker_instance.cc b/content/browser/service_worker/embedded_worker_instance.cc
index 0ef8879..5c1f584 100644
--- a/content/browser/service_worker/embedded_worker_instance.cc
+++ b/content/browser/service_worker/embedded_worker_instance.cc
@@ -429,8 +429,7 @@
         is_installed_(false),
         started_during_browser_startup_(false),
         skip_recording_startup_time_(instance_->devtools_attached()),
-        start_time_(start_time),
-        weak_factory_(this) {
+        start_time_(start_time) {
     DCHECK_CURRENTLY_ON(BrowserThread::IO);
     TRACE_EVENT_NESTABLE_ASYNC_BEGIN1("ServiceWorker",
                                       "EmbeddedWorkerInstance::Start", this,
@@ -635,7 +634,7 @@
   base::TimeTicks start_worker_sent_time_;
   base::TimeDelta thread_hop_time_;
 
-  base::WeakPtrFactory<StartTask> weak_factory_;
+  base::WeakPtrFactory<StartTask> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(StartTask);
 };
@@ -741,8 +740,7 @@
       network_accessed_for_script_(false),
       foreground_notified_(false),
       ui_task_runner_(
-          base::CreateSequencedTaskRunnerWithTraits({BrowserThread::UI})),
-      weak_factory_(this) {
+          base::CreateSequencedTaskRunnerWithTraits({BrowserThread::UI})) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   DCHECK(context_);
 }
diff --git a/content/browser/service_worker/embedded_worker_instance.h b/content/browser/service_worker/embedded_worker_instance.h
index 8d3c692..6db7061 100644
--- a/content/browser/service_worker/embedded_worker_instance.h
+++ b/content/browser/service_worker/embedded_worker_instance.h
@@ -363,7 +363,7 @@
 
   const scoped_refptr<base::SequencedTaskRunner> ui_task_runner_;
 
-  base::WeakPtrFactory<EmbeddedWorkerInstance> weak_factory_;
+  base::WeakPtrFactory<EmbeddedWorkerInstance> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(EmbeddedWorkerInstance);
 };
diff --git a/content/browser/service_worker/fake_embedded_worker_instance_client.cc b/content/browser/service_worker/fake_embedded_worker_instance_client.cc
index 80b8b33..7c32736 100644
--- a/content/browser/service_worker/fake_embedded_worker_instance_client.cc
+++ b/content/browser/service_worker/fake_embedded_worker_instance_client.cc
@@ -15,7 +15,7 @@
 
 FakeEmbeddedWorkerInstanceClient::FakeEmbeddedWorkerInstanceClient(
     EmbeddedWorkerTestHelper* helper)
-    : helper_(helper), binding_(this), weak_factory_(this) {}
+    : helper_(helper), binding_(this) {}
 
 FakeEmbeddedWorkerInstanceClient::~FakeEmbeddedWorkerInstanceClient() = default;
 
diff --git a/content/browser/service_worker/fake_embedded_worker_instance_client.h b/content/browser/service_worker/fake_embedded_worker_instance_client.h
index f0abcad9..bd57d29 100644
--- a/content/browser/service_worker/fake_embedded_worker_instance_client.h
+++ b/content/browser/service_worker/fake_embedded_worker_instance_client.h
@@ -74,7 +74,7 @@
   mojo::Binding<blink::mojom::EmbeddedWorkerInstanceClient> binding_;
   base::OnceClosure quit_closure_for_bind_;
 
-  base::WeakPtrFactory<FakeEmbeddedWorkerInstanceClient> weak_factory_;
+  base::WeakPtrFactory<FakeEmbeddedWorkerInstanceClient> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(FakeEmbeddedWorkerInstanceClient);
 };
diff --git a/content/browser/service_worker/service_worker_cache_writer.cc b/content/browser/service_worker/service_worker_cache_writer.cc
index 1935f81..6ec47bf 100644
--- a/content/browser/service_worker/service_worker_cache_writer.cc
+++ b/content/browser/service_worker/service_worker_cache_writer.cc
@@ -128,8 +128,7 @@
       pause_when_not_identical_(pause_when_not_identical),
       compare_reader_(std::move(compare_reader)),
       copy_reader_(std::move(copy_reader)),
-      writer_(std::move(writer)),
-      weak_factory_(this) {}
+      writer_(std::move(writer)) {}
 
 ServiceWorkerCacheWriter::~ServiceWorkerCacheWriter() {}
 
diff --git a/content/browser/service_worker/service_worker_cache_writer.h b/content/browser/service_worker/service_worker_cache_writer.h
index d0b74fb8..ee94806 100644
--- a/content/browser/service_worker/service_worker_cache_writer.h
+++ b/content/browser/service_worker/service_worker_cache_writer.h
@@ -317,7 +317,7 @@
   std::unique_ptr<ServiceWorkerResponseReader> compare_reader_;
   std::unique_ptr<ServiceWorkerResponseReader> copy_reader_;
   std::unique_ptr<ServiceWorkerResponseWriter> writer_;
-  base::WeakPtrFactory<ServiceWorkerCacheWriter> weak_factory_;
+  base::WeakPtrFactory<ServiceWorkerCacheWriter> weak_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/service_worker/service_worker_context_core.cc b/content/browser/service_worker/service_worker_context_core.cc
index d63b7e9..46318162 100644
--- a/content/browser/service_worker/service_worker_context_core.cc
+++ b/content/browser/service_worker/service_worker_context_core.cc
@@ -258,8 +258,7 @@
       loader_factory_getter_(url_loader_factory_getter),
       force_update_on_page_load_(false),
       was_service_worker_registered_(false),
-      observer_list_(observer_list),
-      weak_factory_(this) {
+      observer_list_(observer_list) {
   DCHECK(observer_list_);
   // These get a WeakPtr from |weak_factory_|, so must be set after
   // |weak_factory_| is initialized.
@@ -279,8 +278,7 @@
       was_service_worker_registered_(
           old_context->was_service_worker_registered_),
       observer_list_(old_context->observer_list_),
-      next_embedded_worker_id_(old_context->next_embedded_worker_id_),
-      weak_factory_(this) {
+      next_embedded_worker_id_(old_context->next_embedded_worker_id_) {
   DCHECK(observer_list_);
 
   // These get a WeakPtr from |weak_factory_|, so must be set after
diff --git a/content/browser/service_worker/service_worker_context_core.h b/content/browser/service_worker/service_worker_context_core.h
index 295dced..51ca4a82 100644
--- a/content/browser/service_worker/service_worker_context_core.h
+++ b/content/browser/service_worker/service_worker_context_core.h
@@ -359,7 +359,7 @@
 
   int next_embedded_worker_id_ = 0;
 
-  base::WeakPtrFactory<ServiceWorkerContextCore> weak_factory_;
+  base::WeakPtrFactory<ServiceWorkerContextCore> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ServiceWorkerContextCore);
 };
diff --git a/content/browser/service_worker/service_worker_context_watcher_unittest.cc b/content/browser/service_worker/service_worker_context_watcher_unittest.cc
index 4f6ada70..7585751 100644
--- a/content/browser/service_worker/service_worker_context_watcher_unittest.cc
+++ b/content/browser/service_worker/service_worker_context_watcher_unittest.cc
@@ -35,7 +35,7 @@
 
 class WatcherCallback {
  public:
-  WatcherCallback() : weak_factory_(this) {}
+  WatcherCallback() {}
 
   ~WatcherCallback() {}
 
@@ -114,7 +114,7 @@
 
   int callback_count_ = 0;
 
-  base::WeakPtrFactory<WatcherCallback> weak_factory_;
+  base::WeakPtrFactory<WatcherCallback> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(WatcherCallback);
 };
diff --git a/content/browser/service_worker/service_worker_controllee_request_handler.cc b/content/browser/service_worker/service_worker_controllee_request_handler.cc
index 92d4d956..d0718d9 100644
--- a/content/browser/service_worker/service_worker_controllee_request_handler.cc
+++ b/content/browser/service_worker/service_worker_controllee_request_handler.cc
@@ -67,8 +67,7 @@
     : context_(std::move(context)),
       provider_host_(std::move(provider_host)),
       resource_type_(resource_type),
-      force_update_started_(false),
-      weak_factory_(this) {
+      force_update_started_(false) {
   DCHECK(ServiceWorkerUtils::IsMainResourceType(resource_type));
 }
 
diff --git a/content/browser/service_worker/service_worker_controllee_request_handler.h b/content/browser/service_worker/service_worker_controllee_request_handler.h
index 5b53366..6c996176 100644
--- a/content/browser/service_worker/service_worker_controllee_request_handler.h
+++ b/content/browser/service_worker/service_worker_controllee_request_handler.h
@@ -113,7 +113,8 @@
   LoaderCallback loader_callback_;
   FallbackCallback fallback_callback_;
 
-  base::WeakPtrFactory<ServiceWorkerControlleeRequestHandler> weak_factory_;
+  base::WeakPtrFactory<ServiceWorkerControlleeRequestHandler> weak_factory_{
+      this};
 
   DISALLOW_COPY_AND_ASSIGN(ServiceWorkerControlleeRequestHandler);
 };
diff --git a/content/browser/service_worker/service_worker_fetch_dispatcher.cc b/content/browser/service_worker/service_worker_fetch_dispatcher.cc
index 148ec3ac..5f7459ef 100644
--- a/content/browser/service_worker/service_worker_fetch_dispatcher.cc
+++ b/content/browser/service_worker/service_worker_fetch_dispatcher.cc
@@ -467,8 +467,7 @@
       resource_type_(resource_type),
       prepare_callback_(std::move(prepare_callback)),
       fetch_callback_(std::move(fetch_callback)),
-      did_complete_(false),
-      weak_factory_(this) {
+      did_complete_(false) {
   DCHECK(!request_->blob);
   TRACE_EVENT_NESTABLE_ASYNC_BEGIN1(
       "ServiceWorker", "ServiceWorkerFetchDispatcher::DispatchFetchEvent", this,
diff --git a/content/browser/service_worker/service_worker_fetch_dispatcher.h b/content/browser/service_worker/service_worker_fetch_dispatcher.h
index a7940e0..5cebdd7 100644
--- a/content/browser/service_worker/service_worker_fetch_dispatcher.h
+++ b/content/browser/service_worker/service_worker_fetch_dispatcher.h
@@ -123,7 +123,7 @@
   // service worker along with the fetch event.
   blink::mojom::FetchEventPreloadHandlePtr preload_handle_;
 
-  base::WeakPtrFactory<ServiceWorkerFetchDispatcher> weak_factory_;
+  base::WeakPtrFactory<ServiceWorkerFetchDispatcher> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ServiceWorkerFetchDispatcher);
 };
diff --git a/content/browser/service_worker/service_worker_installed_script_reader.cc b/content/browser/service_worker/service_worker_installed_script_reader.cc
index da9100fa..5b95b7c0 100644
--- a/content/browser/service_worker/service_worker_installed_script_reader.cc
+++ b/content/browser/service_worker/service_worker_installed_script_reader.cc
@@ -25,8 +25,7 @@
         handle_(std::move(handle)),
         watcher_(FROM_HERE,
                  mojo::SimpleWatcher::ArmingPolicy::AUTOMATIC,
-                 base::SequencedTaskRunnerHandle::Get()),
-        weak_factory_(this) {}
+                 base::SequencedTaskRunnerHandle::Get()) {}
 
   void Start(base::OnceCallback<void(bool /* success */)> callback) {
     callback_ = std::move(callback);
@@ -89,7 +88,7 @@
   mojo::ScopedDataPipeProducerHandle handle_;
   mojo::SimpleWatcher watcher_;
 
-  base::WeakPtrFactory<MetaDataSender> weak_factory_;
+  base::WeakPtrFactory<MetaDataSender> weak_factory_{this};
 };
 
 ServiceWorkerInstalledScriptReader::ServiceWorkerInstalledScriptReader(
@@ -99,8 +98,7 @@
       client_(client),
       body_watcher_(FROM_HERE,
                     mojo::SimpleWatcher::ArmingPolicy::MANUAL,
-                    base::SequencedTaskRunnerHandle::Get()),
-      weak_factory_(this) {}
+                    base::SequencedTaskRunnerHandle::Get()) {}
 
 ServiceWorkerInstalledScriptReader::~ServiceWorkerInstalledScriptReader() {}
 
diff --git a/content/browser/service_worker/service_worker_installed_script_reader.h b/content/browser/service_worker/service_worker_installed_script_reader.h
index 6db97cc1..f60d869 100644
--- a/content/browser/service_worker/service_worker_installed_script_reader.h
+++ b/content/browser/service_worker/service_worker_installed_script_reader.h
@@ -96,7 +96,7 @@
   uint64_t body_size_ = std::numeric_limits<uint64_t>::max();
   uint64_t body_bytes_sent_ = 0;
 
-  base::WeakPtrFactory<ServiceWorkerInstalledScriptReader> weak_factory_;
+  base::WeakPtrFactory<ServiceWorkerInstalledScriptReader> weak_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/service_worker/service_worker_job_unittest.cc b/content/browser/service_worker/service_worker_job_unittest.cc
index e9960c2..b8ba52f7 100644
--- a/content/browser/service_worker/service_worker_job_unittest.cc
+++ b/content/browser/service_worker/service_worker_job_unittest.cc
@@ -1170,8 +1170,7 @@
     ServiceWorkerVersion::Status status;
   };
 
-  UpdateJobTestHelper()
-      : EmbeddedWorkerTestHelper(base::FilePath()), weak_factory_(this) {
+  UpdateJobTestHelper() : EmbeddedWorkerTestHelper(base::FilePath()) {
     context_wrapper()->AddObserver(this);
     if (base::FeatureList::IsEnabled(
             blink::features::kServiceWorkerImportedScriptUpdateCheck)) {
@@ -1344,7 +1343,7 @@
   std::unique_ptr<FakeNetworkURLLoaderFactory>
       loader_factory_for_update_checker_;
 
-  base::WeakPtrFactory<UpdateJobTestHelper> weak_factory_;
+  base::WeakPtrFactory<UpdateJobTestHelper> weak_factory_{this};
 };
 
 }  // namespace
diff --git a/content/browser/service_worker/service_worker_navigation_handle.cc b/content/browser/service_worker/service_worker_navigation_handle.cc
index e86fb6f..0eb63fc0 100644
--- a/content/browser/service_worker/service_worker_navigation_handle.cc
+++ b/content/browser/service_worker/service_worker_navigation_handle.cc
@@ -16,8 +16,7 @@
 namespace content {
 
 ServiceWorkerNavigationHandle::ServiceWorkerNavigationHandle(
-    ServiceWorkerContextWrapper* context_wrapper)
-    : weak_factory_(this) {
+    ServiceWorkerContextWrapper* context_wrapper) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   core_ = new ServiceWorkerNavigationHandleCore(weak_factory_.GetWeakPtr(),
                                                 context_wrapper);
diff --git a/content/browser/service_worker/service_worker_navigation_handle.h b/content/browser/service_worker/service_worker_navigation_handle.h
index c11f08f..e44ca0f 100644
--- a/content/browser/service_worker/service_worker_navigation_handle.h
+++ b/content/browser/service_worker/service_worker_navigation_handle.h
@@ -74,7 +74,7 @@
   // TODO(leonhsl): Use std::unique_ptr<ServiceWorkerNavigationHandleCore,
   // BrowserThread::DeleteOnIOThread> instead.
   ServiceWorkerNavigationHandleCore* core_;
-  base::WeakPtrFactory<ServiceWorkerNavigationHandle> weak_factory_;
+  base::WeakPtrFactory<ServiceWorkerNavigationHandle> weak_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(ServiceWorkerNavigationHandle);
 };
 
diff --git a/content/browser/service_worker/service_worker_navigation_loader.cc b/content/browser/service_worker/service_worker_navigation_loader.cc
index d74ca80..212375f5 100644
--- a/content/browser/service_worker/service_worker_navigation_loader.cc
+++ b/content/browser/service_worker/service_worker_navigation_loader.cc
@@ -86,8 +86,7 @@
       delegate_(delegate),
       provider_host_(std::move(provider_host)),
       url_loader_factory_getter_(std::move(url_loader_factory_getter)),
-      binding_(this),
-      weak_factory_(this) {
+      binding_(this) {
   TRACE_EVENT_WITH_FLOW0(
       "ServiceWorker",
       "ServiceWorkerNavigationLoader::ServiceWorkerNavigationLoader", this,
diff --git a/content/browser/service_worker/service_worker_navigation_loader.h b/content/browser/service_worker/service_worker_navigation_loader.h
index af871ed..bb02f33e 100644
--- a/content/browser/service_worker/service_worker_navigation_loader.h
+++ b/content/browser/service_worker/service_worker_navigation_loader.h
@@ -206,7 +206,7 @@
 
   Status status_ = Status::kNotStarted;
 
-  base::WeakPtrFactory<ServiceWorkerNavigationLoader> weak_factory_;
+  base::WeakPtrFactory<ServiceWorkerNavigationLoader> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ServiceWorkerNavigationLoader);
 };
diff --git a/content/browser/service_worker/service_worker_new_script_loader.cc b/content/browser/service_worker/service_worker_new_script_loader.cc
index d5783b9..a8f05f9 100644
--- a/content/browser/service_worker/service_worker_new_script_loader.cc
+++ b/content/browser/service_worker/service_worker_new_script_loader.cc
@@ -94,8 +94,7 @@
       type_(Type::kNetworkOnly),
       client_producer_watcher_(FROM_HERE,
                                mojo::SimpleWatcher::ArmingPolicy::MANUAL,
-                               base::SequencedTaskRunnerHandle::Get()),
-      weak_factory_(this) {
+                               base::SequencedTaskRunnerHandle::Get()) {
   network::ResourceRequest resource_request(original_request);
 #if DCHECK_IS_ON()
   CheckVersionStatusBeforeLoad();
@@ -190,8 +189,7 @@
       client_producer_watcher_(FROM_HERE,
                                mojo::SimpleWatcher::ArmingPolicy::MANUAL,
                                base::SequencedTaskRunnerHandle::Get()),
-      request_start_(base::TimeTicks::Now()),
-      weak_factory_(this) {
+      request_start_(base::TimeTicks::Now()) {
 #if DCHECK_IS_ON()
   CheckVersionStatusBeforeLoad();
 #endif  // DCHECK_IS_ON()
diff --git a/content/browser/service_worker/service_worker_new_script_loader.h b/content/browser/service_worker/service_worker_new_script_loader.h
index 36cff0d..79f7a180 100644
--- a/content/browser/service_worker/service_worker_new_script_loader.h
+++ b/content/browser/service_worker/service_worker_new_script_loader.h
@@ -312,7 +312,7 @@
   base::OnceCallback<void(net::Error)> write_observer_complete_callback_;
   // ---------- End of Type::kResume loader members ----------
 
-  base::WeakPtrFactory<ServiceWorkerNewScriptLoader> weak_factory_;
+  base::WeakPtrFactory<ServiceWorkerNewScriptLoader> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ServiceWorkerNewScriptLoader);
 };
diff --git a/content/browser/service_worker/service_worker_object_host.cc b/content/browser/service_worker/service_worker_object_host.cc
index d6a44485..8d978a6 100644
--- a/content/browser/service_worker/service_worker_object_host.cc
+++ b/content/browser/service_worker/service_worker_object_host.cc
@@ -199,8 +199,7 @@
     : context_(context),
       provider_host_(provider_host),
       provider_origin_(url::Origin::Create(provider_host->url())),
-      version_(std::move(version)),
-      weak_ptr_factory_(this) {
+      version_(std::move(version)) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   DCHECK(context_ && provider_host_ && version_);
   DCHECK(context_->GetLiveRegistration(version_->registration_id()));
diff --git a/content/browser/service_worker/service_worker_object_host.h b/content/browser/service_worker/service_worker_object_host.h
index 0c43f3a..75be5dc 100644
--- a/content/browser/service_worker/service_worker_object_host.h
+++ b/content/browser/service_worker/service_worker_object_host.h
@@ -120,7 +120,7 @@
   mojo::AssociatedInterfacePtrSet<blink::mojom::ServiceWorkerObject>
       remote_objects_;
 
-  base::WeakPtrFactory<ServiceWorkerObjectHost> weak_ptr_factory_;
+  base::WeakPtrFactory<ServiceWorkerObjectHost> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ServiceWorkerObjectHost);
 };
diff --git a/content/browser/service_worker/service_worker_process_manager.cc b/content/browser/service_worker/service_worker_process_manager.cc
index 8f5225e5..6b1ecc2 100644
--- a/content/browser/service_worker/service_worker_process_manager.cc
+++ b/content/browser/service_worker/service_worker_process_manager.cc
@@ -25,8 +25,7 @@
     : browser_context_(browser_context),
       storage_partition_(nullptr),
       process_id_for_test_(ChildProcessHost::kInvalidUniqueID),
-      new_process_id_for_test_(ChildProcessHost::kInvalidUniqueID),
-      weak_this_factory_(this) {
+      new_process_id_for_test_(ChildProcessHost::kInvalidUniqueID) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   DCHECK(browser_context);
   weak_this_ = weak_this_factory_.GetWeakPtr();
diff --git a/content/browser/service_worker/service_worker_process_manager.h b/content/browser/service_worker/service_worker_process_manager.h
index 7eada9bf..377cf7e6 100644
--- a/content/browser/service_worker/service_worker_process_manager.h
+++ b/content/browser/service_worker/service_worker_process_manager.h
@@ -137,7 +137,7 @@
 
   // Used to double-check that we don't access *this after it's destroyed.
   base::WeakPtr<ServiceWorkerProcessManager> weak_this_;
-  base::WeakPtrFactory<ServiceWorkerProcessManager> weak_this_factory_;
+  base::WeakPtrFactory<ServiceWorkerProcessManager> weak_this_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/service_worker/service_worker_register_job.cc b/content/browser/service_worker/service_worker_register_job.cc
index b24403e..a131ff6f 100644
--- a/content/browser/service_worker/service_worker_register_job.cc
+++ b/content/browser/service_worker/service_worker_register_job.cc
@@ -52,8 +52,7 @@
       should_uninstall_on_failure_(false),
       force_bypass_cache_(false),
       skip_script_comparison_(false),
-      promise_resolved_status_(blink::ServiceWorkerStatusCode::kOk),
-      weak_factory_(this) {}
+      promise_resolved_status_(blink::ServiceWorkerStatusCode::kOk) {}
 
 ServiceWorkerRegisterJob::ServiceWorkerRegisterJob(
     base::WeakPtr<ServiceWorkerContextCore> context,
@@ -70,8 +69,7 @@
       should_uninstall_on_failure_(false),
       force_bypass_cache_(force_bypass_cache),
       skip_script_comparison_(skip_script_comparison),
-      promise_resolved_status_(blink::ServiceWorkerStatusCode::kOk),
-      weak_factory_(this) {
+      promise_resolved_status_(blink::ServiceWorkerStatusCode::kOk) {
   internal_.registration = registration;
 }
 
diff --git a/content/browser/service_worker/service_worker_register_job.h b/content/browser/service_worker/service_worker_register_job.h
index 4eda2cfe..bfa91dae 100644
--- a/content/browser/service_worker/service_worker_register_job.h
+++ b/content/browser/service_worker/service_worker_register_job.h
@@ -198,7 +198,7 @@
   std::string promise_resolved_status_message_;
   scoped_refptr<ServiceWorkerRegistration> promise_resolved_registration_;
 
-  base::WeakPtrFactory<ServiceWorkerRegisterJob> weak_factory_;
+  base::WeakPtrFactory<ServiceWorkerRegisterJob> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ServiceWorkerRegisterJob);
 };
diff --git a/content/browser/service_worker/service_worker_registration_object_host.cc b/content/browser/service_worker/service_worker_registration_object_host.cc
index 4a1f47f..422b38e 100644
--- a/content/browser/service_worker/service_worker_registration_object_host.cc
+++ b/content/browser/service_worker/service_worker_registration_object_host.cc
@@ -83,8 +83,7 @@
     scoped_refptr<ServiceWorkerRegistration> registration)
     : provider_host_(provider_host),
       context_(context),
-      registration_(registration),
-      weak_ptr_factory_(this) {
+      registration_(registration) {
   DCHECK(registration_.get());
   DCHECK(provider_host_);
   registration_->AddListener(this);
diff --git a/content/browser/service_worker/service_worker_registration_object_host.h b/content/browser/service_worker/service_worker_registration_object_host.h
index db6c5f8..4f69054 100644
--- a/content/browser/service_worker/service_worker_registration_object_host.h
+++ b/content/browser/service_worker/service_worker_registration_object_host.h
@@ -146,7 +146,8 @@
   blink::mojom::ServiceWorkerRegistrationObjectAssociatedPtr
       remote_registration_;
 
-  base::WeakPtrFactory<ServiceWorkerRegistrationObjectHost> weak_ptr_factory_;
+  base::WeakPtrFactory<ServiceWorkerRegistrationObjectHost> weak_ptr_factory_{
+      this};
 
   DISALLOW_COPY_AND_ASSIGN(ServiceWorkerRegistrationObjectHost);
 };
diff --git a/content/browser/service_worker/service_worker_script_cache_map.cc b/content/browser/service_worker/service_worker_script_cache_map.cc
index 39bd78a..2ba6bb5 100644
--- a/content/browser/service_worker/service_worker_script_cache_map.cc
+++ b/content/browser/service_worker/service_worker_script_cache_map.cc
@@ -21,8 +21,7 @@
 ServiceWorkerScriptCacheMap::ServiceWorkerScriptCacheMap(
     ServiceWorkerVersion* owner,
     base::WeakPtr<ServiceWorkerContextCore> context)
-    : owner_(owner), context_(context), weak_factory_(this) {
-}
+    : owner_(owner), context_(context) {}
 
 ServiceWorkerScriptCacheMap::~ServiceWorkerScriptCacheMap() {
 }
diff --git a/content/browser/service_worker/service_worker_script_cache_map.h b/content/browser/service_worker/service_worker_script_cache_map.h
index 23c9ee3c..9c6f68c 100644
--- a/content/browser/service_worker/service_worker_script_cache_map.h
+++ b/content/browser/service_worker/service_worker_script_cache_map.h
@@ -89,7 +89,7 @@
   net::URLRequestStatus main_script_status_;
   std::string main_script_status_message_;
 
-  base::WeakPtrFactory<ServiceWorkerScriptCacheMap> weak_factory_;
+  base::WeakPtrFactory<ServiceWorkerScriptCacheMap> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ServiceWorkerScriptCacheMap);
 };
diff --git a/content/browser/service_worker/service_worker_script_loader_factory.cc b/content/browser/service_worker/service_worker_script_loader_factory.cc
index 9cc8519..06167da8 100644
--- a/content/browser/service_worker/service_worker_script_loader_factory.cc
+++ b/content/browser/service_worker/service_worker_script_loader_factory.cc
@@ -30,8 +30,7 @@
     : context_(context),
       provider_host_(provider_host),
       loader_factory_for_new_scripts_(
-          std::move(loader_factory_for_new_scripts)),
-      weak_factory_(this) {
+          std::move(loader_factory_for_new_scripts)) {
   DCHECK(provider_host_->IsProviderForServiceWorker());
   DCHECK(loader_factory_for_new_scripts_ ||
          ServiceWorkerVersion::IsInstalled(
diff --git a/content/browser/service_worker/service_worker_script_loader_factory.h b/content/browser/service_worker/service_worker_script_loader_factory.h
index adb571a..928e4b8 100644
--- a/content/browser/service_worker/service_worker_script_loader_factory.h
+++ b/content/browser/service_worker/service_worker_script_loader_factory.h
@@ -104,7 +104,7 @@
   // Used to copy script started at CopyScript().
   std::unique_ptr<ServiceWorkerCacheWriter> cache_writer_;
 
-  base::WeakPtrFactory<ServiceWorkerScriptLoaderFactory> weak_factory_;
+  base::WeakPtrFactory<ServiceWorkerScriptLoaderFactory> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ServiceWorkerScriptLoaderFactory);
 };
diff --git a/content/browser/service_worker/service_worker_single_script_update_checker.cc b/content/browser/service_worker/service_worker_single_script_update_checker.cc
index 0844809..88bbd3e 100644
--- a/content/browser/service_worker/service_worker_single_script_update_checker.cc
+++ b/content/browser/service_worker/service_worker_single_script_update_checker.cc
@@ -103,8 +103,7 @@
       network_watcher_(FROM_HERE,
                        mojo::SimpleWatcher::ArmingPolicy::MANUAL,
                        base::SequencedTaskRunnerHandle::Get()),
-      callback_(std::move(callback)),
-      weak_factory_(this) {
+      callback_(std::move(callback)) {
   network::ResourceRequest resource_request;
   resource_request.url = url;
   resource_request.resource_type = static_cast<int>(
diff --git a/content/browser/service_worker/service_worker_single_script_update_checker.h b/content/browser/service_worker/service_worker_single_script_update_checker.h
index cacf99a..8e30733 100644
--- a/content/browser/service_worker/service_worker_single_script_update_checker.h
+++ b/content/browser/service_worker/service_worker_single_script_update_checker.h
@@ -202,7 +202,8 @@
   ServiceWorkerNewScriptLoader::WriterState body_writer_state_ =
       ServiceWorkerNewScriptLoader::WriterState::kNotStarted;
 
-  base::WeakPtrFactory<ServiceWorkerSingleScriptUpdateChecker> weak_factory_;
+  base::WeakPtrFactory<ServiceWorkerSingleScriptUpdateChecker> weak_factory_{
+      this};
 
   DISALLOW_IMPLICIT_CONSTRUCTORS(ServiceWorkerSingleScriptUpdateChecker);
 };
diff --git a/content/browser/service_worker/service_worker_storage.cc b/content/browser/service_worker/service_worker_storage.cc
index de65b73e..d368dce 100644
--- a/content/browser/service_worker/service_worker_storage.cc
+++ b/content/browser/service_worker/service_worker_storage.cc
@@ -1155,8 +1155,7 @@
       quota_manager_proxy_(quota_manager_proxy),
       special_storage_policy_(special_storage_policy),
       is_purge_pending_(false),
-      has_checked_for_stale_resources_(false),
-      weak_factory_(this) {
+      has_checked_for_stale_resources_(false) {
   DCHECK(context_);
   database_.reset(new ServiceWorkerDatabase(GetDatabasePath()));
 }
diff --git a/content/browser/service_worker/service_worker_storage.h b/content/browser/service_worker/service_worker_storage.h
index 02177be3..20ed83f 100644
--- a/content/browser/service_worker/service_worker_storage.h
+++ b/content/browser/service_worker/service_worker_storage.h
@@ -614,7 +614,7 @@
   bool is_purge_pending_;
   bool has_checked_for_stale_resources_;
 
-  base::WeakPtrFactory<ServiceWorkerStorage> weak_factory_;
+  base::WeakPtrFactory<ServiceWorkerStorage> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ServiceWorkerStorage);
 };
diff --git a/content/browser/service_worker/service_worker_unregister_job.cc b/content/browser/service_worker/service_worker_unregister_job.cc
index c457b7c5..3b1894d 100644
--- a/content/browser/service_worker/service_worker_unregister_job.cc
+++ b/content/browser/service_worker/service_worker_unregister_job.cc
@@ -21,10 +21,7 @@
 ServiceWorkerUnregisterJob::ServiceWorkerUnregisterJob(
     base::WeakPtr<ServiceWorkerContextCore> context,
     const GURL& scope)
-    : context_(context),
-      scope_(scope),
-      is_promise_resolved_(false),
-      weak_factory_(this) {}
+    : context_(context), scope_(scope), is_promise_resolved_(false) {}
 
 ServiceWorkerUnregisterJob::~ServiceWorkerUnregisterJob() {}
 
diff --git a/content/browser/service_worker/service_worker_unregister_job.h b/content/browser/service_worker/service_worker_unregister_job.h
index f2eade8..96702691 100644
--- a/content/browser/service_worker/service_worker_unregister_job.h
+++ b/content/browser/service_worker/service_worker_unregister_job.h
@@ -60,7 +60,7 @@
   const GURL scope_;
   std::vector<UnregistrationCallback> callbacks_;
   bool is_promise_resolved_;
-  base::WeakPtrFactory<ServiceWorkerUnregisterJob> weak_factory_;
+  base::WeakPtrFactory<ServiceWorkerUnregisterJob> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ServiceWorkerUnregisterJob);
 };
diff --git a/content/browser/service_worker/service_worker_update_checker.cc b/content/browser/service_worker/service_worker_update_checker.cc
index 536c44e..2286ae8e7 100644
--- a/content/browser/service_worker/service_worker_update_checker.cc
+++ b/content/browser/service_worker/service_worker_update_checker.cc
@@ -27,8 +27,7 @@
       loader_factory_(std::move(loader_factory)),
       force_bypass_cache_(force_bypass_cache),
       update_via_cache_(update_via_cache),
-      time_since_last_check_(time_since_last_check),
-      weak_factory_(this) {}
+      time_since_last_check_(time_since_last_check) {}
 
 ServiceWorkerUpdateChecker::~ServiceWorkerUpdateChecker() = default;
 
diff --git a/content/browser/service_worker/service_worker_update_checker.h b/content/browser/service_worker/service_worker_update_checker.h
index 6dba085e..a314128 100644
--- a/content/browser/service_worker/service_worker_update_checker.h
+++ b/content/browser/service_worker/service_worker_update_checker.h
@@ -111,7 +111,7 @@
   // True if any at least one of the scripts is fetched by network.
   bool network_accessed_ = false;
 
-  base::WeakPtrFactory<ServiceWorkerUpdateChecker> weak_factory_;
+  base::WeakPtrFactory<ServiceWorkerUpdateChecker> weak_factory_{this};
 
   DISALLOW_IMPLICIT_CONSTRUCTORS(ServiceWorkerUpdateChecker);
 };
diff --git a/content/browser/service_worker/service_worker_version.cc b/content/browser/service_worker/service_worker_version.cc
index c187418a..7ebd70d 100644
--- a/content/browser/service_worker/service_worker_version.cc
+++ b/content/browser/service_worker/service_worker_version.cc
@@ -245,8 +245,7 @@
       tick_clock_(base::DefaultTickClock::GetInstance()),
       clock_(base::DefaultClock::GetInstance()),
       ping_controller_(this),
-      validator_(std::make_unique<blink::TrialTokenValidator>()),
-      weak_factory_(this) {
+      validator_(std::make_unique<blink::TrialTokenValidator>()) {
   DCHECK_NE(blink::mojom::kInvalidServiceWorkerVersionId, version_id);
   DCHECK(context_);
   DCHECK(registration);
diff --git a/content/browser/service_worker/service_worker_version.h b/content/browser/service_worker/service_worker_version.h
index 32e3064..5b64374e 100644
--- a/content/browser/service_worker/service_worker_version.h
+++ b/content/browser/service_worker/service_worker_version.h
@@ -960,7 +960,7 @@
   // This is set when this service worker becomes redundant.
   base::debug::StackTrace redundant_state_callstack_;
 
-  base::WeakPtrFactory<ServiceWorkerVersion> weak_factory_;
+  base::WeakPtrFactory<ServiceWorkerVersion> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ServiceWorkerVersion);
 };
diff --git a/content/browser/speech/speech_recognition_dispatcher_host.cc b/content/browser/speech/speech_recognition_dispatcher_host.cc
index e898a43..9e2e1014 100644
--- a/content/browser/speech/speech_recognition_dispatcher_host.cc
+++ b/content/browser/speech/speech_recognition_dispatcher_host.cc
@@ -34,9 +34,7 @@
 SpeechRecognitionDispatcherHost::SpeechRecognitionDispatcherHost(
     int render_process_id,
     int render_frame_id)
-    : render_process_id_(render_process_id),
-      render_frame_id_(render_frame_id),
-      weak_factory_(this) {
+    : render_process_id_(render_process_id), render_frame_id_(render_frame_id) {
   // Do not add any non-trivial initialization here, instead do it lazily when
   // required (e.g. see the method |SpeechRecognitionManager::GetInstance()|) or
   // add an Init() method.
@@ -204,8 +202,7 @@
     blink::mojom::SpeechRecognitionSessionClientPtrInfo client_ptr_info)
     : session_id_(SpeechRecognitionManager::kSessionIDInvalid),
       client_(std::move(client_ptr_info)),
-      stopped_(false),
-      weak_factory_(this) {
+      stopped_(false) {
   client_.set_connection_error_handler(
       base::BindOnce(&SpeechRecognitionSession::ConnectionErrorHandler,
                      base::Unretained(this)));
diff --git a/content/browser/speech/speech_recognition_dispatcher_host.h b/content/browser/speech/speech_recognition_dispatcher_host.h
index 2ae1596..2137385c 100644
--- a/content/browser/speech/speech_recognition_dispatcher_host.h
+++ b/content/browser/speech/speech_recognition_dispatcher_host.h
@@ -65,7 +65,7 @@
   // Used for posting asynchronous tasks (on the IO thread) without worrying
   // about this class being destroyed in the meanwhile (due to browser shutdown)
   // since tasks pending on a destroyed WeakPtr are automatically discarded.
-  base::WeakPtrFactory<SpeechRecognitionDispatcherHost> weak_factory_;
+  base::WeakPtrFactory<SpeechRecognitionDispatcherHost> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(SpeechRecognitionDispatcherHost);
 };
@@ -115,7 +115,7 @@
   blink::mojom::SpeechRecognitionSessionClientPtr client_;
   bool stopped_;
 
-  base::WeakPtrFactory<SpeechRecognitionSession> weak_factory_;
+  base::WeakPtrFactory<SpeechRecognitionSession> weak_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/speech/speech_recognition_manager_impl.cc b/content/browser/speech/speech_recognition_manager_impl.cc
index ef826ac..6c093d7 100644
--- a/content/browser/speech/speech_recognition_manager_impl.cc
+++ b/content/browser/speech/speech_recognition_manager_impl.cc
@@ -234,8 +234,7 @@
       delegate_(GetContentClient()
                     ->browser()
                     ->CreateSpeechRecognitionManagerDelegate()),
-      requester_id_(next_requester_id_++),
-      weak_factory_(this) {
+      requester_id_(next_requester_id_++) {
   DCHECK(!g_speech_recognition_manager_impl);
   g_speech_recognition_manager_impl = this;
 
diff --git a/content/browser/speech/speech_recognition_manager_impl.h b/content/browser/speech/speech_recognition_manager_impl.h
index 64bc307..7f67f59b 100644
--- a/content/browser/speech/speech_recognition_manager_impl.h
+++ b/content/browser/speech/speech_recognition_manager_impl.h
@@ -193,7 +193,7 @@
   // Used for posting asynchronous tasks (on the IO thread) without worrying
   // about this class being destroyed in the meanwhile (due to browser shutdown)
   // since tasks pending on a destroyed WeakPtr are automatically discarded.
-  base::WeakPtrFactory<SpeechRecognitionManagerImpl> weak_factory_;
+  base::WeakPtrFactory<SpeechRecognitionManagerImpl> weak_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/speech/speech_recognizer_impl.cc b/content/browser/speech/speech_recognizer_impl.cc
index 35ed5f7..8b28929 100644
--- a/content/browser/speech/speech_recognizer_impl.cc
+++ b/content/browser/speech/speech_recognizer_impl.cc
@@ -187,8 +187,7 @@
       is_dispatching_event_(false),
       provisional_results_(provisional_results),
       end_of_utterance_(false),
-      state_(STATE_IDLE),
-      weak_ptr_factory_(this) {
+      state_(STATE_IDLE) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   DCHECK(recognition_engine_ != nullptr);
   DCHECK(audio_system_ != nullptr);
diff --git a/content/browser/speech/speech_recognizer_impl.h b/content/browser/speech/speech_recognizer_impl.h
index b802895..8b966d992 100644
--- a/content/browser/speech/speech_recognizer_impl.h
+++ b/content/browser/speech/speech_recognizer_impl.h
@@ -184,7 +184,7 @@
   // output format.
   std::unique_ptr<SpeechRecognizerImpl::OnDataConverter> audio_converter_;
 
-  base::WeakPtrFactory<SpeechRecognizerImpl> weak_ptr_factory_;
+  base::WeakPtrFactory<SpeechRecognizerImpl> weak_ptr_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(SpeechRecognizerImpl);
 };
 
diff --git a/content/browser/speech/tts_linux.cc b/content/browser/speech/tts_linux.cc
index 6f1b783..4a158e8 100644
--- a/content/browser/speech/tts_linux.cc
+++ b/content/browser/speech/tts_linux.cc
@@ -97,7 +97,7 @@
 
   friend struct base::DefaultSingletonTraits<TtsPlatformImplLinux>;
 
-  base::WeakPtrFactory<TtsPlatformImplLinux> weak_factory_;
+  base::WeakPtrFactory<TtsPlatformImplLinux> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(TtsPlatformImplLinux);
 };
@@ -105,8 +105,7 @@
 // static
 SPDNotificationType TtsPlatformImplLinux::current_notification_ = SPD_EVENT_END;
 
-TtsPlatformImplLinux::TtsPlatformImplLinux()
-    : utterance_id_(0), weak_factory_(this) {
+TtsPlatformImplLinux::TtsPlatformImplLinux() : utterance_id_(0) {
   const base::CommandLine& command_line =
       *base::CommandLine::ForCurrentProcess();
   if (!command_line.HasSwitch(switches::kEnableSpeechDispatcher))
diff --git a/content/browser/ssl/ssl_client_auth_handler.cc b/content/browser/ssl/ssl_client_auth_handler.cc
index b8e6b02..54e5d60 100644
--- a/content/browser/ssl/ssl_client_auth_handler.cc
+++ b/content/browser/ssl/ssl_client_auth_handler.cc
@@ -153,8 +153,7 @@
     Delegate* delegate)
     : web_contents_getter_(web_contents_getter),
       cert_request_info_(cert_request_info),
-      delegate_(delegate),
-      weak_factory_(this) {
+      delegate_(delegate) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 
   core_ = new Core(weak_factory_.GetWeakPtr(), std::move(client_cert_store),
diff --git a/content/browser/ssl/ssl_client_auth_handler.h b/content/browser/ssl/ssl_client_auth_handler.h
index 937e2067..541ae67 100644
--- a/content/browser/ssl/ssl_client_auth_handler.h
+++ b/content/browser/ssl/ssl_client_auth_handler.h
@@ -104,7 +104,7 @@
   // The delegate to call back with the result.
   Delegate* delegate_;
 
-  base::WeakPtrFactory<SSLClientAuthHandler> weak_factory_;
+  base::WeakPtrFactory<SSLClientAuthHandler> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(SSLClientAuthHandler);
 };
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc
index 4254980..186174c5 100644
--- a/content/browser/storage_partition_impl.cc
+++ b/content/browser/storage_partition_impl.cc
@@ -752,8 +752,7 @@
       special_storage_policy_(special_storage_policy),
       network_context_client_binding_(this),
       browser_context_(browser_context),
-      deletion_helpers_running_(0),
-      weak_factory_(this) {}
+      deletion_helpers_running_(0) {}
 
 StoragePartitionImpl::~StoragePartitionImpl() {
   browser_context_ = nullptr;
diff --git a/content/browser/storage_partition_impl.h b/content/browser/storage_partition_impl.h
index 1ed9443..10a6041e 100644
--- a/content/browser/storage_partition_impl.h
+++ b/content/browser/storage_partition_impl.h
@@ -426,7 +426,7 @@
   // Called when all deletions are done. For test use only.
   base::OnceClosure on_deletion_helpers_done_callback_;
 
-  base::WeakPtrFactory<StoragePartitionImpl> weak_factory_;
+  base::WeakPtrFactory<StoragePartitionImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(StoragePartitionImpl);
 };
diff --git a/content/browser/tracing/background_tracing_active_scenario.cc b/content/browser/tracing/background_tracing_active_scenario.cc
index f51917ee..764b2e6 100644
--- a/content/browser/tracing/background_tracing_active_scenario.cc
+++ b/content/browser/tracing/background_tracing_active_scenario.cc
@@ -270,8 +270,7 @@
     : config_(std::move(config)),
       requires_anonymized_data_(requires_anonymized_data),
       receive_callback_(std::move(receive_callback)),
-      on_aborted_callback_(std::move(on_aborted_callback)),
-      weak_ptr_factory_(this) {
+      on_aborted_callback_(std::move(on_aborted_callback)) {
   DCHECK(config_ && !config_->rules().empty());
   for (const auto& rule : config_->rules()) {
     rule->Install();
diff --git a/content/browser/tracing/background_tracing_active_scenario.h b/content/browser/tracing/background_tracing_active_scenario.h
index 3e539ee..ea45fc02 100644
--- a/content/browser/tracing/background_tracing_active_scenario.h
+++ b/content/browser/tracing/background_tracing_active_scenario.h
@@ -96,7 +96,7 @@
   std::unique_ptr<TracingTimer> tracing_timer_;
 
   // NOTE: Weak pointers must be invalidated before all other member variables.
-  base::WeakPtrFactory<BackgroundTracingActiveScenario> weak_ptr_factory_;
+  base::WeakPtrFactory<BackgroundTracingActiveScenario> weak_ptr_factory_{this};
   DISALLOW_COPY_AND_ASSIGN(BackgroundTracingActiveScenario);
 };
 
diff --git a/content/browser/tracing/tracing_ui.cc b/content/browser/tracing/tracing_ui.cc
index 4d305f5..3ed091d 100644
--- a/content/browser/tracing/tracing_ui.cc
+++ b/content/browser/tracing/tracing_ui.cc
@@ -163,8 +163,7 @@
 
 TracingUI::TracingUI(WebUI* web_ui)
     : WebUIController(web_ui),
-      delegate_(GetContentClient()->browser()->GetTracingDelegate()),
-      weak_factory_(this) {
+      delegate_(GetContentClient()->browser()->GetTracingDelegate()) {
   web_ui->RegisterMessageCallback(
       "doUpload",
       base::BindRepeating(&TracingUI::DoUpload, base::Unretained(this)));
diff --git a/content/browser/tracing/tracing_ui.h b/content/browser/tracing/tracing_ui.h
index 0565a02..6f0d9c8f 100644
--- a/content/browser/tracing/tracing_ui.h
+++ b/content/browser/tracing/tracing_ui.h
@@ -46,7 +46,7 @@
 
   std::unique_ptr<TracingDelegate> delegate_;
   std::unique_ptr<TraceUploader> trace_uploader_;
-  base::WeakPtrFactory<TracingUI> weak_factory_;
+  base::WeakPtrFactory<TracingUI> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(TracingUI);
 };
diff --git a/content/browser/utility_process_host.cc b/content/browser/utility_process_host.cc
index cbc9d54d..957059c 100644
--- a/content/browser/utility_process_host.cc
+++ b/content/browser/utility_process_host.cc
@@ -214,8 +214,7 @@
       child_flags_(ChildProcessHost::CHILD_NORMAL),
 #endif
       started_(false),
-      name_(base::ASCIIToUTF16("utility process")),
-      weak_ptr_factory_(this) {
+      name_(base::ASCIIToUTF16("utility process")) {
   process_.reset(new BrowserChildProcessHostImpl(PROCESS_TYPE_UTILITY, this,
                                                  mojom::kUtilityServiceName));
 }
diff --git a/content/browser/utility_process_host.h b/content/browser/utility_process_host.h
index 43ef74ce..6c5c47f 100644
--- a/content/browser/utility_process_host.h
+++ b/content/browser/utility_process_host.h
@@ -160,7 +160,7 @@
       pending_run_service_callbacks_;
 
   // Used to vend weak pointers, and should always be declared last.
-  base::WeakPtrFactory<UtilityProcessHost> weak_ptr_factory_;
+  base::WeakPtrFactory<UtilityProcessHost> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(UtilityProcessHost);
 };
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 4f1cac5..702a9c4c 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -610,9 +610,7 @@
       showing_context_menu_(false),
       text_autosizer_page_info_({0, 0, 1.f}),
       native_theme_observer_(this),
-      had_inner_webcontents_(false),
-      loading_weak_factory_(this),
-      weak_factory_(this) {
+      had_inner_webcontents_(false) {
   frame_tree_.SetFrameRemoveListener(
       base::Bind(&WebContentsImpl::OnFrameRemoved,
                  base::Unretained(this)));
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 46a71cb..327184c1 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -1924,8 +1924,8 @@
   std::unique_ptr<JavaScriptDialogNavigationDeferrer>
       javascript_dialog_navigation_deferrer_;
 
-  base::WeakPtrFactory<WebContentsImpl> loading_weak_factory_;
-  base::WeakPtrFactory<WebContentsImpl> weak_factory_;
+  base::WeakPtrFactory<WebContentsImpl> loading_weak_factory_{this};
+  base::WeakPtrFactory<WebContentsImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(WebContentsImpl);
 };
diff --git a/content/browser/web_package/prefetched_signed_exchange_cache.cc b/content/browser/web_package/prefetched_signed_exchange_cache.cc
index 8c61557..d6bb9dd 100644
--- a/content/browser/web_package/prefetched_signed_exchange_cache.cc
+++ b/content/browser/web_package/prefetched_signed_exchange_cache.cc
@@ -134,8 +134,7 @@
       : response_(inner_response),
         blob_data_handle_(std::move(blob_data_handle)),
         completion_status_(completion_status),
-        client_(std::move(client)),
-        weak_factory_(this) {
+        client_(std::move(client)) {
     DCHECK(response_.headers);
     DCHECK(request.request_initiator);
 
@@ -307,7 +306,7 @@
   network::mojom::URLLoaderClientPtr client_;
   std::unique_ptr<CrossOriginReadBlockingChecker> corb_checker_;
 
-  base::WeakPtrFactory<InnerResponseURLLoader> weak_factory_;
+  base::WeakPtrFactory<InnerResponseURLLoader> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(InnerResponseURLLoader);
 };
@@ -376,9 +375,7 @@
   PrefetchedNavigationLoaderInterceptor(
       std::unique_ptr<const PrefetchedSignedExchangeCache::Entry> exchange,
       std::vector<PrefetchedSignedExchangeInfo> info_list)
-      : exchange_(std::move(exchange)),
-        info_list_(std::move(info_list)),
-        weak_factory_(this) {}
+      : exchange_(std::move(exchange)), info_list_(std::move(info_list)) {}
 
   ~PrefetchedNavigationLoaderInterceptor() override {}
 
@@ -452,7 +449,8 @@
   std::unique_ptr<const PrefetchedSignedExchangeCache::Entry> exchange_;
   std::vector<PrefetchedSignedExchangeInfo> info_list_;
 
-  base::WeakPtrFactory<PrefetchedNavigationLoaderInterceptor> weak_factory_;
+  base::WeakPtrFactory<PrefetchedNavigationLoaderInterceptor> weak_factory_{
+      this};
 
   DISALLOW_COPY_AND_ASSIGN(PrefetchedNavigationLoaderInterceptor);
 };
diff --git a/content/browser/web_package/signed_exchange_handler.cc b/content/browser/web_package/signed_exchange_handler.cc
index 88a4de4..c44b72a 100644
--- a/content/browser/web_package/signed_exchange_handler.cc
+++ b/content/browser/web_package/signed_exchange_handler.cc
@@ -201,8 +201,7 @@
       request_matcher_(std::move(request_matcher)),
       devtools_proxy_(std::move(devtools_proxy)),
       reporter_(reporter),
-      frame_tree_node_id_getter_(frame_tree_node_id_getter),
-      weak_factory_(this) {
+      frame_tree_node_id_getter_(frame_tree_node_id_getter) {
   TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("loading"),
                "SignedExchangeHandler::SignedExchangeHandler");
 
@@ -253,8 +252,7 @@
 SignedExchangeHandler::SignedExchangeHandler()
     : is_secure_transport_(true),
       has_nosniff_(true),
-      load_flags_(net::LOAD_NORMAL),
-      weak_factory_(this) {}
+      load_flags_(net::LOAD_NORMAL) {}
 
 const GURL& SignedExchangeHandler::GetFallbackUrl() const {
   return prologue_fallback_url_and_after_.fallback_url().url;
diff --git a/content/browser/web_package/signed_exchange_handler.h b/content/browser/web_package/signed_exchange_handler.h
index 0fc5029..91dec83 100644
--- a/content/browser/web_package/signed_exchange_handler.h
+++ b/content/browser/web_package/signed_exchange_handler.h
@@ -183,7 +183,7 @@
 
   base::TimeTicks cert_fetch_start_time_;
 
-  base::WeakPtrFactory<SignedExchangeHandler> weak_factory_;
+  base::WeakPtrFactory<SignedExchangeHandler> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(SignedExchangeHandler);
 };
diff --git a/content/browser/web_package/signed_exchange_loader.cc b/content/browser/web_package/signed_exchange_loader.cc
index 4cec257..af7d7a9 100644
--- a/content/browser/web_package/signed_exchange_loader.cc
+++ b/content/browser/web_package/signed_exchange_loader.cc
@@ -83,8 +83,7 @@
       url_loader_throttles_getter_(std::move(url_loader_throttles_getter)),
       frame_tree_node_id_getter_(frame_tree_node_id_getter),
       metric_recorder_(std::move(metric_recorder)),
-      accept_langs_(accept_langs),
-      weak_factory_(this) {
+      accept_langs_(accept_langs) {
   DCHECK(outer_request_.url.is_valid());
 
   // |metric_recorder_| could be null in some tests.
diff --git a/content/browser/web_package/signed_exchange_loader.h b/content/browser/web_package/signed_exchange_loader.h
index c558a55f..7122382 100644
--- a/content/browser/web_package/signed_exchange_loader.h
+++ b/content/browser/web_package/signed_exchange_loader.h
@@ -192,7 +192,7 @@
 
   std::unique_ptr<SignedExchangeValidityPinger> validity_pinger_;
 
-  base::WeakPtrFactory<SignedExchangeLoader> weak_factory_;
+  base::WeakPtrFactory<SignedExchangeLoader> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(SignedExchangeLoader);
 };
diff --git a/content/browser/web_package/signed_exchange_request_handler.cc b/content/browser/web_package/signed_exchange_request_handler.cc
index d597873..9a29e53 100644
--- a/content/browser/web_package/signed_exchange_request_handler.cc
+++ b/content/browser/web_package/signed_exchange_request_handler.cc
@@ -44,9 +44,7 @@
       url_loader_factory_(url_loader_factory),
       url_loader_throttles_getter_(std::move(url_loader_throttles_getter)),
       metric_recorder_(std::move(metric_recorder)),
-      accept_langs_(std::move(accept_langs)),
-      weak_factory_(this) {
-}
+      accept_langs_(std::move(accept_langs)) {}
 
 SignedExchangeRequestHandler::~SignedExchangeRequestHandler() = default;
 
diff --git a/content/browser/web_package/signed_exchange_request_handler.h b/content/browser/web_package/signed_exchange_request_handler.h
index 1b0b593..09b1012 100644
--- a/content/browser/web_package/signed_exchange_request_handler.h
+++ b/content/browser/web_package/signed_exchange_request_handler.h
@@ -76,7 +76,7 @@
   scoped_refptr<SignedExchangePrefetchMetricRecorder> metric_recorder_;
   const std::string accept_langs_;
 
-  base::WeakPtrFactory<SignedExchangeRequestHandler> weak_factory_;
+  base::WeakPtrFactory<SignedExchangeRequestHandler> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(SignedExchangeRequestHandler);
 };
diff --git a/content/browser/webauth/authenticator_common.cc b/content/browser/webauth/authenticator_common.cc
index 20308717..1a45dcc 100644
--- a/content/browser/webauth/authenticator_common.cc
+++ b/content/browser/webauth/authenticator_common.cc
@@ -545,8 +545,7 @@
     : render_frame_host_(render_frame_host),
       connector_(connector),
       transports_(GetTransportsEnabledByFlags()),
-      timer_(std::move(timer)),
-      weak_factory_(this) {
+      timer_(std::move(timer)) {
   DCHECK(render_frame_host_);
   DCHECK(timer_);
 }
diff --git a/content/browser/webauth/authenticator_common.h b/content/browser/webauth/authenticator_common.h
index d2b7ef5..08d8bd6 100644
--- a/content/browser/webauth/authenticator_common.h
+++ b/content/browser/webauth/authenticator_common.h
@@ -222,7 +222,7 @@
   blink::mojom::AuthenticatorStatus error_awaiting_user_acknowledgement_ =
       blink::mojom::AuthenticatorStatus::NOT_ALLOWED_ERROR;
 
-  base::WeakPtrFactory<AuthenticatorCommon> weak_factory_;
+  base::WeakPtrFactory<AuthenticatorCommon> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(AuthenticatorCommon);
 };
diff --git a/content/browser/webauth/authenticator_impl.cc b/content/browser/webauth/authenticator_impl.cc
index 14213f0..a3bdbdb 100644
--- a/content/browser/webauth/authenticator_impl.cc
+++ b/content/browser/webauth/authenticator_impl.cc
@@ -28,8 +28,7 @@
     std::unique_ptr<AuthenticatorCommon> authenticator_common)
     : WebContentsObserver(WebContents::FromRenderFrameHost(render_frame_host)),
       render_frame_host_(render_frame_host),
-      authenticator_common_(std::move(authenticator_common)),
-      weak_factory_(this) {
+      authenticator_common_(std::move(authenticator_common)) {
   DCHECK(render_frame_host_);
   DCHECK(authenticator_common_);
 }
diff --git a/content/browser/webauth/authenticator_impl.h b/content/browser/webauth/authenticator_impl.h
index 9819af8..90b881d 100644
--- a/content/browser/webauth/authenticator_impl.h
+++ b/content/browser/webauth/authenticator_impl.h
@@ -91,7 +91,7 @@
   // Owns pipes to this Authenticator from |render_frame_host_|.
   mojo::Receiver<blink::mojom::Authenticator> receiver_{this};
 
-  base::WeakPtrFactory<AuthenticatorImpl> weak_factory_;
+  base::WeakPtrFactory<AuthenticatorImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(AuthenticatorImpl);
 };
diff --git a/content/browser/webrtc/webrtc_internals.cc b/content/browser/webrtc/webrtc_internals.cc
index eae73aa7..c943ada 100644
--- a/content/browser/webrtc/webrtc_internals.cc
+++ b/content/browser/webrtc/webrtc_internals.cc
@@ -102,8 +102,7 @@
       event_log_recordings_(false),
       num_connected_connections_(0),
       should_block_power_saving_(should_block_power_saving),
-      aggregate_updates_ms_(aggregate_updates_ms),
-      weak_factory_(this) {
+      aggregate_updates_ms_(aggregate_updates_ms) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   DCHECK(!g_webrtc_internals);
 
diff --git a/content/browser/webrtc/webrtc_internals.h b/content/browser/webrtc/webrtc_internals.h
index 3070996..b10e8a9 100644
--- a/content/browser/webrtc/webrtc_internals.h
+++ b/content/browser/webrtc/webrtc_internals.h
@@ -291,7 +291,7 @@
   const int aggregate_updates_ms_;
 
   // Weak factory for this object that we use for bulking up updates.
-  base::WeakPtrFactory<WebRTCInternals> weak_factory_;
+  base::WeakPtrFactory<WebRTCInternals> weak_factory_{this};
 };
 
 }  // namespace content
diff --git a/content/browser/webrtc/webrtc_video_capture_service_browsertest.cc b/content/browser/webrtc/webrtc_video_capture_service_browsertest.cc
index 9619ff9..2dee5d94 100644
--- a/content/browser/webrtc/webrtc_video_capture_service_browsertest.cc
+++ b/content/browser/webrtc/webrtc_video_capture_service_browsertest.cc
@@ -95,9 +95,7 @@
 // RGB dummy frames, one dark one and one light one.
 class TextureDeviceExerciser : public VirtualDeviceExerciser {
  public:
-  TextureDeviceExerciser() : weak_factory_(this) {
-    DETACH_FROM_SEQUENCE(sequence_checker_);
-  }
+  TextureDeviceExerciser() { DETACH_FROM_SEQUENCE(sequence_checker_); }
 
   void Initialize() override {
     ImageTransportFactory* factory = ImageTransportFactory::GetInstance();
@@ -230,7 +228,7 @@
   std::vector<gpu::MailboxHolder> dummy_frame_0_mailbox_holder_;
   std::vector<gpu::MailboxHolder> dummy_frame_1_mailbox_holder_;
   std::array<bool, 2> frame_being_consumed_;
-  base::WeakPtrFactory<TextureDeviceExerciser> weak_factory_;
+  base::WeakPtrFactory<TextureDeviceExerciser> weak_factory_{this};
 };
 
 // A VirtualDeviceExerciser for exercising
@@ -242,9 +240,7 @@
  public:
   explicit SharedMemoryDeviceExerciser(
       media::mojom::PlaneStridesPtr strides = nullptr)
-      : strides_(std::move(strides)),
-        producer_binding_(this),
-        weak_factory_(this) {}
+      : strides_(std::move(strides)), producer_binding_(this) {}
 
   // VirtualDeviceExerciser implementation.
   void Initialize() override {}
@@ -396,7 +392,7 @@
   std::map<int32_t /*buffer_id*/,
            std::unique_ptr<media::SharedMemoryHandleProvider>>
       outgoing_buffer_id_to_buffer_map_;
-  base::WeakPtrFactory<SharedMemoryDeviceExerciser> weak_factory_;
+  base::WeakPtrFactory<SharedMemoryDeviceExerciser> weak_factory_{this};
 };
 
 // Integration test that obtains a connection to the video capture service via
@@ -407,7 +403,7 @@
 class WebRtcVideoCaptureServiceBrowserTest : public ContentBrowserTest {
  public:
   WebRtcVideoCaptureServiceBrowserTest()
-      : virtual_device_thread_("Virtual Device Thread"), weak_factory_(this) {
+      : virtual_device_thread_("Virtual Device Thread") {
     scoped_feature_list_.InitAndEnableFeature(features::kMojoVideoCapture);
     virtual_device_thread_.Start();
   }
@@ -524,7 +520,8 @@
   video_capture::mojom::DeviceFactoryPtr factory_;
   gfx::Size video_size_;
   base::TimeTicks first_frame_time_;
-  base::WeakPtrFactory<WebRtcVideoCaptureServiceBrowserTest> weak_factory_;
+  base::WeakPtrFactory<WebRtcVideoCaptureServiceBrowserTest> weak_factory_{
+      this};
 
   DISALLOW_COPY_AND_ASSIGN(WebRtcVideoCaptureServiceBrowserTest);
 };
diff --git a/content/browser/webrtc/webrtc_video_capture_shared_device_browsertest.cc b/content/browser/webrtc/webrtc_video_capture_shared_device_browsertest.cc
index f056db9..1079f1dd 100644
--- a/content/browser/webrtc/webrtc_video_capture_shared_device_browsertest.cc
+++ b/content/browser/webrtc/webrtc_video_capture_shared_device_browsertest.cc
@@ -69,7 +69,7 @@
     : public ContentBrowserTest,
       public testing::WithParamInterface<TestParams> {
  public:
-  WebRtcVideoCaptureSharedDeviceBrowserTest() : weak_factory_(this) {
+  WebRtcVideoCaptureSharedDeviceBrowserTest() {
     scoped_feature_list_.InitAndEnableFeature(features::kMojoVideoCapture);
   }
 
@@ -212,7 +212,8 @@
   video_capture::mojom::PushVideoStreamSubscriptionPtr subscription_;
 
   video_capture::mojom::ReceiverPtr receiver_proxy_;
-  base::WeakPtrFactory<WebRtcVideoCaptureSharedDeviceBrowserTest> weak_factory_;
+  base::WeakPtrFactory<WebRtcVideoCaptureSharedDeviceBrowserTest> weak_factory_{
+      this};
 
   DISALLOW_COPY_AND_ASSIGN(WebRtcVideoCaptureSharedDeviceBrowserTest);
 };
diff --git a/content/browser/websockets/websocket_manager.cc b/content/browser/websockets/websocket_manager.cc
index 3a2d411..ced3c13 100644
--- a/content/browser/websockets/websocket_manager.cc
+++ b/content/browser/websockets/websocket_manager.cc
@@ -103,7 +103,7 @@
     explicit SSLErrorHandlerDelegate(
         std::unique_ptr<net::WebSocketEventInterface::SSLErrorCallbacks>
             callbacks)
-        : callbacks_(std::move(callbacks)), weak_ptr_factory_(this) {}
+        : callbacks_(std::move(callbacks)) {}
     ~SSLErrorHandlerDelegate() override {}
 
     base::WeakPtr<SSLErrorHandler::Delegate> GetWeakPtr() {
@@ -127,7 +127,7 @@
    private:
     std::unique_ptr<net::WebSocketEventInterface::SSLErrorCallbacks> callbacks_;
 
-    base::WeakPtrFactory<SSLErrorHandlerDelegate> weak_ptr_factory_;
+    base::WeakPtrFactory<SSLErrorHandlerDelegate> weak_ptr_factory_{this};
 
     DISALLOW_COPY_AND_ASSIGN(SSLErrorHandlerDelegate);
   };
diff --git a/content/browser/webui/url_data_manager_backend.cc b/content/browser/webui/url_data_manager_backend.cc
index 8facf181..9004a16a 100644
--- a/content/browser/webui/url_data_manager_backend.cc
+++ b/content/browser/webui/url_data_manager_backend.cc
@@ -159,7 +159,7 @@
   // The backend is owned by net::URLRequestContext and always outlives us.
   URLDataManagerBackend* const backend_;
 
-  base::WeakPtrFactory<URLRequestChromeJob> weak_factory_;
+  base::WeakPtrFactory<URLRequestChromeJob> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(URLRequestChromeJob);
 };
@@ -172,8 +172,7 @@
       data_available_status_(net::OK),
       pending_buf_size_(0),
       is_gzipped_(false),
-      backend_(backend),
-      weak_factory_(this) {
+      backend_(backend) {
   DCHECK(backend);
 }
 
@@ -402,8 +401,7 @@
 
 }  // namespace
 
-URLDataManagerBackend::URLDataManagerBackend()
-    : next_request_id_(0), weak_factory_(this) {
+URLDataManagerBackend::URLDataManagerBackend() : next_request_id_(0) {
   URLDataSource* shared_source = new SharedResourcesDataSource();
   AddDataSource(new URLDataSourceImpl(shared_source->GetSource(),
                                       base::WrapUnique(shared_source)));
diff --git a/content/browser/webui/url_data_manager_backend.h b/content/browser/webui/url_data_manager_backend.h
index d5009883..463bc9a 100644
--- a/content/browser/webui/url_data_manager_backend.h
+++ b/content/browser/webui/url_data_manager_backend.h
@@ -128,7 +128,7 @@
   // to the backend that originally owned them, even if they've been replaced
   // and detached from the backend. This allows outstanding asynchronous queries
   // to be served and routed to the backend to which they were original issued.
-  base::WeakPtrFactory<URLDataManagerBackend> weak_factory_;
+  base::WeakPtrFactory<URLDataManagerBackend> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(URLDataManagerBackend);
 };
diff --git a/content/browser/worker_host/dedicated_worker_host.cc b/content/browser/worker_host/dedicated_worker_host.cc
index 6617b00..9ea55f1 100644
--- a/content/browser/worker_host/dedicated_worker_host.cc
+++ b/content/browser/worker_host/dedicated_worker_host.cc
@@ -44,8 +44,7 @@
                       const url::Origin& origin)
       : process_id_(process_id),
         ancestor_render_frame_id_(ancestor_render_frame_id),
-        origin_(origin),
-        weak_factory_(this) {
+        origin_(origin) {
     DCHECK_CURRENTLY_ON(BrowserThread::UI);
     RegisterMojoInterfaces();
   }
@@ -305,7 +304,7 @@
 
   service_manager::BinderRegistry registry_;
 
-  base::WeakPtrFactory<DedicatedWorkerHost> weak_factory_;
+  base::WeakPtrFactory<DedicatedWorkerHost> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(DedicatedWorkerHost);
 };
diff --git a/content/browser/worker_host/shared_worker_host.cc b/content/browser/worker_host/shared_worker_host.cc
index 9d408ab..ba3d3ff 100644
--- a/content/browser/worker_host/shared_worker_host.cc
+++ b/content/browser/worker_host/shared_worker_host.cc
@@ -116,8 +116,7 @@
       instance_(std::move(instance)),
       process_id_(process_id),
       next_connection_request_id_(1),
-      interface_provider_binding_(this),
-      weak_factory_(this) {
+      interface_provider_binding_(this) {
   DCHECK(instance_);
   // Set up the worker interface request. This is needed first in either
   // AddClient() or Start(). AddClient() can sometimes be called before Start()
diff --git a/content/browser/worker_host/shared_worker_host.h b/content/browser/worker_host/shared_worker_host.h
index 66869a6..b7578e3 100644
--- a/content/browser/worker_host/shared_worker_host.h
+++ b/content/browser/worker_host/shared_worker_host.h
@@ -218,7 +218,7 @@
 
   Phase phase_ = Phase::kInitial;
 
-  base::WeakPtrFactory<SharedWorkerHost> weak_factory_;
+  base::WeakPtrFactory<SharedWorkerHost> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(SharedWorkerHost);
 };
diff --git a/content/browser/worker_host/shared_worker_service_impl.cc b/content/browser/worker_host/shared_worker_service_impl.cc
index 213e775..58663f6e 100644
--- a/content/browser/worker_host/shared_worker_service_impl.cc
+++ b/content/browser/worker_host/shared_worker_service_impl.cc
@@ -56,8 +56,7 @@
     scoped_refptr<ChromeAppCacheService> appcache_service)
     : storage_partition_(storage_partition),
       service_worker_context_(std::move(service_worker_context)),
-      appcache_service_(std::move(appcache_service)),
-      weak_factory_(this) {
+      appcache_service_(std::move(appcache_service)) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 }
 
diff --git a/content/browser/worker_host/shared_worker_service_impl.h b/content/browser/worker_host/shared_worker_service_impl.h
index 572e71a..2324598 100644
--- a/content/browser/worker_host/shared_worker_service_impl.h
+++ b/content/browser/worker_host/shared_worker_service_impl.h
@@ -138,7 +138,7 @@
   scoped_refptr<ChromeAppCacheService> appcache_service_;
   scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory_override_;
 
-  base::WeakPtrFactory<SharedWorkerServiceImpl> weak_factory_;
+  base::WeakPtrFactory<SharedWorkerServiceImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(SharedWorkerServiceImpl);
 };
diff --git a/content/browser/worker_host/worker_script_loader.cc b/content/browser/worker_host/worker_script_loader.cc
index cc7a04d..29e875c 100644
--- a/content/browser/worker_host/worker_script_loader.cc
+++ b/content/browser/worker_host/worker_script_loader.cc
@@ -38,8 +38,7 @@
       resource_context_getter_(resource_context_getter),
       default_loader_factory_(std::move(default_loader_factory)),
       traffic_annotation_(traffic_annotation),
-      url_loader_client_binding_(this),
-      weak_factory_(this) {
+      url_loader_client_binding_(this) {
   if (service_worker_provider_host_) {
     std::unique_ptr<NavigationLoaderInterceptor> service_worker_interceptor =
         ServiceWorkerRequestHandler::CreateForWorker(
diff --git a/content/browser/worker_host/worker_script_loader.h b/content/browser/worker_host/worker_script_loader.h
index 5c1847d..6d0edd2 100644
--- a/content/browser/worker_host/worker_script_loader.h
+++ b/content/browser/worker_host/worker_script_loader.h
@@ -151,7 +151,7 @@
 
   bool completed_ = false;
 
-  base::WeakPtrFactory<WorkerScriptLoader> weak_factory_;
+  base::WeakPtrFactory<WorkerScriptLoader> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(WorkerScriptLoader);
 };