Bug 1466071: Part 2: Fix aborting flush on normal content shutdown. r=mikedeboer

--HG--
extra : histedit_source : 17acc6631f5be7e821ad59f85cde5a29d58fdb22
This commit is contained in:
Adam Gashlin 2018-06-08 15:16:16 -07:00
Родитель 54b423cf8e
Коммит 31adaa0cb5
1 изменённых файлов: 7 добавлений и 1 удалений

Просмотреть файл

@ -1626,7 +1626,13 @@ var SessionStoreInternal = {
const observeTopic = topic => {
let deferred = PromiseUtils.defer();
const cleanup = () => Services.obs.removeObserver(deferred.resolve, topic);
Services.obs.addObserver(deferred.resolve, topic);
Services.obs.addObserver(subject => {
// Skip abort on ipc:content-shutdown if not abnormal/crashed
subject.QueryInterface(Ci.nsIPropertyBag2);
if (!(topic == "ipc:content-shutdown" && !subject.get("abnormal"))) {
deferred.resolve();
}
}, topic);
deferred.promise.then(cleanup, cleanup);
return deferred;
};