
In some versions of Cronet, the request provided by the callback is not always the same. This leads to callback not completing and request timing out. The fix changes from having one `UrlRequestCallback` per `CronetDataSource` to one `UrlRequestCallback` per `UrlRequest`. Everytime a current request is canceled, the current callback is closed. PiperOrigin-RevId: 627379153