Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(505)

Side by Side Diff: chrome/browser/extensions/chrome_content_verifier_delegate.cc

Issue 2695883003: Change uses of base::JoinString to pass StringPieces where possible. (Closed)
Patch Set: Remove dependency CL. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/chrome_content_verifier_delegate.h" 5 #include "chrome/browser/extensions/chrome_content_verifier_delegate.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <memory> 8 #include <memory>
9 #include <set> 9 #include <set>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/base_switches.h" 12 #include "base/base_switches.h"
13 #include "base/command_line.h" 13 #include "base/command_line.h"
14 #include "base/memory/ptr_util.h" 14 #include "base/memory/ptr_util.h"
15 #include "base/metrics/field_trial.h" 15 #include "base/metrics/field_trial.h"
16 #include "base/metrics/histogram_macros.h" 16 #include "base/metrics/histogram_macros.h"
17 #include "base/strings/string_piece.h"
17 #include "base/strings/string_util.h" 18 #include "base/strings/string_util.h"
18 #include "base/syslog_logging.h" 19 #include "base/syslog_logging.h"
19 #include "base/threading/thread_task_runner_handle.h" 20 #include "base/threading/thread_task_runner_handle.h"
20 #include "base/version.h" 21 #include "base/version.h"
21 #include "build/build_config.h" 22 #include "build/build_config.h"
22 #include "chrome/browser/extensions/extension_service.h" 23 #include "chrome/browser/extensions/extension_service.h"
23 #include "chrome/common/chrome_switches.h" 24 #include "chrome/common/chrome_switches.h"
24 #include "chrome/common/extensions/extension_constants.h" 25 #include "chrome/common/extensions/extension_constants.h"
25 #include "extensions/browser/extension_prefs.h" 26 #include "extensions/browser/extension_prefs.h"
26 #include "extensions/browser/extension_registry.h" 27 #include "extensions/browser/extension_registry.h"
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 ContentVerifierKey ChromeContentVerifierDelegate::GetPublicKey() { 168 ContentVerifierKey ChromeContentVerifierDelegate::GetPublicKey() {
168 return ContentVerifierKey(kWebstoreSignaturesPublicKey, 169 return ContentVerifierKey(kWebstoreSignaturesPublicKey,
169 kWebstoreSignaturesPublicKeySize); 170 kWebstoreSignaturesPublicKeySize);
170 } 171 }
171 172
172 GURL ChromeContentVerifierDelegate::GetSignatureFetchUrl( 173 GURL ChromeContentVerifierDelegate::GetSignatureFetchUrl(
173 const std::string& extension_id, 174 const std::string& extension_id,
174 const base::Version& version) { 175 const base::Version& version) {
175 // TODO(asargent) Factor out common code from the extension updater's 176 // TODO(asargent) Factor out common code from the extension updater's
176 // ManifestFetchData class that can be shared for use here. 177 // ManifestFetchData class that can be shared for use here.
177 std::vector<std::string> parts; 178 std::string id_part = "id=" + extension_id;
178 parts.push_back("uc"); 179 std::string version_part = "v=" + version.GetString();
179 parts.push_back("installsource=signature"); 180 std::string x_value = net::EscapeQueryParamValue(
180 parts.push_back("id=" + extension_id); 181 base::JoinString({"uc", "installsource=signature", id_part, version_part},
181 parts.push_back("v=" + version.GetString()); 182 "&"),
182 std::string x_value = 183 true);
183 net::EscapeQueryParamValue(base::JoinString(parts, "&"), true);
184 std::string query = "response=redirect&x=" + x_value; 184 std::string query = "response=redirect&x=" + x_value;
185 185
186 GURL base_url = extension_urls::GetWebstoreUpdateUrl(); 186 GURL base_url = extension_urls::GetWebstoreUpdateUrl();
187 GURL::Replacements replacements; 187 GURL::Replacements replacements;
188 replacements.SetQuery(query.c_str(), url::Component(0, query.length())); 188 replacements.SetQuery(query.c_str(), url::Component(0, query.length()));
189 return base_url.ReplaceComponents(replacements); 189 return base_url.ReplaceComponents(replacements);
190 } 190 }
191 191
192 std::set<base::FilePath> ChromeContentVerifierDelegate::GetBrowserImagePaths( 192 std::set<base::FilePath> ChromeContentVerifierDelegate::GetBrowserImagePaths(
193 const extensions::Extension* extension) { 193 const extensions::Extension* extension) {
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 } 256 }
257 } 257 }
258 258
259 // static 259 // static
260 void ChromeContentVerifierDelegate::set_policy_reinstall_action_for_test( 260 void ChromeContentVerifierDelegate::set_policy_reinstall_action_for_test(
261 base::Callback<void(base::TimeDelta delay)>* action) { 261 base::Callback<void(base::TimeDelta delay)>* action) {
262 g_reinstall_action_for_test = action; 262 g_reinstall_action_for_test = action;
263 } 263 }
264 264
265 } // namespace extensions 265 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698