| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/extensions/api/identity/identity_api.h" | 5 #include "chrome/browser/extensions/api/identity/identity_api.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 const char kPageLoadFailure[] = "Authorization page could not be loaded."; | 58 const char kPageLoadFailure[] = "Authorization page could not be loaded."; |
| 59 | 59 |
| 60 const int kCachedIssueAdviceTTLSeconds = 1; | 60 const int kCachedIssueAdviceTTLSeconds = 1; |
| 61 } // namespace identity_constants | 61 } // namespace identity_constants |
| 62 | 62 |
| 63 namespace { | 63 namespace { |
| 64 | 64 |
| 65 static const char kChromiumDomainRedirectUrlPattern[] = | 65 static const char kChromiumDomainRedirectUrlPattern[] = |
| 66 "https://%s.chromiumapp.org/"; | 66 "https://%s.chromiumapp.org/"; |
| 67 | 67 |
| 68 std::string GetPrimaryAccountId(Profile* profile) { | 68 std::string GetPrimaryAccountId(content::BrowserContext* context) { |
| 69 SigninManagerBase* signin_manager = | 69 SigninManagerBase* signin_manager = |
| 70 SigninManagerFactory::GetForProfile(profile); | 70 SigninManagerFactory::GetForProfile(Profile::FromBrowserContext(context)); |
| 71 return signin_manager->GetAuthenticatedAccountId(); | 71 return signin_manager->GetAuthenticatedAccountId(); |
| 72 } | 72 } |
| 73 | 73 |
| 74 } // namespace | 74 } // namespace |
| 75 | 75 |
| 76 namespace identity = api::identity; | 76 namespace identity = api::identity; |
| 77 | 77 |
| 78 IdentityGetAuthTokenFunction::IdentityGetAuthTokenFunction() | 78 IdentityGetAuthTokenFunction::IdentityGetAuthTokenFunction() |
| 79 : OAuth2TokenService::Consumer("extensions_identity_api"), | 79 : OAuth2TokenService::Consumer("extensions_identity_api"), |
| 80 should_prompt_for_scopes_(false), | 80 should_prompt_for_scopes_(false), |
| (...skipping 589 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 670 | 670 |
| 671 bool IdentityTokenCacheValue::is_expired() const { | 671 bool IdentityTokenCacheValue::is_expired() const { |
| 672 return status_ == CACHE_STATUS_NOTFOUND || | 672 return status_ == CACHE_STATUS_NOTFOUND || |
| 673 expiration_time_ < base::Time::Now(); | 673 expiration_time_ < base::Time::Now(); |
| 674 } | 674 } |
| 675 | 675 |
| 676 const base::Time& IdentityTokenCacheValue::expiration_time() const { | 676 const base::Time& IdentityTokenCacheValue::expiration_time() const { |
| 677 return expiration_time_; | 677 return expiration_time_; |
| 678 } | 678 } |
| 679 | 679 |
| 680 IdentityAPI::IdentityAPI(Profile* profile) | 680 IdentityAPI::IdentityAPI(content::BrowserContext* context) |
| 681 : profile_(profile), | 681 : browser_context_(context), |
| 682 account_tracker_(profile) { | 682 account_tracker_(Profile::FromBrowserContext(context)) { |
| 683 account_tracker_.AddObserver(this); | 683 account_tracker_.AddObserver(this); |
| 684 } | 684 } |
| 685 | 685 |
| 686 IdentityAPI::~IdentityAPI() {} | 686 IdentityAPI::~IdentityAPI() {} |
| 687 | 687 |
| 688 IdentityMintRequestQueue* IdentityAPI::mint_queue() { | 688 IdentityMintRequestQueue* IdentityAPI::mint_queue() { |
| 689 return &mint_queue_; | 689 return &mint_queue_; |
| 690 } | 690 } |
| 691 | 691 |
| 692 void IdentityAPI::SetCachedToken(const ExtensionTokenKey& key, | 692 void IdentityAPI::SetCachedToken(const ExtensionTokenKey& key, |
| (...skipping 25 matching lines...) Expand all Loading... |
| 718 const IdentityTokenCacheValue& IdentityAPI::GetCachedToken( | 718 const IdentityTokenCacheValue& IdentityAPI::GetCachedToken( |
| 719 const ExtensionTokenKey& key) { | 719 const ExtensionTokenKey& key) { |
| 720 return token_cache_[key]; | 720 return token_cache_[key]; |
| 721 } | 721 } |
| 722 | 722 |
| 723 const IdentityAPI::CachedTokens& IdentityAPI::GetAllCachedTokens() { | 723 const IdentityAPI::CachedTokens& IdentityAPI::GetAllCachedTokens() { |
| 724 return token_cache_; | 724 return token_cache_; |
| 725 } | 725 } |
| 726 | 726 |
| 727 void IdentityAPI::ReportAuthError(const GoogleServiceAuthError& error) { | 727 void IdentityAPI::ReportAuthError(const GoogleServiceAuthError& error) { |
| 728 account_tracker_.ReportAuthError(GetPrimaryAccountId(profile_), error); | 728 account_tracker_.ReportAuthError(GetPrimaryAccountId(browser_context_), |
| 729 error); |
| 729 } | 730 } |
| 730 | 731 |
| 731 void IdentityAPI::Shutdown() { | 732 void IdentityAPI::Shutdown() { |
| 732 account_tracker_.RemoveObserver(this); | 733 account_tracker_.RemoveObserver(this); |
| 733 account_tracker_.Shutdown(); | 734 account_tracker_.Shutdown(); |
| 734 } | 735 } |
| 735 | 736 |
| 736 static base::LazyInstance<ProfileKeyedAPIFactory<IdentityAPI> > | 737 static base::LazyInstance<ProfileKeyedAPIFactory<IdentityAPI> > |
| 737 g_factory = LAZY_INSTANCE_INITIALIZER; | 738 g_factory = LAZY_INSTANCE_INITIALIZER; |
| 738 | 739 |
| 739 // static | 740 // static |
| 740 ProfileKeyedAPIFactory<IdentityAPI>* IdentityAPI::GetFactoryInstance() { | 741 ProfileKeyedAPIFactory<IdentityAPI>* IdentityAPI::GetFactoryInstance() { |
| 741 return g_factory.Pointer(); | 742 return g_factory.Pointer(); |
| 742 } | 743 } |
| 743 | 744 |
| 744 void IdentityAPI::OnAccountAdded(const AccountIds& ids) {} | 745 void IdentityAPI::OnAccountAdded(const AccountIds& ids) {} |
| 745 | 746 |
| 746 void IdentityAPI::OnAccountRemoved(const AccountIds& ids) {} | 747 void IdentityAPI::OnAccountRemoved(const AccountIds& ids) {} |
| 747 | 748 |
| 748 void IdentityAPI::OnAccountSignInChanged(const AccountIds& ids, | 749 void IdentityAPI::OnAccountSignInChanged(const AccountIds& ids, |
| 749 bool is_signed_in) { | 750 bool is_signed_in) { |
| 750 api::identity::AccountInfo account_info; | 751 api::identity::AccountInfo account_info; |
| 751 account_info.id = ids.gaia; | 752 account_info.id = ids.gaia; |
| 752 | 753 |
| 753 scoped_ptr<base::ListValue> args = | 754 scoped_ptr<base::ListValue> args = |
| 754 api::identity::OnSignInChanged::Create(account_info, is_signed_in); | 755 api::identity::OnSignInChanged::Create(account_info, is_signed_in); |
| 755 scoped_ptr<Event> event(new Event( | 756 scoped_ptr<Event> event(new Event(api::identity::OnSignInChanged::kEventName, |
| 756 api::identity::OnSignInChanged::kEventName, args.Pass(), profile_)); | 757 args.Pass(), |
| 758 browser_context_)); |
| 757 | 759 |
| 758 ExtensionSystem::Get(profile_)->event_router()->BroadcastEvent(event.Pass()); | 760 ExtensionSystem::Get(browser_context_)->event_router()->BroadcastEvent( |
| 761 event.Pass()); |
| 759 } | 762 } |
| 760 | 763 |
| 761 template <> | 764 template <> |
| 762 void ProfileKeyedAPIFactory<IdentityAPI>::DeclareFactoryDependencies() { | 765 void ProfileKeyedAPIFactory<IdentityAPI>::DeclareFactoryDependencies() { |
| 763 DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory()); | 766 DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory()); |
| 764 DependsOn(ProfileOAuth2TokenServiceFactory::GetInstance()); | 767 DependsOn(ProfileOAuth2TokenServiceFactory::GetInstance()); |
| 765 } | 768 } |
| 766 | 769 |
| 767 } // namespace extensions | 770 } // namespace extensions |
| OLD | NEW |