From 4906c1cf1625dcb125a2d0937a7893c3adcf0fd0 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Mon, 11 Nov 2019 14:57:06 +0000 Subject: community/chromium: upgrade to 78.0.3904.97 --- ...ream-fix-shutdown-crash-in-ProfileManager.patch | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 community/chromium/upstream-fix-shutdown-crash-in-ProfileManager.patch (limited to 'community/chromium/upstream-fix-shutdown-crash-in-ProfileManager.patch') diff --git a/community/chromium/upstream-fix-shutdown-crash-in-ProfileManager.patch b/community/chromium/upstream-fix-shutdown-crash-in-ProfileManager.patch new file mode 100644 index 0000000000..553ca34a7d --- /dev/null +++ b/community/chromium/upstream-fix-shutdown-crash-in-ProfileManager.patch @@ -0,0 +1,45 @@ +From e73aed9a5ef15102f29ac31b70290faf5c90f9fe Mon Sep 17 00:00:00 2001 +From: Evan Stade +Date: Wed, 16 Oct 2019 16:01:32 +0000 +Subject: [PATCH] Fix shutdown crash in ProfileManager. + +OnProfileMarkedForPermanentDeletion should move from +ProfileManagerObserver to ProfileObserver, which would also +fix this bug. However, changing the order of members is the +quickest and most cherry-pick-able way to avoid the crash. + +Bug: 1005244 +Change-Id: If2db68c846dd418cd02864b57b9b543687fa1e03 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1863518 +Auto-Submit: Evan Stade +Reviewed-by: David Roger +Commit-Queue: Evan Stade +Cr-Commit-Position: refs/heads/master@{#706467} +--- + chrome/browser/profiles/profile_manager.h | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles/profile_manager.h +index b60df76d59..7d02af7f8f 100644 +--- chrome/browser/profiles/profile_manager.h ++++ chrome/browser/profiles/profile_manager.h +@@ -410,6 +410,10 @@ class ProfileManager : public content::NotificationObserver, + const base::FilePath& profile_dir); + #endif // !defined(OS_ANDROID) + ++ // Destroy after |profile_info_cache_| since Profile destruction may trigger ++ // some observers to unregister themselves. ++ base::ObserverList observers_; ++ + // Object to cache various information about profiles. Contains information + // about every profile which has been created for this instance of Chrome, + // if it has not been explicitly deleted. It must be destroyed after +@@ -451,8 +455,6 @@ class ProfileManager : public content::NotificationObserver, + // Controls whether to initialize some services. Only disabled for testing. + bool do_final_services_init_ = true; + +- base::ObserverList observers_; +- + // TODO(chrome/browser/profiles/OWNERS): Usage of this in profile_manager.cc + // should likely be turned into DCHECK_CURRENTLY_ON(BrowserThread::UI) for + // consistency with surrounding code in the same file but that wasn't trivial -- cgit v1.2.3