| 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 f90b1dc02b222929b3e0851a1a240809064d7aa0..231ac24609b1b0146109981c68bd18c57d073f03 100644
|
| --- a/blimp/client/core/blimp_client_context_impl.cc
|
| +++ b/blimp/client/core/blimp_client_context_impl.cc
|
| @@ -81,7 +81,24 @@ std::unique_ptr<BlimpContents> BlimpClientContextImpl::CreateBlimpContents() {
|
| return blimp_contents;
|
| }
|
|
|
| -void BlimpClientContextImpl::Connect(const std::string& client_auth_token) {
|
| +void BlimpClientContextImpl::Connect() {
|
| + // Lazy initialization of IdentitySource.
|
| + if (!identity_source_) {
|
| + DCHECK(delegate_);
|
| + identity_source_ =
|
| + base::MakeUnique<IdentitySource>(delegate_->CreateIdentityProvider());
|
| + identity_source_->SetDelegate(delegate_);
|
| + }
|
| +
|
| + // Start Blimp authentication flow. After fetching the OAuth2 token, use it in
|
| + // assignment source.
|
| + identity_source_->Connect(
|
| + base::Bind(&BlimpClientContextImpl::ConnectToAssignmentSource,
|
| + base::Unretained(this)));
|
| +}
|
| +
|
| +void BlimpClientContextImpl::ConnectToAssignmentSource(
|
| + const std::string& client_auth_token) {
|
| if (!assignment_source_) {
|
| assignment_source_.reset(new AssignmentSource(
|
| GetAssignerURL(), io_thread_task_runner_, file_thread_task_runner_));
|
|
|