There seems to be a code path that uses browser-side URLRequestContextGetter gotten by Profile::GetRequestContext() and injects it into code in libjingle.
chrome/browser/invalidation/profile_invalidation_provider_factory.cc:
ProfileInvalidationProviderFactory::BuildServiceInstanceFor:
std::unique_ptr<TiclInvalidationService> service =
std::make_unique<TiclInvalidationService>(
...
profile->GetRequestContext(),
...)
.... This is feature-flag guarded, but the feature that disables this code path is DISABLED_BY_DEFAULT
components/invalidation/impl/ticl_invalidation_service.cc:
TiclInvalidationService::StartInvalidator:
...
options.request_context_getter = request_context_;
...
network_channel_creator =
syncer::NonBlockingInvalidator::MakePushClientChannelCreator(options)
The options here is a jingle/notifier/base/notifier_options.h; MakePushClientChannelCreator
wraps the following in a callback:
components/invalidation/impl/sync_system_resources.cc:
std::unique_ptr<SyncNetworkChannel> SyncNetworkChannel::CreatePushClientChannel(
const notifier::NotifierOptions& notifier_options) {
std::unique_ptr<notifier::PushClient> push_client(
notifier::PushClient::CreateDefaultOnIOThread(notifier_options));
return std::make_unique<PushClientChannel>(std::move(push_client));
}
notifier::PushClient::CreateDefaultOnIOThread is in jingle/notifier/listener/push_client.cc,
and creates an XmppPushClient, wiring the URLRequestContext
(Tentatively marking as important)
Comment 1 by xunji...@chromium.org
, Aug 16