| Index: ios/chrome/browser/signin/signin_util.mm
|
| diff --git a/ios/chrome/browser/signin/signin_util.mm b/ios/chrome/browser/signin/signin_util.mm
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b4240211ba7c296614062dd1ebe03cc5303f8458
|
| --- /dev/null
|
| +++ b/ios/chrome/browser/signin/signin_util.mm
|
| @@ -0,0 +1,34 @@
|
| +// Copyright 2013 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "ios/chrome/browser/signin/signin_util.h"
|
| +
|
| +#include "base/strings/sys_string_conversions.h"
|
| +#include "google_apis/gaia/gaia_auth_util.h"
|
| +#import "ios/public/provider/chrome/browser/signin/chrome_identity.h"
|
| +#include "ios/public/provider/chrome/browser/signin/signin_error_provider.h"
|
| +
|
| +NSArray* GetScopeArray(const std::set<std::string>& scopes) {
|
| + NSMutableArray* scopes_array = [[[NSMutableArray alloc] init] autorelease];
|
| + for (const auto& scope : scopes) {
|
| + [scopes_array addObject:base::SysUTF8ToNSString(scope)];
|
| + }
|
| + return scopes_array;
|
| +}
|
| +
|
| +std::string GetCanonicalizedEmailForIdentity(ChromeIdentity* identity) {
|
| + NSString* nsEmail = [identity userEmail];
|
| + if (!nsEmail)
|
| + return std::string();
|
| + std::string email = base::SysNSStringToUTF8(nsEmail);
|
| + return gaia::CanonicalizeEmail(gaia::SanitizeEmail(email));
|
| +}
|
| +
|
| +bool ShouldHandleSigninError(NSError* error) {
|
| + ios::SigninErrorProvider* provider = ios::GetSigninErrorProvider();
|
| + return ![provider->GetSigninErrorDomain() isEqualToString:error.domain] ||
|
| + (error.code != provider->GetCode(ios::SigninError::CANCELED) &&
|
| + error.code !=
|
| + provider->GetCode(ios::SigninError::HANDLED_INTERNALLY));
|
| +}
|
|
|