summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/chromeos/login/auth_prewarmer.cc4
-rw-r--r--chrome/browser/chromeos/login/login_utils_browsertest.cc4
-rw-r--r--chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos_unittest.cc4
-rw-r--r--chrome/browser/extensions/api/identity/gaia_web_auth_flow.cc26
-rw-r--r--chrome/browser/managed_mode/managed_user_refresh_token_fetcher_unittest.cc4
-rw-r--r--chrome/browser/net/gaia/gaia_oauth_fetcher.cc10
-rw-r--r--chrome/browser/password_manager/password_manager_delegate_impl.cc2
-rw-r--r--chrome/browser/policy/cloud/user_info_fetcher.cc2
-rw-r--r--chrome/browser/policy/url_blacklist_manager_unittest.cc4
-rw-r--r--chrome/browser/profiles/avatar_menu_model.cc4
-rw-r--r--chrome/browser/signin/signin_browsertest.cc2
-rw-r--r--chrome/browser/signin/signin_manager_unittest.cc13
-rw-r--r--chrome/browser/signin/signin_promo.cc9
-rw-r--r--chrome/browser/sync/test/integration/sync_test.cc12
-rw-r--r--chrome/browser/ui/auto_login_infobar_delegate.cc4
-rw-r--r--chrome/browser/ui/sync/one_click_signin_helper.cc2
-rw-r--r--components/autofill/content/renderer/password_generation_manager.cc2
-rw-r--r--google_apis/gaia/gaia_auth_fetcher.cc23
-rw-r--r--google_apis/gaia/gaia_auth_fetcher_unittest.cc8
-rw-r--r--google_apis/gaia/gaia_switches.cc7
-rw-r--r--google_apis/gaia/gaia_switches.h19
-rw-r--r--google_apis/gaia/gaia_urls.cc211
-rw-r--r--google_apis/gaia/gaia_urls.h95
-rw-r--r--google_apis/gaia/oauth2_access_token_fetcher.cc2
-rw-r--r--google_apis/gaia/oauth2_mint_token_flow.cc2
-rw-r--r--net/url_request/test_url_fetcher_factory.cc11
-rw-r--r--net/url_request/test_url_fetcher_factory.h6
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);