diff options
27 files changed, 241 insertions, 251 deletions
diff --git a/chrome/browser/chromeos/login/auth_prewarmer.cc b/chrome/browser/chromeos/login/auth_prewarmer.cc index 0ebb3d5..d1d2ad0 100644 --- a/chrome/browser/chromeos/login/auth_prewarmer.cc +++ b/chrome/browser/chromeos/login/auth_prewarmer.cc @@ -92,8 +92,8 @@ void AuthPrewarmer::DoPrewarm() { const int kConnectionsNeeded = 1; std::vector<GURL> urls; - urls.push_back(GURL(GaiaUrls::GetInstance()->client_login_url())); - urls.push_back(GURL(GaiaUrls::GetInstance()->service_login_url())); + urls.push_back(GaiaUrls::GetInstance()->client_login_url()); + urls.push_back(GaiaUrls::GetInstance()->service_login_url()); for (size_t i = 0; i < urls.size(); ++i) { chrome_browser_net::PreconnectOnUIThread( diff --git a/chrome/browser/chromeos/login/login_utils_browsertest.cc b/chrome/browser/chromeos/login/login_utils_browsertest.cc index e10db7a..6c2e111 100644 --- a/chrome/browser/chromeos/login/login_utils_browsertest.cc +++ b/chrome/browser/chromeos/login/login_utils_browsertest.cc @@ -451,14 +451,14 @@ class LoginUtilsTest : public testing::Test, DeviceSettingsService::Get()->UnsetSessionManager(); } - net::TestURLFetcher* PrepareOAuthFetcher(const std::string& expected_url) { + net::TestURLFetcher* PrepareOAuthFetcher(const GURL& expected_url) { net::TestURLFetcher* fetcher = test_url_fetcher_factory_.GetFetcherByID(0); EXPECT_TRUE(fetcher); if (!fetcher) return NULL; EXPECT_TRUE(fetcher->delegate()); EXPECT_TRUE(StartsWithASCII(fetcher->GetOriginalURL().spec(), - expected_url, + expected_url.spec(), true)); fetcher->set_url(fetcher->GetOriginalURL()); fetcher->set_response_code(200); diff --git a/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos_unittest.cc b/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos_unittest.cc index f8be85b..ebbaec7 100644 --- a/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos_unittest.cc +++ b/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos_unittest.cc @@ -180,14 +180,14 @@ class UserCloudPolicyManagerChromeOSTest : public testing::Test { // Expects a pending URLFetcher for the |expected_url|, and returns it with // prepared to deliver a response to its delegate. - net::TestURLFetcher* PrepareOAuthFetcher(const std::string& expected_url) { + net::TestURLFetcher* PrepareOAuthFetcher(const GURL& expected_url) { net::TestURLFetcher* fetcher = test_url_fetcher_factory_.GetFetcherByID(0); EXPECT_TRUE(fetcher); if (!fetcher) return NULL; EXPECT_TRUE(fetcher->delegate()); EXPECT_TRUE(StartsWithASCII(fetcher->GetOriginalURL().spec(), - expected_url, + expected_url.spec(), true)); fetcher->set_url(fetcher->GetOriginalURL()); fetcher->set_response_code(200); diff --git a/chrome/browser/extensions/api/identity/gaia_web_auth_flow.cc b/chrome/browser/extensions/api/identity/gaia_web_auth_flow.cc index 2ee70f3..c8f0371 100644 --- a/chrome/browser/extensions/api/identity/gaia_web_auth_flow.cc +++ b/chrome/browser/extensions/api/identity/gaia_web_auth_flow.cc @@ -22,7 +22,7 @@ GaiaWebAuthFlow::GaiaWebAuthFlow(Delegate* delegate, profile_(profile) { const char kOAuth2RedirectPathFormat[] = "/%s#"; const char kOAuth2AuthorizeFormat[] = - "%s?response_type=token&approval_prompt=force&authuser=0&" + "?response_type=token&approval_prompt=force&authuser=0&" "client_id=%s&" "scope=%s&" "origin=chrome-extension://%s/&" @@ -37,16 +37,15 @@ GaiaWebAuthFlow::GaiaWebAuthFlow(Delegate* delegate, redirect_path_prefix_ = base::StringPrintf(kOAuth2RedirectPathFormat, extension_id.c_str()); - auth_url_ = GURL(base::StringPrintf( - kOAuth2AuthorizeFormat, - GaiaUrls::GetInstance()->oauth2_auth_url().c_str(), - oauth2_info.client_id.c_str(), - net::EscapeUrlEncodedData(JoinString(oauth2_info.scopes, ' '), true) - .c_str(), - extension_id.c_str(), - redirect_scheme_.c_str(), - extension_id.c_str(), - locale.c_str())); + auth_url_ = GaiaUrls::GetInstance()->oauth2_auth_url().Resolve( + base::StringPrintf(kOAuth2AuthorizeFormat, + oauth2_info.client_id.c_str(), + net::EscapeUrlEncodedData( + JoinString(oauth2_info.scopes, ' '), true).c_str(), + extension_id.c_str(), + redirect_scheme_.c_str(), + extension_id.c_str(), + locale.c_str())); } GaiaWebAuthFlow::~GaiaWebAuthFlow() { @@ -68,7 +67,8 @@ void GaiaWebAuthFlow::OnUbertokenSuccess(const std::string& token) { kMergeSessionQueryFormat, net::EscapeUrlEncodedData(token, true).c_str(), net::EscapeUrlEncodedData(auth_url_.spec(), true).c_str()); - GURL merge_url(GaiaUrls::GetInstance()->merge_session_url() + merge_query); + GURL merge_url( + GaiaUrls::GetInstance()->merge_session_url().Resolve(merge_query)); web_flow_ = CreateWebAuthFlow(merge_url); web_flow_->Start(); @@ -172,4 +172,4 @@ scoped_ptr<WebAuthFlow> GaiaWebAuthFlow::CreateWebAuthFlow(GURL url) { WebAuthFlow::INTERACTIVE)); } -} // extensions +} // namespace extensions diff --git a/chrome/browser/managed_mode/managed_user_refresh_token_fetcher_unittest.cc b/chrome/browser/managed_mode/managed_user_refresh_token_fetcher_unittest.cc index a16af6e..cb4043f 100644 --- a/chrome/browser/managed_mode/managed_user_refresh_token_fetcher_unittest.cc +++ b/chrome/browser/managed_mode/managed_user_refresh_token_fetcher_unittest.cc @@ -144,7 +144,7 @@ ManagedUserRefreshTokenFetcherTest::GetIssueTokenRequest() { return NULL; EXPECT_EQ(GaiaUrls::GetInstance()->oauth2_issue_token_url(), - url_fetcher->GetOriginalURL().spec()); + url_fetcher->GetOriginalURL()); std::string access_token; net::HttpRequestHeaders headers; url_fetcher->GetExtraRequestHeaders(&headers); @@ -168,7 +168,7 @@ ManagedUserRefreshTokenFetcherTest::GetRefreshTokenRequest() { return NULL; EXPECT_EQ(GaiaUrls::GetInstance()->oauth2_token_url(), - url_fetcher->GetOriginalURL().spec()); + url_fetcher->GetOriginalURL()); std::string auth_code; EXPECT_TRUE(GetValueForKey(url_fetcher->upload_data(), "code", &auth_code)); EXPECT_EQ(kAuthorizationCode, auth_code); diff --git a/chrome/browser/net/gaia/gaia_oauth_fetcher.cc b/chrome/browser/net/gaia/gaia_oauth_fetcher.cc index 8776c63..430ec0c 100644 --- a/chrome/browser/net/gaia/gaia_oauth_fetcher.cc +++ b/chrome/browser/net/gaia/gaia_oauth_fetcher.cc @@ -88,7 +88,7 @@ net::URLFetcher* GaiaOAuthFetcher::CreateGaiaFetcher( GURL GaiaOAuthFetcher::MakeGetOAuthTokenUrl( const std::string& oauth1_login_scope, const std::string& product_name) { - return GURL(GaiaUrls::GetInstance()->get_oauth_token_url() + + return GaiaUrls::GetInstance()->get_oauth_token_url().Resolve( "?scope=" + oauth1_login_scope + "&xoauth_display_name=" + OAuthRequestSigner::Encode(product_name)); @@ -105,7 +105,7 @@ std::string GaiaOAuthFetcher::MakeOAuthLoginBody( parameters["source"] = source; std::string signed_request; bool is_signed = OAuthRequestSigner::SignURL( - GURL(GaiaUrls::GetInstance()->oauth1_login_url()), + GaiaUrls::GetInstance()->oauth1_login_url(), parameters, OAuthRequestSigner::HMAC_SHA1_SIGNATURE, OAuthRequestSigner::POST_METHOD, @@ -124,7 +124,7 @@ std::string GaiaOAuthFetcher::MakeOAuthGetAccessTokenBody( OAuthRequestSigner::Parameters empty_parameters; std::string signed_request; bool is_signed = OAuthRequestSigner::SignURL( - GURL(GaiaUrls::GetInstance()->oauth_get_access_token_url()), + GaiaUrls::GetInstance()->oauth_get_access_token_url(), empty_parameters, OAuthRequestSigner::HMAC_SHA1_SIGNATURE, OAuthRequestSigner::POST_METHOD, @@ -148,7 +148,7 @@ std::string GaiaOAuthFetcher::MakeOAuthWrapBridgeBody( parameters["wrap_scope"] = oauth2_scope; std::string signed_request; bool is_signed = OAuthRequestSigner::SignURL( - GURL(GaiaUrls::GetInstance()->oauth_wrap_bridge_url()), + GaiaUrls::GetInstance()->oauth_wrap_bridge_url(), parameters, OAuthRequestSigner::HMAC_SHA1_SIGNATURE, OAuthRequestSigner::POST_METHOD, @@ -357,7 +357,7 @@ void GaiaOAuthFetcher::StartOAuthRevokeAccessToken(const std::string& token, OAuthRequestSigner::Parameters empty_parameters; std::string auth_header; bool is_signed = OAuthRequestSigner::SignAuthHeader( - GURL(GaiaUrls::GetInstance()->oauth_revoke_token_url()), + GaiaUrls::GetInstance()->oauth_revoke_token_url(), empty_parameters, OAuthRequestSigner::HMAC_SHA1_SIGNATURE, OAuthRequestSigner::GET_METHOD, diff --git a/chrome/browser/password_manager/password_manager_delegate_impl.cc b/chrome/browser/password_manager/password_manager_delegate_impl.cc index d8800d7..3a69a13 100644 --- a/chrome/browser/password_manager/password_manager_delegate_impl.cc +++ b/chrome/browser/password_manager/password_manager_delegate_impl.cc @@ -96,7 +96,7 @@ void SavePasswordInfoBarDelegate::Create(content::WebContents* web_contents, GURL realm(form_to_save->realm()); // TODO(mathp): Checking only against associated_username() causes a bug // referenced here: crbug.com/133275 - if (((realm == GURL(GaiaUrls::GetInstance()->gaia_login_form_realm())) || + if (((realm == GaiaUrls::GetInstance()->gaia_login_form_realm()) || (realm == GURL("https://www.google.com/"))) && OneClickSigninHelper::CanOffer( web_contents, OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, diff --git a/chrome/browser/policy/cloud/user_info_fetcher.cc b/chrome/browser/policy/cloud/user_info_fetcher.cc index 996e442..23088a5 100644 --- a/chrome/browser/policy/cloud/user_info_fetcher.cc +++ b/chrome/browser/policy/cloud/user_info_fetcher.cc @@ -42,7 +42,7 @@ UserInfoFetcher::~UserInfoFetcher() { void UserInfoFetcher::Start(const std::string& access_token) { // Create a URLFetcher and start it. url_fetcher_.reset(net::URLFetcher::Create( - 0, GURL(GaiaUrls::GetInstance()->oauth_user_info_url()), + 0, GaiaUrls::GetInstance()->oauth_user_info_url(), net::URLFetcher::GET, this)); url_fetcher_->SetRequestContext(context_); url_fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES | diff --git a/chrome/browser/policy/url_blacklist_manager_unittest.cc b/chrome/browser/policy/url_blacklist_manager_unittest.cc index 57f448e..9d71608 100644 --- a/chrome/browser/policy/url_blacklist_manager_unittest.cc +++ b/chrome/browser/policy/url_blacklist_manager_unittest.cc @@ -513,8 +513,8 @@ TEST_F(URLBlacklistManagerTest, DontBlockResources) { block_signin_urls = true; #endif - GURL sync_url( - GaiaUrls::GetInstance()->service_login_url() + "?service=chromiumsync"); + GURL sync_url(GaiaUrls::GetInstance()->service_login_url().Resolve( + "?service=chromiumsync")); net::URLRequest sync_request(sync_url, NULL, &context); sync_request.set_load_flags(net::LOAD_MAIN_FRAME); EXPECT_EQ(block_signin_urls, diff --git a/chrome/browser/profiles/avatar_menu_model.cc b/chrome/browser/profiles/avatar_menu_model.cc index 87f4a59..a8dfcdd 100644 --- a/chrome/browser/profiles/avatar_menu_model.cc +++ b/chrome/browser/profiles/avatar_menu_model.cc @@ -331,8 +331,8 @@ content::WebContents* AvatarMenuModel::BeginSignOut() { cache.SetProfileSigninRequiredAtIndex(index, true); std::string landing_url = signin::GetLandingURL("close", 1).spec(); - GURL logout_url(GaiaUrls::GetInstance()->service_logout_url() + - "?continue=" + landing_url); + GURL logout_url(GaiaUrls::GetInstance()->service_logout_url().Resolve( + "?continue=" + landing_url)); if (!logout_override_.empty()) { // We're testing... landing_url = logout_override_; diff --git a/chrome/browser/signin/signin_browsertest.cc b/chrome/browser/signin/signin_browsertest.cc index 1aa32ce..e9cbfda 100644 --- a/chrome/browser/signin/signin_browsertest.cc +++ b/chrome/browser/signin/signin_browsertest.cc @@ -53,7 +53,7 @@ class SigninBrowserTest : public InProcessBrowserTest { virtual void SetUp() OVERRIDE { factory_.reset(new net::URLFetcherImplFactory()); fake_factory_.reset(new net::FakeURLFetcherFactory(factory_.get())); - fake_factory_->SetFakeResponse( + fake_factory_->SetFakeResponseForURL( GaiaUrls::GetInstance()->service_login_url(), std::string(), true); diff --git a/chrome/browser/signin/signin_manager_unittest.cc b/chrome/browser/signin/signin_manager_unittest.cc index 6bf6eaf..adcd4e5 100644 --- a/chrome/browser/signin/signin_manager_unittest.cc +++ b/chrome/browser/signin/signin_manager_unittest.cc @@ -45,7 +45,7 @@ const char kGetTokenPairValidResponse[] = " \"token_type\": \"Bearer\"" "}"; -const char kUberAuthTokenURLFormat[] = "%s?source=%s&issueuberauth=1"; +const char kUberAuthTokenURLFormat[] = "?source=%s&issueuberauth=1"; } // namespace @@ -78,7 +78,7 @@ class SigninManagerTest : public TokenServiceTestHarness { TokenServiceTestHarness::TearDown(); } - void SetupFetcherAndComplete(const std::string& url, + void SetupFetcherAndComplete(const GURL& url, int response_code, const net::ResponseCookies& cookies, const std::string& response_string) { @@ -87,7 +87,7 @@ class SigninManagerTest : public TokenServiceTestHarness { DCHECK(fetcher->delegate()); cookies_.insert(cookies_.end(), cookies.begin(), cookies.end()); - fetcher->set_url(GURL(url)); + fetcher->set_url(url); fetcher->set_status(net::URLRequestStatus()); fetcher->set_response_code(response_code); fetcher->SetResponseString(response_string); @@ -134,10 +134,9 @@ class SigninManagerTest : public TokenServiceTestHarness { void SimulateValidUberToken() { SetupFetcherAndComplete(GaiaUrls::GetInstance()->oauth2_token_url(), 200, net::ResponseCookies(), kGetTokenPairValidResponse); - std::string uberauth_token_gurl = base::StringPrintf( - kUberAuthTokenURLFormat, - GaiaUrls::GetInstance()->oauth1_login_url().c_str(), - "source"); + const GURL uberauth_token_gurl = + GaiaUrls::GetInstance()->oauth1_login_url().Resolve( + base::StringPrintf(kUberAuthTokenURLFormat, "source")); SetupFetcherAndComplete(uberauth_token_gurl, 200, net::ResponseCookies(), "ut1"); diff --git a/chrome/browser/signin/signin_promo.cc b/chrome/browser/signin/signin_promo.cc index 729d6aa..cbd1611 100644 --- a/chrome/browser/signin/signin_promo.cc +++ b/chrome/browser/signin/signin_promo.cc @@ -179,8 +179,6 @@ GURL GetLandingURL(const char* option, int value) { GURL GetPromoURL(Source source, bool auto_close) { DCHECK_NE(SOURCE_UNKNOWN, source); - std::string url_string; - // Build a Gaia-based URL that can be used to sign the user into chrome. // There are required request parameters: // @@ -195,19 +193,18 @@ GURL GetPromoURL(Source source, bool auto_close) { // It is also parsed for the |auto_close| flag, which indicates that the tab // must be closed after sync setup is successful. // See OneClickSigninHelper for details. - url_string = GaiaUrls::GetInstance()->service_login_url(); - url_string.append("?service=chromiumsync&sarp=1"); + std::string query_string = "?service=chromiumsync&sarp=1"; std::string continue_url = GetLandingURL(kSignInPromoQueryKeySource, static_cast<int>(source)).spec(); if (auto_close) base::StringAppendF(&continue_url, "&%s=1", kSignInPromoQueryKeyAutoClose); - base::StringAppendF(&url_string, "&%s=%s", kSignInPromoQueryKeyContinue, + base::StringAppendF(&query_string, "&%s=%s", kSignInPromoQueryKeyContinue, net::EscapeQueryParamValue( continue_url, false).c_str()); - return GURL(url_string); + return GaiaUrls::GetInstance()->service_login_url().Resolve(query_string); } GURL GetNextPageURLForPromoURL(const GURL& url) { diff --git a/chrome/browser/sync/test/integration/sync_test.cc b/chrome/browser/sync/test/integration/sync_test.cc index 6abf560..c1d8deb 100644 --- a/chrome/browser/sync/test/integration/sync_test.cc +++ b/chrome/browser/sync/test/integration/sync_test.cc @@ -426,15 +426,15 @@ void SyncTest::SetupMockGaiaResponses() { password_ = "password"; factory_.reset(new net::URLFetcherImplFactory()); fake_factory_.reset(new net::FakeURLFetcherFactory(factory_.get())); - fake_factory_->SetFakeResponse( + fake_factory_->SetFakeResponseForURL( GaiaUrls::GetInstance()->client_login_url(), "SID=sid\nLSID=lsid", true); - fake_factory_->SetFakeResponse( + fake_factory_->SetFakeResponseForURL( GaiaUrls::GetInstance()->get_user_info_url(), "email=user@gmail.com\ndisplayEmail=user@gmail.com", true); - fake_factory_->SetFakeResponse( + fake_factory_->SetFakeResponseForURL( GaiaUrls::GetInstance()->issue_auth_token_url(), "auth", true); @@ -442,11 +442,11 @@ void SyncTest::SetupMockGaiaResponses() { GoogleURLTracker::kSearchDomainCheckURL, ".google.com", true); - fake_factory_->SetFakeResponse( + fake_factory_->SetFakeResponseForURL( GaiaUrls::GetInstance()->client_login_to_oauth2_url(), "some_response", true); - fake_factory_->SetFakeResponse( + fake_factory_->SetFakeResponseForURL( GaiaUrls::GetInstance()->oauth2_token_url(), "{" " \"refresh_token\": \"rt1\"," @@ -455,7 +455,7 @@ void SyncTest::SetupMockGaiaResponses() { " \"token_type\": \"Bearer\"" "}", true); - fake_factory_->SetFakeResponse( + fake_factory_->SetFakeResponseForURL( GaiaUrls::GetInstance()->oauth1_login_url(), "SID=sid\nLSID=lsid\nAuth=auth_token", true); diff --git a/chrome/browser/ui/auto_login_infobar_delegate.cc b/chrome/browser/ui/auto_login_infobar_delegate.cc index 447dddd..bdf6fe3 100644 --- a/chrome/browser/ui/auto_login_infobar_delegate.cc +++ b/chrome/browser/ui/auto_login_infobar_delegate.cc @@ -43,8 +43,8 @@ #endif using content::NavigationController; -using content::NotificationSource; using content::NotificationDetails; +using content::NotificationSource; // AutoLoginRedirector -------------------------------------------------------- @@ -128,7 +128,7 @@ void AutoLoginRedirector::OnUbertokenFailure( void AutoLoginRedirector::RedirectToMergeSession(const std::string& token) { // TODO(rogerta): what is the correct page transition? navigation_controller_->LoadURL( - GURL(GaiaUrls::GetInstance()->merge_session_url() + + GaiaUrls::GetInstance()->merge_session_url().Resolve( "?source=chrome&uberauth=" + token + "&" + args_), content::Referrer(), content::PAGE_TRANSITION_AUTO_BOOKMARK, std::string()); diff --git a/chrome/browser/ui/sync/one_click_signin_helper.cc b/chrome/browser/ui/sync/one_click_signin_helper.cc index 9c36125..7f8b56b 100644 --- a/chrome/browser/ui/sync/one_click_signin_helper.cc +++ b/chrome/browser/ui/sync/one_click_signin_helper.cc @@ -472,7 +472,7 @@ bool AreWeShowingSignin(GURL url, signin::Source source, std::string email) { GURL::Replacements replacements; replacements.ClearQuery(); GURL clean_login_url = - GURL(GaiaUrls::GetInstance()->service_login_url()).ReplaceComponents( + GaiaUrls::GetInstance()->service_login_url().ReplaceComponents( replacements); return (url.ReplaceComponents(replacements) == clean_login_url && diff --git a/components/autofill/content/renderer/password_generation_manager.cc b/components/autofill/content/renderer/password_generation_manager.cc index 1c8c669..8c035c7 100644 --- a/components/autofill/content/renderer/password_generation_manager.cc +++ b/components/autofill/content/renderer/password_generation_manager.cc @@ -145,7 +145,7 @@ void PasswordGenerationManager::DidFinishLoad(WebKit::WebFrame* frame) { // Do not generate password for GAIA since it is used to retrieve the // generated paswords. GURL realm(password_form->signon_realm); - if (realm == GURL(GaiaUrls::GetInstance()->gaia_login_form_realm())) + if (realm == GaiaUrls::GetInstance()->gaia_login_form_realm()) continue; std::vector<WebKit::WebInputElement> passwords; diff --git a/google_apis/gaia/gaia_auth_fetcher.cc b/google_apis/gaia/gaia_auth_fetcher.cc index 67756de..f0e2644 100644 --- a/google_apis/gaia/gaia_auth_fetcher.cc +++ b/google_apis/gaia/gaia_auth_fetcher.cc @@ -103,7 +103,7 @@ const char GaiaAuthFetcher::kMergeSessionFormat[] = "source=%s"; // static const char GaiaAuthFetcher::kUberAuthTokenURLFormat[] = - "%s?source=%s&" + "?source=%s&" "issueuberauth=1"; const char GaiaAuthFetcher::kOAuthLoginFormat[] = "service=%s&source=%s"; @@ -179,8 +179,8 @@ GaiaAuthFetcher::GaiaAuthFetcher(GaiaAuthConsumer* consumer, oauth2_revoke_gurl_(GaiaUrls::GetInstance()->oauth2_revoke_url()), get_user_info_gurl_(GaiaUrls::GetInstance()->get_user_info_url()), merge_session_gurl_(GaiaUrls::GetInstance()->merge_session_url()), - uberauth_token_gurl_(base::StringPrintf(kUberAuthTokenURLFormat, - GaiaUrls::GetInstance()->oauth1_login_url().c_str(), source.c_str())), + uberauth_token_gurl_(GaiaUrls::GetInstance()->oauth1_login_url().Resolve( + base::StringPrintf(kUberAuthTokenURLFormat, source.c_str()))), oauth_login_gurl_(GaiaUrls::GetInstance()->oauth1_login_url()), client_login_to_oauth2_gurl_( GaiaUrls::GetInstance()->client_login_to_oauth2_url()), @@ -517,7 +517,7 @@ void GaiaAuthFetcher::StartLsoForOAuthLoginTokenExchange( DVLOG(1) << "Starting OAuth login token exchange with auth_token"; request_body_ = MakeGetAuthCodeBody(); client_login_to_oauth2_gurl_ = - GURL(GaiaUrls::GetInstance()->client_login_to_oauth2_url()); + GaiaUrls::GetInstance()->client_login_to_oauth2_url(); fetcher_.reset(CreateGaiaFetcher(getter_, request_body_, @@ -551,11 +551,12 @@ void GaiaAuthFetcher::StartCookieForOAuthLoginTokenExchange( DVLOG(1) << "Starting OAuth login token fetch with cookie jar"; request_body_ = MakeGetAuthCodeBody(); - std::string url = GaiaUrls::GetInstance()->client_login_to_oauth2_url(); - if (!session_index.empty()) - url += "?authuser=" + session_index; - - client_login_to_oauth2_gurl_ = GURL(url); + client_login_to_oauth2_gurl_ = + GaiaUrls::GetInstance()->client_login_to_oauth2_url(); + if (!session_index.empty()) { + client_login_to_oauth2_gurl_ = + client_login_to_oauth2_gurl_.Resolve("?authuser=" + session_index); + } fetcher_.reset(CreateGaiaFetcher(getter_, request_body_, @@ -684,7 +685,7 @@ GoogleServiceAuthError GaiaAuthFetcher::GenerateAuthError( if (error == kCaptchaError) { GURL image_url( - GaiaUrls::GetInstance()->captcha_url_prefix() + captcha_url); + GaiaUrls::GetInstance()->captcha_base_url().Resolve(captcha_url)); GURL unlock_url(url); return GoogleServiceAuthError::FromClientLoginCaptchaChallenge( captcha_token, image_url, unlock_url); @@ -737,7 +738,7 @@ GoogleServiceAuthError GaiaAuthFetcher::GenerateOAuthLoginError( if (error == kCaptchaErrorCode) { GURL image_url( - GaiaUrls::GetInstance()->captcha_url_prefix() + captcha_url); + GaiaUrls::GetInstance()->captcha_base_url().Resolve(captcha_url)); GURL unlock_url(url); return GoogleServiceAuthError::FromClientLoginCaptchaChallenge( captcha_token, image_url, unlock_url); diff --git a/google_apis/gaia/gaia_auth_fetcher_unittest.cc b/google_apis/gaia/gaia_auth_fetcher_unittest.cc index 74fed98..f554b5e 100644 --- a/google_apis/gaia/gaia_auth_fetcher_unittest.cc +++ b/google_apis/gaia/gaia_auth_fetcher_unittest.cc @@ -27,8 +27,8 @@ #include "testing/gtest/include/gtest/gtest.h" #include "url/gurl.h" -using ::testing::_; using ::testing::Invoke; +using ::testing::_; namespace { static const char kGetAuthCodeValidCookie[] = @@ -111,9 +111,9 @@ class GaiaAuthFetcherTest : public testing::Test { oauth2_token_source_(GaiaUrls::GetInstance()->oauth2_token_url()), token_auth_source_(GaiaUrls::GetInstance()->token_auth_url()), merge_session_source_(GaiaUrls::GetInstance()->merge_session_url()), - uberauth_token_source_(base::StringPrintf( - "%s?source=&issueuberauth=1", - GaiaUrls::GetInstance()->oauth1_login_url().c_str())), + uberauth_token_source_( + GaiaUrls::GetInstance()->oauth1_login_url().Resolve( + "?source=&issueuberauth=1")), oauth_login_gurl_(GaiaUrls::GetInstance()->oauth1_login_url()) {} void RunParsingTest(const std::string& data, diff --git a/google_apis/gaia/gaia_switches.cc b/google_apis/gaia/gaia_switches.cc index c2430b0..16228c3 100644 --- a/google_apis/gaia/gaia_switches.cc +++ b/google_apis/gaia/gaia_switches.cc @@ -8,11 +8,10 @@ namespace switches { const char kClientLoginToOAuth2Url[] = "client-login-to-oauth2-url"; const char kGaiaUrl[] = "gaia-url"; -const char kGoogleApisHost[] = "google-apis-host"; +const char kGoogleApisUrl[] = "google-apis-url"; const char kLsoUrl[] = "lso-url"; const char kOAuth1LoginScope[] = "oauth1-login-scope"; -const char kOAuth2IssueTokenUrl[] = "oauth2-issue-token-url"; -const char kOAuth2TokenUrl[] = "oauth2-token-url"; -const char kOAuthUserInfoUrl[] = "oauth-user-info-url"; +const char kOAuthWrapBridgeUserInfoScope[] = + "oauth-wrap-bridge-user-info-scope"; } // namespace switches diff --git a/google_apis/gaia/gaia_switches.h b/google_apis/gaia/gaia_switches.h index 727a355..0700f36 100644 --- a/google_apis/gaia/gaia_switches.h +++ b/google_apis/gaia/gaia_switches.h @@ -14,29 +14,20 @@ extern const char kClientLoginToOAuth2Url[]; // "https://accounts.google.com". extern const char kGaiaUrl[]; -// Specifies the backend server used for Google API calls. The https:// prefix -// and the trailing slash should be omitted. -// The default value is "www.googleapis.com". -extern const char kGoogleApisHost[]; +// Specifies the backend server used for Google API calls. +// The default value is "https://www.googleapis.com". +extern const char kGoogleApisUrl[]; // Specifies the backend server used for lso authentication calls. // "https://accounts.google.com". extern const char kLsoUrl[]; -// TODO(zelidrag): Get rid of all following since all URLs should be -// controlled only with --gaia-host, --lso-host and --google-apis-host. - // Specifies custom OAuth1 login scope for testing purposes. extern const char kOAuth1LoginScope[]; -// Specifies custom OAuth2 issue token URL for testing purposes. -extern const char kOAuth2IssueTokenUrl[]; - -// Specifies custom OAuth2 token URL for testing purposes. -extern const char kOAuth2TokenUrl[]; +// Overrides OAuth wrap bridge user info scope. +extern const char kOAuthWrapBridgeUserInfoScope[]; -// Specifies custom OAuth user info URL for testing purposes. -extern const char kOAuthUserInfoUrl[]; } // namespace switches #endif // GOOGLE_APIS_GAIA_GAIA_SWITCHES_H_ diff --git a/google_apis/gaia/gaia_urls.cc b/google_apis/gaia/gaia_urls.cc index 578205c..f976f6c 100644 --- a/google_apis/gaia/gaia_urls.cc +++ b/google_apis/gaia/gaia_urls.cc @@ -13,38 +13,38 @@ namespace { // Gaia service constants const char kDefaultGaiaUrl[] = "https://accounts.google.com"; -const char kDefaultGoogleApisBaseUrl[] = "www.googleapis.com"; -const char kCaptchaUrlPrefixSuffix[] = "/"; +const char kDefaultGoogleApisBaseUrl[] = "https://www.googleapis.com"; // API calls from accounts.google.com -const char kClientLoginUrlSuffix[] = "/ClientLogin"; -const char kServiceLoginUrlSuffix[] = "/ServiceLogin"; -const char kServiceLogoutUrlSuffix[] = "/Logout"; -const char kIssueAuthTokenUrlSuffix[] = "/IssueAuthToken"; -const char kGetUserInfoUrlSuffix[] = "/GetUserInfo"; -const char kTokenAuthUrlSuffix[] = "/TokenAuth"; -const char kMergeSessionUrlSuffix[] = "/MergeSession"; -const char kOAuthGetAccessTokenUrlSuffix[] = "/OAuthGetAccessToken"; -const char kOAuthWrapBridgeUrlSuffix[] = "/OAuthWrapBridge"; -const char kOAuth1LoginUrlSuffix[] = "/OAuthLogin"; -const char kOAuthRevokeTokenUrlSuffix[] = "/AuthSubRevokeToken"; +const char kClientLoginUrlSuffix[] = "ClientLogin"; +const char kServiceLoginUrlSuffix[] = "ServiceLogin"; +const char kServiceLogoutUrlSuffix[] = "Logout"; +const char kIssueAuthTokenUrlSuffix[] = "IssueAuthToken"; +const char kGetUserInfoUrlSuffix[] = "GetUserInfo"; +const char kTokenAuthUrlSuffix[] = "TokenAuth"; +const char kMergeSessionUrlSuffix[] = "MergeSession"; +const char kOAuthGetAccessTokenUrlSuffix[] = "OAuthGetAccessToken"; +const char kOAuthWrapBridgeUrlSuffix[] = "OAuthWrapBridge"; +const char kOAuth1LoginUrlSuffix[] = "OAuthLogin"; +const char kOAuthRevokeTokenUrlSuffix[] = "AuthSubRevokeToken"; + +// OAuth scopes +const char kOAuth1LoginScope[] = "https://www.google.com/accounts/OAuthLogin"; +const char kOAuthWrapBridgeUserInfoScope[] = + "https://www.googleapis.com/auth/userinfo.email"; // API calls from accounts.google.com (LSO) -const char kGetOAuthTokenUrlSuffix[] = "/o/oauth/GetOAuthToken/"; -const char kClientLoginToOAuth2UrlSuffix[] = "/o/oauth2/programmatic_auth"; -const char kOAuth2AuthUrlSuffix[] = "/o/oauth2/auth"; -const char kOAuth2RevokeUrlSuffix[] = "/o/oauth2/revoke"; -const char kOAuth2TokenUrlSuffix[] = "/o/oauth2/token"; -const char kClientOAuthUrlSuffix[] = "/ClientOAuth"; +const char kGetOAuthTokenUrlSuffix[] = "o/oauth/GetOAuthToken/"; +const char kClientLoginToOAuth2UrlSuffix[] = "o/oauth2/programmatic_auth"; +const char kOAuth2AuthUrlSuffix[] = "o/oauth2/auth"; +const char kOAuth2RevokeUrlSuffix[] = "o/oauth2/revoke"; +const char kOAuth2TokenUrlSuffix[] = "o/oauth2/token"; +const char kClientOAuthUrlSuffix[] = "ClientOAuth"; // API calls from www.googleapis.com -const char kOAuth2IssueTokenUrlSuffix[] = "/oauth2/v2/IssueToken"; -const char kOAuth2TokenInfoUrlSuffix[] = "/oauth2/v2/tokeninfo"; -const char kOAuthUserInfoUrlSuffix[] = "/oauth2/v1/userinfo"; -const char kOAuthWrapBridgeUserInfoScopeUrlSuffix[] = "/auth/userinfo.email"; - -const char kOAuth1LoginScope[] = - "https://www.google.com/accounts/OAuthLogin"; +const char kOAuth2IssueTokenUrlSuffix[] = "oauth2/v2/IssueToken"; +const char kOAuth2TokenInfoUrlSuffix[] = "oauth2/v2/tokeninfo"; +const char kOAuthUserInfoUrlSuffix[] = "oauth2/v1/userinfo"; void GetSwitchValueWithDefault(const char* switch_value, const char* default_value, @@ -57,6 +57,16 @@ void GetSwitchValueWithDefault(const char* switch_value, } } +GURL GetURLSwitchValueWithDefault(const char* switch_value, + const char* default_value) { + std::string string_value; + GetSwitchValueWithDefault(switch_value, default_value, &string_value); + const GURL result(string_value); + DCHECK(result.is_valid()); + return result; +} + + } // namespace GaiaUrls* GaiaUrls::GetInstance() { @@ -64,27 +74,15 @@ GaiaUrls* GaiaUrls::GetInstance() { } GaiaUrls::GaiaUrls() { - std::string gaia_url_str; - GetSwitchValueWithDefault(switches::kGaiaUrl, - kDefaultGaiaUrl, - &gaia_url_str); - gaia_url_ = GURL(gaia_url_str); - DCHECK(gaia_url_.is_valid()); - - GetSwitchValueWithDefault(switches::kLsoUrl, - kDefaultGaiaUrl, - &lso_origin_url_); - - std::string google_apis_base; - GetSwitchValueWithDefault(switches::kGoogleApisHost, - kDefaultGoogleApisBaseUrl, - &google_apis_base); + gaia_url_ = GetURLSwitchValueWithDefault(switches::kGaiaUrl, kDefaultGaiaUrl); + lso_origin_url_ = + GetURLSwitchValueWithDefault(switches::kLsoUrl, kDefaultGaiaUrl); + google_apis_origin_url_ = GetURLSwitchValueWithDefault( + switches::kGoogleApisUrl, kDefaultGoogleApisBaseUrl); - captcha_url_prefix_ = "http://" + gaia_url_.host() + - (gaia_url_.has_port() ? ":" + gaia_url_.port() : "") + - kCaptchaUrlPrefixSuffix; - - google_apis_origin_url_ = "https://" + google_apis_base; + captcha_base_url_ = + GURL("http://" + gaia_url_.host() + + (gaia_url_.has_port() ? ":" + gaia_url_.port() : "")); oauth2_chrome_client_id_ = google_apis::GetOAuth2ClientID(google_apis::CLIENT_MAIN); @@ -92,115 +90,106 @@ GaiaUrls::GaiaUrls() { google_apis::GetOAuth2ClientSecret(google_apis::CLIENT_MAIN); // URLs from accounts.google.com. - gaia_login_form_realm_ = gaia_url_str + "/"; - client_login_url_ = gaia_url_str + kClientLoginUrlSuffix; - service_login_url_ = gaia_url_str + kServiceLoginUrlSuffix; - service_logout_url_ = gaia_url_str + kServiceLogoutUrlSuffix; - issue_auth_token_url_ = gaia_url_str + kIssueAuthTokenUrlSuffix; - get_user_info_url_ = gaia_url_str + kGetUserInfoUrlSuffix; - token_auth_url_ = gaia_url_str + kTokenAuthUrlSuffix; - merge_session_url_ = gaia_url_str + kMergeSessionUrlSuffix; - oauth_get_access_token_url_ = gaia_url_str + kOAuthGetAccessTokenUrlSuffix; - oauth_wrap_bridge_url_ = gaia_url_str + kOAuthWrapBridgeUrlSuffix; - oauth_revoke_token_url_ = gaia_url_str + kOAuthRevokeTokenUrlSuffix; - oauth1_login_url_ = gaia_url_str + kOAuth1LoginUrlSuffix; + client_login_url_ = gaia_url_.Resolve(kClientLoginUrlSuffix); + service_login_url_ = gaia_url_.Resolve(kServiceLoginUrlSuffix); + service_logout_url_ = gaia_url_.Resolve(kServiceLogoutUrlSuffix); + issue_auth_token_url_ = gaia_url_.Resolve(kIssueAuthTokenUrlSuffix); + get_user_info_url_ = gaia_url_.Resolve(kGetUserInfoUrlSuffix); + token_auth_url_ = gaia_url_.Resolve(kTokenAuthUrlSuffix); + merge_session_url_ = gaia_url_.Resolve(kMergeSessionUrlSuffix); + oauth_get_access_token_url_ = + gaia_url_.Resolve(kOAuthGetAccessTokenUrlSuffix); + oauth_wrap_bridge_url_ = gaia_url_.Resolve(kOAuthWrapBridgeUrlSuffix); + oauth_revoke_token_url_ = gaia_url_.Resolve(kOAuthRevokeTokenUrlSuffix); + oauth1_login_url_ = gaia_url_.Resolve(kOAuth1LoginUrlSuffix); // URLs from accounts.google.com (LSO). - get_oauth_token_url_ = lso_origin_url_ + kGetOAuthTokenUrlSuffix; - std::string client_login_to_oauth2_url = lso_origin_url_ + - kClientLoginToOAuth2UrlSuffix; - oauth2_auth_url_ = lso_origin_url_ + kOAuth2AuthUrlSuffix; - std::string oauth2_token_url = lso_origin_url_ + kOAuth2TokenUrlSuffix; - oauth2_revoke_url_ = lso_origin_url_ + kOAuth2RevokeUrlSuffix; + get_oauth_token_url_ = lso_origin_url_.Resolve(kGetOAuthTokenUrlSuffix); + client_login_to_oauth2_url_ = + lso_origin_url_.Resolve(kClientLoginToOAuth2UrlSuffix); + oauth2_auth_url_ = lso_origin_url_.Resolve(kOAuth2AuthUrlSuffix); + oauth2_token_url_ = lso_origin_url_.Resolve(kOAuth2TokenUrlSuffix); + oauth2_revoke_url_ = lso_origin_url_.Resolve(kOAuth2RevokeUrlSuffix); // URLs from www.googleapis.com. - oauth_wrap_bridge_user_info_scope_ = google_apis_origin_url_ + - kOAuthWrapBridgeUserInfoScopeUrlSuffix; - std::string oauth2_issue_token_url = google_apis_origin_url_ + - kOAuth2IssueTokenUrlSuffix; - oauth2_token_info_url_ = google_apis_origin_url_ + kOAuth2TokenInfoUrlSuffix; - std::string oauth_user_info_url = google_apis_origin_url_ + - kOAuthUserInfoUrlSuffix; - - // TODO(zelidrag): Get rid of all these switches since all URLs should be - // controlled only with --gaia-url, --lso-url and --google-apis-host. + oauth2_issue_token_url_ = + google_apis_origin_url_.Resolve(kOAuth2IssueTokenUrlSuffix); + oauth2_token_info_url_ = + google_apis_origin_url_.Resolve(kOAuth2TokenInfoUrlSuffix); + oauth_user_info_url_ = + google_apis_origin_url_.Resolve(kOAuthUserInfoUrlSuffix); + + gaia_login_form_realm_ = gaia_url_; + + // OAuth scopes. + GetSwitchValueWithDefault(switches::kOAuthWrapBridgeUserInfoScope, + kOAuthWrapBridgeUserInfoScope, + &oauth_wrap_bridge_user_info_scope_); GetSwitchValueWithDefault(switches::kOAuth1LoginScope, kOAuth1LoginScope, &oauth1_login_scope_); - GetSwitchValueWithDefault(switches::kClientLoginToOAuth2Url, - client_login_to_oauth2_url.c_str(), - &client_login_to_oauth2_url_); - GetSwitchValueWithDefault(switches::kOAuth2TokenUrl, - oauth2_token_url.c_str(), - &oauth2_token_url_); - GetSwitchValueWithDefault(switches::kOAuth2IssueTokenUrl, - oauth2_issue_token_url.c_str(), - &oauth2_issue_token_url_); - GetSwitchValueWithDefault(switches::kOAuthUserInfoUrl, - oauth_user_info_url.c_str(), - &oauth_user_info_url_); } GaiaUrls::~GaiaUrls() { } -const std::string& GaiaUrls::captcha_url_prefix() const { - return captcha_url_prefix_; -} - const GURL& GaiaUrls::gaia_url() const { return gaia_url_; } -const std::string& GaiaUrls::client_login_url() const { +const GURL& GaiaUrls::captcha_base_url() const { + return captcha_base_url_; +} + +const GURL& GaiaUrls::client_login_url() const { return client_login_url_; } -const std::string& GaiaUrls::service_login_url() const { +const GURL& GaiaUrls::service_login_url() const { return service_login_url_; } -const std::string& GaiaUrls::service_logout_url() const { +const GURL& GaiaUrls::service_logout_url() const { return service_logout_url_; } -const std::string& GaiaUrls::issue_auth_token_url() const { +const GURL& GaiaUrls::issue_auth_token_url() const { return issue_auth_token_url_; } -const std::string& GaiaUrls::get_user_info_url() const { +const GURL& GaiaUrls::get_user_info_url() const { return get_user_info_url_; } -const std::string& GaiaUrls::token_auth_url() const { +const GURL& GaiaUrls::token_auth_url() const { return token_auth_url_; } -const std::string& GaiaUrls::merge_session_url() const { +const GURL& GaiaUrls::merge_session_url() const { return merge_session_url_; } -const std::string& GaiaUrls::get_oauth_token_url() const { +const GURL& GaiaUrls::get_oauth_token_url() const { return get_oauth_token_url_; } -const std::string& GaiaUrls::oauth_get_access_token_url() const { +const GURL& GaiaUrls::oauth_get_access_token_url() const { return oauth_get_access_token_url_; } -const std::string& GaiaUrls::oauth_wrap_bridge_url() const { +const GURL& GaiaUrls::oauth_wrap_bridge_url() const { return oauth_wrap_bridge_url_; } -const std::string& GaiaUrls::oauth_user_info_url() const { +const GURL& GaiaUrls::oauth_user_info_url() const { return oauth_user_info_url_; } -const std::string& GaiaUrls::oauth_revoke_token_url() const { +const GURL& GaiaUrls::oauth_revoke_token_url() const { return oauth_revoke_token_url_; } -const std::string& GaiaUrls::oauth1_login_url() const { +const GURL& GaiaUrls::oauth1_login_url() const { return oauth1_login_url_; } @@ -220,30 +209,30 @@ const std::string& GaiaUrls::oauth2_chrome_client_secret() const { return oauth2_chrome_client_secret_; } -const std::string& GaiaUrls::client_login_to_oauth2_url() const { +const GURL& GaiaUrls::client_login_to_oauth2_url() const { return client_login_to_oauth2_url_; } -const std::string& GaiaUrls::oauth2_auth_url() const { +const GURL& GaiaUrls::oauth2_auth_url() const { return oauth2_auth_url_; } -const std::string& GaiaUrls::oauth2_token_url() const { +const GURL& GaiaUrls::oauth2_token_url() const { return oauth2_token_url_; } -const std::string& GaiaUrls::oauth2_issue_token_url() const { +const GURL& GaiaUrls::oauth2_issue_token_url() const { return oauth2_issue_token_url_; } -const std::string& GaiaUrls::oauth2_token_info_url() const { +const GURL& GaiaUrls::oauth2_token_info_url() const { return oauth2_token_info_url_; } -const std::string& GaiaUrls::oauth2_revoke_url() const { +const GURL& GaiaUrls::oauth2_revoke_url() const { return oauth2_revoke_url_; } -const std::string& GaiaUrls::gaia_login_form_realm() const { - return gaia_login_form_realm_; +const GURL& GaiaUrls::gaia_login_form_realm() const { + return gaia_url_; } diff --git a/google_apis/gaia/gaia_urls.h b/google_apis/gaia/gaia_urls.h index 28c7279..06014d2 100644 --- a/google_apis/gaia/gaia_urls.h +++ b/google_apis/gaia/gaia_urls.h @@ -16,36 +16,35 @@ class GaiaUrls { static GaiaUrls* GetInstance(); // The URLs for different calls in the Google Accounts programmatic login API. - const std::string& captcha_url_prefix() const; - const GURL& gaia_url() const; - const std::string& client_login_url() const; - const std::string& service_login_url() const; - const std::string& service_logout_url() const; - const std::string& issue_auth_token_url() const; - const std::string& get_user_info_url() const; - const std::string& token_auth_url() const; - const std::string& merge_session_url() const; - const std::string& get_oauth_token_url() const; - const std::string& oauth_get_access_token_url() const; - const std::string& oauth_wrap_bridge_url() const; - const std::string& oauth_user_info_url() const; - const std::string& oauth_revoke_token_url() const; - const std::string& oauth1_login_url() const; + const GURL& captcha_base_url() const; + const GURL& client_login_url() const; + const GURL& service_login_url() const; + const GURL& service_logout_url() const; + const GURL& issue_auth_token_url() const; + const GURL& get_user_info_url() const; + const GURL& token_auth_url() const; + const GURL& merge_session_url() const; + const GURL& get_oauth_token_url() const; + const GURL& oauth_get_access_token_url() const; + const GURL& oauth_wrap_bridge_url() const; + const GURL& oauth_user_info_url() const; + const GURL& oauth_revoke_token_url() const; + const GURL& oauth1_login_url() const; const std::string& oauth1_login_scope() const; const std::string& oauth_wrap_bridge_user_info_scope() const; const std::string& oauth2_chrome_client_id() const; const std::string& oauth2_chrome_client_secret() const; - const std::string& client_login_to_oauth2_url() const; - const std::string& oauth2_auth_url() const; - const std::string& oauth2_token_url() const; - const std::string& oauth2_issue_token_url() const; - const std::string& oauth2_token_info_url() const; - const std::string& oauth2_revoke_url() const; + const GURL& client_login_to_oauth2_url() const; + const GURL& oauth2_auth_url() const; + const GURL& oauth2_token_url() const; + const GURL& oauth2_issue_token_url() const; + const GURL& oauth2_token_info_url() const; + const GURL& oauth2_revoke_url() const; - const std::string& gaia_login_form_realm() const; + const GURL& gaia_login_form_realm() const; private: GaiaUrls(); @@ -53,38 +52,40 @@ class GaiaUrls { friend struct DefaultSingletonTraits<GaiaUrls>; - std::string captcha_url_prefix_; - GURL gaia_url_; - std::string lso_origin_url_; - std::string google_apis_origin_url_; - std::string client_login_url_; - std::string service_login_url_; - std::string service_logout_url_; - std::string issue_auth_token_url_; - std::string get_user_info_url_; - std::string token_auth_url_; - std::string merge_session_url_; - std::string get_oauth_token_url_; - std::string oauth_get_access_token_url_; - std::string oauth_wrap_bridge_url_; - std::string oauth_user_info_url_; - std::string oauth_revoke_token_url_; - std::string oauth1_login_url_; + GURL captcha_base_url_; + + GURL lso_origin_url_; + GURL google_apis_origin_url_; + + GURL client_login_url_; + GURL service_login_url_; + GURL service_logout_url_; + GURL issue_auth_token_url_; + GURL get_user_info_url_; + GURL token_auth_url_; + GURL merge_session_url_; + GURL get_oauth_token_url_; + GURL oauth_get_access_token_url_; + GURL oauth_wrap_bridge_url_; + GURL oauth_user_info_url_; + GURL oauth_revoke_token_url_; + GURL oauth1_login_url_; std::string oauth1_login_scope_; std::string oauth_wrap_bridge_user_info_scope_; std::string oauth2_chrome_client_id_; std::string oauth2_chrome_client_secret_; - std::string client_login_to_oauth2_url_; - std::string oauth2_auth_url_; - std::string oauth2_token_url_; - std::string oauth2_issue_token_url_; - std::string oauth2_token_info_url_; - std::string oauth2_revoke_url_; - - std::string gaia_login_form_realm_; + + GURL client_login_to_oauth2_url_; + GURL oauth2_auth_url_; + GURL oauth2_token_url_; + GURL oauth2_issue_token_url_; + GURL oauth2_token_info_url_; + GURL oauth2_revoke_url_; + + GURL gaia_login_form_realm_; DISALLOW_COPY_AND_ASSIGN(GaiaUrls); }; diff --git a/google_apis/gaia/oauth2_access_token_fetcher.cc b/google_apis/gaia/oauth2_access_token_fetcher.cc index 456251f..44f2d4a 100644 --- a/google_apis/gaia/oauth2_access_token_fetcher.cc +++ b/google_apis/gaia/oauth2_access_token_fetcher.cc @@ -182,7 +182,7 @@ void OAuth2AccessTokenFetcher::OnURLFetchComplete( // static GURL OAuth2AccessTokenFetcher::MakeGetAccessTokenUrl() { - return GURL(GaiaUrls::GetInstance()->oauth2_token_url()); + return GaiaUrls::GetInstance()->oauth2_token_url(); } // static diff --git a/google_apis/gaia/oauth2_mint_token_flow.cc b/google_apis/gaia/oauth2_mint_token_flow.cc index f66e0fb..b705ab8 100644 --- a/google_apis/gaia/oauth2_mint_token_flow.cc +++ b/google_apis/gaia/oauth2_mint_token_flow.cc @@ -151,7 +151,7 @@ void OAuth2MintTokenFlow::ReportFailure( } GURL OAuth2MintTokenFlow::CreateApiCallUrl() { - return GURL(GaiaUrls::GetInstance()->oauth2_issue_token_url()); + return GaiaUrls::GetInstance()->oauth2_issue_token_url(); } std::string OAuth2MintTokenFlow::CreateApiCallBody() { diff --git a/net/url_request/test_url_fetcher_factory.cc b/net/url_request/test_url_fetcher_factory.cc index e0394c4..3038035 100644 --- a/net/url_request/test_url_fetcher_factory.cc +++ b/net/url_request/test_url_fetcher_factory.cc @@ -357,11 +357,18 @@ URLFetcher* FakeURLFetcherFactory::CreateURLFetcher( return fake_fetcher.release(); } +void FakeURLFetcherFactory::SetFakeResponseForURL( + const GURL& url, + const std::string& response_data, + bool success) { + // Overwrite existing URL if it already exists. + fake_responses_[url] = std::make_pair(response_data, success); +} + void FakeURLFetcherFactory::SetFakeResponse(const std::string& url, const std::string& response_data, bool success) { - // Overwrite existing URL if it already exists. - fake_responses_[GURL(url)] = std::make_pair(response_data, success); + SetFakeResponseForURL(GURL(url), response_data, success); } void FakeURLFetcherFactory::ClearFakeResponses() { diff --git a/net/url_request/test_url_fetcher_factory.h b/net/url_request/test_url_fetcher_factory.h index 89f74c2..35b4607 100644 --- a/net/url_request/test_url_fetcher_factory.h +++ b/net/url_request/test_url_fetcher_factory.h @@ -377,6 +377,12 @@ class FakeURLFetcherFactory : public URLFetcherFactory, // Sets the fake response for a given URL. If success is true we will serve // an HTTP/200 and an HTTP/500 otherwise. The |response_data| may be empty. + void SetFakeResponseForURL(const GURL& url, + const std::string& response_data, + bool success); + + // Convenience helper that calls SetFakeResponseForURL with GURL(url). + // TODO(mnissler): Convert callers to SetFakeResponseForURL. void SetFakeResponse(const std::string& url, const std::string& response_data, bool success); |