| Index: components/cronet/ios/cronet_environment.cc
|
| diff --git a/components/cronet/ios/cronet_environment.cc b/components/cronet/ios/cronet_environment.cc
|
| index 0fef4af2e2266ab840e1b76a457f213ba763f5a6..f136118a789f40eb110fc0e6b52d33c3a05b8c79 100644
|
| --- a/components/cronet/ios/cronet_environment.cc
|
| +++ b/components/cronet/ios/cronet_environment.cc
|
| @@ -96,10 +96,6 @@ class CronetURLRequestContextGetter : public net::URLRequestContextGetter {
|
|
|
| namespace cronet {
|
|
|
| -bool CronetEnvironment::IsOnNetworkThread() {
|
| - return network_io_thread_->task_runner()->BelongsToCurrentThread();
|
| -}
|
| -
|
| void CronetEnvironment::PostToNetworkThread(
|
| const tracked_objects::Location& from_here,
|
| const base::Closure& task) {
|
| @@ -297,7 +293,6 @@ void CronetEnvironment::InitializeOnNetworkThread() {
|
| new net::MappedHostResolver(
|
| net::HostResolver::CreateDefaultResolver(nullptr)));
|
|
|
| - mapped_host_resolver->SetRulesFromString(host_resolver_rules_);
|
| main_context_->set_host_resolver(mapped_host_resolver.release());
|
|
|
| if (!cert_verifier_)
|
| @@ -400,4 +395,22 @@ std::vector<uint8_t> CronetEnvironment::GetHistogramDeltas() {
|
| return data;
|
| }
|
|
|
| +void CronetEnvironment::SetHostResolverRules(const std::string& rules) {
|
| + base::WaitableEvent event(base::WaitableEvent::ResetPolicy::AUTOMATIC,
|
| + base::WaitableEvent::InitialState::NOT_SIGNALED);
|
| + PostToNetworkThread(
|
| + FROM_HERE,
|
| + base::Bind(&CronetEnvironment::SetHostResolverRulesOnNetworkThread,
|
| + base::Unretained(this), rules, &event));
|
| + event.Wait();
|
| +}
|
| +
|
| +void CronetEnvironment::SetHostResolverRulesOnNetworkThread(
|
| + const std::string& rules,
|
| + base::WaitableEvent* event) {
|
| + static_cast<net::MappedHostResolver*>(main_context_->host_resolver())
|
| + ->SetRulesFromString(rules);
|
| + event->Signal();
|
| +}
|
| +
|
| } // namespace cronet
|
|
|