Index: chrome/browser/printing/cloud_print/cloud_print_url.cc |
diff --git a/chrome/browser/printing/cloud_print/cloud_print_url.cc b/chrome/browser/printing/cloud_print/cloud_print_url.cc |
index de9967bb9af3b5c8a2f83883057dc7aed39c8b28..48e071a301ddce0134bd491d50a9f6f4ef47167c 100644 |
--- a/chrome/browser/printing/cloud_print/cloud_print_url.cc |
+++ b/chrome/browser/printing/cloud_print/cloud_print_url.cc |
@@ -14,7 +14,7 @@ |
#include "chrome/common/pref_names.h" |
#include "components/user_prefs/pref_registry_syncable.h" |
#include "google_apis/gaia/gaia_urls.h" |
-#include "net/base/escape.h" |
+#include "net/base/url_util.h" |
#include "url/gurl.h" |
// Url must not be matched by "urls" section of |
@@ -30,16 +30,21 @@ const char kTestPageURL[] = |
// static |
void CloudPrintURL::RegisterProfilePrefs( |
user_prefs::PrefRegistrySyncable* registry) { |
+ const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
Noam Samuel
2013/09/05 19:35:35
Maybe it's cleaner to have this be a const ptr rat
Vitaly Buka (NO REVIEWS)
2013/09/05 20:47:39
Done.
|
+ GURL cloud_print_url = |
+ GURL(command_line.GetSwitchValueASCII(switches::kCloudPrintServiceURL)); |
registry->RegisterStringPref( |
prefs::kCloudPrintServiceURL, |
- kDefaultCloudPrintServiceURL, |
+ cloud_print_url.spec(), |
user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
- std::string url = GaiaUrls::GetInstance()->service_login_url(); |
- url.append("?service=cloudprint&sarp=1&continue="); |
- url.append(net::EscapeQueryParamValue(kDefaultCloudPrintServiceURL, false)); |
+ GURL gaia_url(GaiaUrls::GetInstance()->service_login_url()); |
+ gaia_url = net::AppendQueryParameter(gaia_url, "service", "cloudprint"); |
+ gaia_url = net::AppendQueryParameter(gaia_url, "sarp", "1"); |
+ gaia_url = net::AppendQueryParameter(gaia_url, "continue", |
+ cloud_print_url.spec()); |
registry->RegisterStringPref( |
prefs::kCloudPrintSigninURL, |
- url, |
+ gaia_url.spec(), |
user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
} |
@@ -48,20 +53,11 @@ void CloudPrintURL::RegisterProfilePrefs( |
// command line or by the user preferences. |
GURL CloudPrintURL::GetCloudPrintServiceURL() { |
DCHECK(profile_); |
- |
- const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
- GURL cloud_print_service_url = GURL(command_line.GetSwitchValueASCII( |
- switches::kCloudPrintServiceURL)); |
- if (cloud_print_service_url.is_empty()) { |
- cloud_print_service_url = GURL( |
- profile_->GetPrefs()->GetString(prefs::kCloudPrintServiceURL)); |
- } |
- return cloud_print_service_url; |
+ return GURL(profile_->GetPrefs()->GetString(prefs::kCloudPrintServiceURL)); |
} |
GURL CloudPrintURL::GetCloudPrintSigninURL() { |
DCHECK(profile_); |
- |
GURL cloud_print_signin_url = GURL( |
profile_->GetPrefs()->GetString(prefs::kCloudPrintSigninURL)); |
return google_util::AppendGoogleLocaleParam(cloud_print_signin_url); |