commit | bf4f299d16f25abc763cb86c06a0e8ce46ecca04 | [log] [tgz] |
---|---|---|
author | Antonio Gomes <tonikitoo@igalia.com> | Sat Aug 25 03:35:07 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Sat Aug 25 03:35:07 2018 |
tree | 187888d1388177535cd899568f6d94679021cb80 | |
parent | 54d6095ad54c1fadd5d5ef31267a9b816ebffc2a [diff] |
Migrate components/sync/engine/net/http_bridge.cc to network::SimpleURLLoader URLFetcher will stop working with advent of Network Service, and SimpleURLLoader is the replacement API for most clients. This CL migrates HttpBridge and FinancialPing away from URLFetcher. Note that this CL slightly changes the flow of the HttpBridge{Factory} code. Previously, an URLRequestContextGetter instance was acquired on UI thread, passed to the Sync and IO threads. However, URLLoaderFactory and SimpleURLLoader have stricter threading restrictions than URLFetcher and URLRequestContextGetter. For instance, a SharedURLLoaderFactory instance needs to be created, used and deleted on the same thread. For this reason methods like HttpBridgeFactory::OnSignalReceived can not simply null out |url_loader_factory_| which is created on the "sync" thread. Additionally, some preexisting tests do not seem relevant for the context of network service, and got removed, eg TestUsesSameHttpNetworkSession, RequestContextGetterReleaseOrder and EarlyAbortFactory. Particularly, the last two used to deal with URLRequestContextGetter destruction. With the URLLoader migration, HttpBridge now holds on to mojo pipes instead of URLRequestContextGetter. BUG=773295,844968 Change-Id: I185f814ba171dca69fec55b913b86a0cc9993ef1 Reviewed-on: https://chromium-review.googlesource.com/1174655 Commit-Queue: Antonio Gomes <tonikitoo@igalia.com> Reviewed-by: Nicolas Zea <zea@chromium.org> Reviewed-by: John Abd-El-Malek <jam@chromium.org> Reviewed-by: Matt Menke <mmenke@chromium.org> Cr-Commit-Position: refs/heads/master@{#586115}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .