Chrome Version: 71.*
OS: Android.
The background download uses components/background_task_scheduler to schedule Android jobs to do stuff in near future when certain criteria is meet, like network(wifi/cellular) or battery conditions.
We build two instance of background download service, in components/download/content/factory/download_service_factory.cc, one for incognito, one for normal profile.
However, they share the same background task id, since downloads in incognito mode will be different from normal profile, the background task scheduling parameters will be different. Thus Chrome will be loaded in a wrong condition and previous task will be canceled.
According to discussion, we can do:
1. Either not creating background task for incognito mode.
2. Or Create two background task, one for incognito, one for normal profile.