Index: chrome/browser/chromeos/login/helper.cc |
diff --git a/chrome/browser/chromeos/login/helper.cc b/chrome/browser/chromeos/login/helper.cc |
index afe1bf41c12aceddfa83632945d7c3b89c4394fa..f949875e9bb9bc4ef2d9b36ad5f167fd175cfa21 100644 |
--- a/chrome/browser/chromeos/login/helper.cc |
+++ b/chrome/browser/chromeos/login/helper.cc |
@@ -153,8 +153,20 @@ content::StoragePartition* GetSigninPartition() { |
} |
net::URLRequestContextGetter* GetSigninContext() { |
- if (StartupUtils::IsWebviewSigninEnabled()) |
- return GetSigninPartition()->GetURLRequestContext(); |
+ if (StartupUtils::IsWebviewSigninEnabled()) { |
+ content::StoragePartition* signin_partition = GetSigninPartition(); |
+ |
+ // Special case for unit tests. There's no LoginDisplayHost thus no |
+ // webview instance. TODO(nkostylev): Investigate if there's a better |
+ // place to address this like dependency injection. http://crbug.com/477402 |
+ if (!signin_partition && !LoginDisplayHostImpl::default_host()) |
+ return ProfileHelper::GetSigninProfile()->GetRequestContext(); |
+ |
+ if (!signin_partition) |
+ return nullptr; |
+ |
+ return signin_partition->GetURLRequestContext(); |
+ } |
return ProfileHelper::GetSigninProfile()->GetRequestContext(); |
} |