Index: chrome/browser/autocomplete/search_provider.cc |
diff --git a/chrome/browser/autocomplete/search_provider.cc b/chrome/browser/autocomplete/search_provider.cc |
index a06fac50988e8643326f8bad50c7402505eefe0f..7a42af1e6ad975664bdff790f41e0d74f7c5a589 100644 |
--- a/chrome/browser/autocomplete/search_provider.cc |
+++ b/chrome/browser/autocomplete/search_provider.cc |
@@ -1152,6 +1152,10 @@ std::string SearchProvider::GetSessionToken() { |
std::string raw_data; |
base::RandBytes(WriteInto(&raw_data, kTokenBytes + 1), kTokenBytes); |
base::Base64Encode(raw_data, ¤t_token_); |
+ |
+ // Make the base64 encoded value URL and filename safe(see RFC 3548). |
+ std::replace(current_token_.begin(), current_token_.end(), '+', '-'); |
+ std::replace(current_token_.begin(), current_token_.end(), '/', '_'); |
} |
// Extend expiration time another 60 seconds. |