net::URLRequestContext/Builder and net::ProxyService should use SequencedTaskRunner |
||||
Issue descriptionFor blocking (file) tasks, net::URLRequestContext/Builder should accept a SequencedTaskRunner rather than a SingleThreadedTaskRunner, to facilitate TaskScheduler usage.
,
Jun 21 2017
ProxyService can't use a SequencedTaskRunner - that argument is only used on Linux, and it has to live on the GTK thread. URLRequestContextBuilder is blocked on the blockfile cache using a SingleThreadedTaskRunner, which is currently needed because it uses overlapped IO on Windows, so marking this as a cache bug.
,
Jun 21 2017
Erm, sorry, that should be "ProxyConfigService can't use a SequencedTaskRunner". I don't think ProxyService uses a SingleThreadedTaskRunner.
,
Jun 21 2017
Regarding ProxyConfigService: Yeah, I was thinking of the file_task_runner argument to net::ProxyService::CreateSystemProxyConfigService, which - you're right - is only used in ProxyConfigServiceLinux. Why can't it be a sequenced one? At first glance, it looked like the file_task_runner executes on the FILE thread at the moment and is only used in KDE.
,
Jun 21 2017
[+eroman] Looks like I was wrong...It's actually the SingleThreadTaskRunner grabbed in ProxyService::CreateSystemProxyConfigService on Linux that has to be a SingleThreadTaskRunner. So I'm not familiar with why the second argument to CreateSystemProxyConfigService is a SingleThreadTaskRunner and not a SequencedTaskRunner.
,
Jun 21 2017
tl;dr: * The first argument to CreateSystemProxyConfigService() can be a SequencedTaskRunner no problem. * The file_task_runner argument I am in the process of trying to remove (https://codereview.chromium.org/2944313003/), so doesn't really matter
,
Jun 23 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/98e76eb9375e2db29291163aeec9f0bdf9ff85cb commit 98e76eb9375e2db29291163aeec9f0bdf9ff85cb Author: eroman <eroman@chromium.org> Date: Fri Jun 23 18:07:02 2017 Use SequencedTaskRunner rather than SingledThreadedTaskRunner for passing io_task_runner to ProxyConfigService. In practice the io_task_runner will be a SingleThreadedTaskRunner, but this thread affinity doesn't need to be a contractual guarantee for ProxyConfigService implementations. BUG=735368 Review-Url: https://codereview.chromium.org/2957433002 Cr-Commit-Position: refs/heads/master@{#481955} [modify] https://crrev.com/98e76eb9375e2db29291163aeec9f0bdf9ff85cb/net/proxy/proxy_config_service_linux.cc [modify] https://crrev.com/98e76eb9375e2db29291163aeec9f0bdf9ff85cb/net/proxy/proxy_config_service_linux.h [modify] https://crrev.com/98e76eb9375e2db29291163aeec9f0bdf9ff85cb/net/proxy/proxy_config_service_mac.cc [modify] https://crrev.com/98e76eb9375e2db29291163aeec9f0bdf9ff85cb/net/proxy/proxy_config_service_mac.h [modify] https://crrev.com/98e76eb9375e2db29291163aeec9f0bdf9ff85cb/net/proxy/proxy_service.cc [modify] https://crrev.com/98e76eb9375e2db29291163aeec9f0bdf9ff85cb/net/proxy/proxy_service.h
,
Jun 23 2017
|
||||
►
Sign in to add a comment |
||||
Comment 1 by eseckler@chromium.org
, Jun 21 2017