Index: blimp/client/core/blimp_client_context_impl.cc |
diff --git a/blimp/client/core/blimp_client_context_impl.cc b/blimp/client/core/blimp_client_context_impl.cc |
index 03e447668e88505c94d75d2cb33e080dafa1f93f..436e4950f02d52d4966271054d8987b766dfd04b 100644 |
--- a/blimp/client/core/blimp_client_context_impl.cc |
+++ b/blimp/client/core/blimp_client_context_impl.cc |
@@ -129,7 +129,15 @@ void BlimpClientContextImpl::Connect() { |
GetIdentitySource()->Connect(); |
} |
-void BlimpClientContextImpl::ConnectToAssignmentSource( |
+void BlimpClientContextImpl::ConnectWithAssignment( |
+ const Assignment& assignment) { |
+ io_thread_task_runner_->PostTask( |
+ FROM_HERE, |
+ base::Bind(&ClientNetworkComponents::ConnectWithAssignment, |
+ base::Unretained(net_components_.get()), assignment)); |
+} |
+ |
+void BlimpClientContextImpl::OnAuthTokenReceived( |
const std::string& client_auth_token) { |
if (!assignment_source_) { |
assignment_source_.reset(new AssignmentSource( |
@@ -139,7 +147,7 @@ void BlimpClientContextImpl::ConnectToAssignmentSource( |
VLOG(1) << "Trying to get assignment."; |
assignment_source_->GetAssignment( |
client_auth_token, |
- base::Bind(&BlimpClientContextImpl::ConnectWithAssignment, |
+ base::Bind(&BlimpClientContextImpl::OnAssignmentReceived, |
weak_factory_.GetWeakPtr())); |
} |
@@ -158,7 +166,7 @@ IdentitySource* BlimpClientContextImpl::GetIdentitySource() { |
return identity_source_.get(); |
} |
-void BlimpClientContextImpl::ConnectWithAssignment( |
+void BlimpClientContextImpl::OnAssignmentReceived( |
AssignmentRequestResult result, |
const Assignment& assignment) { |
VLOG(1) << "Assignment result: " << result; |
@@ -172,10 +180,7 @@ void BlimpClientContextImpl::ConnectWithAssignment( |
return; |
} |
- io_thread_task_runner_->PostTask( |
- FROM_HERE, |
- base::Bind(&ClientNetworkComponents::ConnectWithAssignment, |
- base::Unretained(net_components_.get()), assignment)); |
+ ConnectWithAssignment(assignment); |
} |
void BlimpClientContextImpl::RegisterFeatures() { |
@@ -215,7 +220,7 @@ void BlimpClientContextImpl::InitializeSettings() { |
void BlimpClientContextImpl::CreateIdentitySource() { |
identity_source_ = base::MakeUnique<IdentitySource>( |
- delegate_, base::Bind(&BlimpClientContextImpl::ConnectToAssignmentSource, |
+ delegate_, base::Bind(&BlimpClientContextImpl::OnAuthTokenReceived, |
base::Unretained(this))); |
} |