Commit ee84019e authored by Tarun Bansal's avatar Tarun Bansal Committed by Commit Bot

Fix Android crash with network service enabled

Delay getting network service until the browser has completely
started on Android.

Bug: 898124
Change-Id: I80aed091912579e489263b58d9faf8aad85116dc
Reviewed-on: https://chromium-review.googlesource.com/c/1297069
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: default avatarRobert Kaplow (sloooow) <rkaplow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602181}
parent b8cc1e37
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include "chrome/browser/metrics/network_quality_estimator_provider_impl.h" #include "chrome/browser/metrics/network_quality_estimator_provider_impl.h"
#include "base/sequenced_task_runner.h" #include "base/sequenced_task_runner.h"
#include "base/task/post_task.h"
#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process.h"
#include "content/public/browser/browser_thread.h" #include "content/public/browser/browser_thread.h"
...@@ -38,6 +39,21 @@ void NetworkQualityEstimatorProviderImpl::PostReplyOnNetworkQualityChanged( ...@@ -38,6 +39,21 @@ void NetworkQualityEstimatorProviderImpl::PostReplyOnNetworkQualityChanged(
DCHECK(task_posted); DCHECK(task_posted);
return; return;
} }
#ifdef OS_ANDROID
// TODO(tbansal): https://crbug.com/898304: Tasks posted via
// content::BrowserThread::PostAfterStartupTask may take up to ~20 seconds to
// execute. Figure out a way to call
// g_browser_process->network_quality_tracker earlier rather than waiting for
// content::BrowserThread::PostAfterStartupTask.
content::BrowserThread::PostAfterStartupTask(
FROM_HERE, base::SequencedTaskRunnerHandle::Get(),
base::BindOnce(&NetworkQualityEstimatorProviderImpl::
AddEffectiveConnectionTypeObserverNow,
weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
return;
#endif
bool task_posted = base::ThreadTaskRunnerHandle::Get()->PostTask( bool task_posted = base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, FROM_HERE,
base::BindOnce(&NetworkQualityEstimatorProviderImpl:: base::BindOnce(&NetworkQualityEstimatorProviderImpl::
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment