New issue
Advanced search Search tips

Issue 898970 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: Oct 30
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 695115



Sign in to add a comment

ChromeContentBrowserClient::OnNetworkServiceDataUseUpdate() crash when resuming a download with service manager only

Project Member Reported by qin...@chromium.org, Oct 25

Issue description

ChromeContentBrowserClient::OnNetworkServiceDataUseUpdate() references g_browser_process.

and if we are resuming a download without browser process, it will crash
 
Blocking: 695115
Cc: hnakashima@chromium.org
There are multiple places call g_browser_process->data_use_measurement::ChromeDataUseMeasurement(), so can we make ChromeDataUseMeasurement as a global variable too? Like  network::NetworkConnectionTracker in NetworkServiceInstance:
https://cs.chromium.org/chromium/src/content/browser/network_service_instance.cc?rcl=914a6f6170b45fdcb5254ec4c94915d8b3c410db&l=39

Alternatively, we could let ChromeContentBrowserClient own it, create it during earlier startup, and plumb its pointer through BrowserMainParts to the BrowserProcessImpl. Similar to what we did for ChromeFeatureListCreator, just lots of plumbing. 
Project Member

Comment 4 by bugdroid1@chromium.org, Oct 30

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cafb27b389ecebb9e35851d957679954c003c25c

commit cafb27b389ecebb9e35851d957679954c003c25c
Author: Min Qin <qinmin@chromium.org>
Date: Tue Oct 30 18:02:03 2018

make a singleton ChromeDataUseMeasurement for network service

When network service is enabled, it is possible for ServiceManager
to launch network service without the browser process. This will cause
a crash in ChromeContentBrowserClient::OnNetworkServiceDataUseUpdate().
This CL fixes the issue by making ChromeDataUsemeasurement a singleton
for network service. Also it fixes a bunch of BrowserThread checks
as BrowserThread will not be available when browser process isn't created.

BUG= 898970 

Change-Id: I8638239c62a852374f52d5832d86558f4c4bef19
Reviewed-on: https://chromium-review.googlesource.com/c/1303180
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: rajendrant <rajendrant@chromium.org>
Commit-Queue: Min Qin <qinmin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603960}
[modify] https://crrev.com/cafb27b389ecebb9e35851d957679954c003c25c/chrome/browser/browser_process.h
[modify] https://crrev.com/cafb27b389ecebb9e35851d957679954c003c25c/chrome/browser/browser_process_impl.cc
[modify] https://crrev.com/cafb27b389ecebb9e35851d957679954c003c25c/chrome/browser/browser_process_impl.h
[modify] https://crrev.com/cafb27b389ecebb9e35851d957679954c003c25c/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/cafb27b389ecebb9e35851d957679954c003c25c/chrome/browser/data_use_measurement/chrome_data_use_measurement.cc
[modify] https://crrev.com/cafb27b389ecebb9e35851d957679954c003c25c/chrome/browser/data_use_measurement/chrome_data_use_measurement.h
[modify] https://crrev.com/cafb27b389ecebb9e35851d957679954c003c25c/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.cc
[modify] https://crrev.com/cafb27b389ecebb9e35851d957679954c003c25c/chrome/test/base/testing_browser_process.cc
[modify] https://crrev.com/cafb27b389ecebb9e35851d957679954c003c25c/chrome/test/base/testing_browser_process.h

Status: Fixed (was: Untriaged)

Sign in to add a comment