Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(62)

Unified Diff: components/cronet/ios/cronet_environment.cc

Issue 2470923002: Revert "Revert of Moving gRPC support interfaces out of cronet and into a new component. (patchset … (Closed)
Patch Set: Fix Cronet test race condition Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..5e2a6eea90a154b7f1b619e8c2e460de9ce1ed46 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) {
@@ -225,6 +221,8 @@ CronetEnvironment::CronetEnvironment(const std::string& user_agent,
bool user_agent_partial)
: http2_enabled_(false),
quic_enabled_(false),
+ event_(base::WaitableEvent::ResetPolicy::AUTOMATIC,
+ base::WaitableEvent::InitialState::NOT_SIGNALED),
user_agent_(user_agent),
user_agent_partial_(user_agent_partial),
net_log_(new net::NetLog) {}
@@ -297,7 +295,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 +397,17 @@ std::vector<uint8_t> CronetEnvironment::GetHistogramDeltas() {
return data;
}
+void CronetEnvironment::SetHostResolverRules(const std::string& rules) {
+ PostToNetworkThread(
+ FROM_HERE, base::Bind(&CronetEnvironment::SetHostResolverRulesInternal,
+ base::Unretained(this), rules));
+ event_.Wait();
mef 2016/11/07 18:15:20 Can event be allocated on the stack and passed as
Garrett Casto 2016/11/07 18:37:26 Done.
+}
+
+void CronetEnvironment::SetHostResolverRulesInternal(const std::string& rules) {
+ static_cast<net::MappedHostResolver*>(main_context_->host_resolver())
+ ->SetRulesFromString(rules);
+ event_.Signal();
+}
+
} // namespace cronet

Powered by Google App Engine
This is Rietveld 408576698