| 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..46ba505076f7823a8e839e48d8fbc31b10051ae3 100644
|
| --- a/blimp/client/core/blimp_client_context_impl.cc
|
| +++ b/blimp/client/core/blimp_client_context_impl.cc
|
| @@ -81,7 +81,22 @@ 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_) {
|
| + identity_source_ = base::MakeUnique<IdentitySource>(
|
| + delegate_,
|
| + base::Bind(&BlimpClientContextImpl::ConnectToAssignmentSource,
|
| + base::Unretained(this)));
|
| + }
|
| +
|
| + // Start Blimp authentication flow. The OAuth2 token will be used in
|
| + // assignment source.
|
| + identity_source_->Connect();
|
| +}
|
| +
|
| +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_));
|
|
|