GURL::Replacements methods accept a StringPiece instead of std::string&.
commit77752c3e55c59747a62a362799ac6de5ff56fd45
authormgiuca <mgiuca@chromium.org>
Thu, 5 Feb 2015 07:31:18 +0000 (4 23:31 -0800)
committerCommit bot <commit-bot@chromium.org>
Thu, 5 Feb 2015 07:32:17 +0000 (5 07:32 +0000)
tree3335837d27339353c3dbef87320aadd90c0df664
parentbf7077883810ce30907c2d8e68bd50c1a5853af1
GURL::Replacements methods accept a StringPiece instead of std::string&.

Previously, it was unsafe to pass a char* because it would be implicitly
converted to a string with a very short lifetime. Now, you can safely
pass a char* as long as the memory pointed to by the char* outlives the
Replacements (which is always true for string literals).

All existing usage of Replacements should continue to work as usual.

Updated every call to Replacements Set*Str methods that that could be
simplified by the new StringPiece API (for example, passing string
literals directly, instead of copying them into a string object).

Internally, renamed StdStringReplacements to StringPieceReplacements.

BUG=454274

Review URL: https://codereview.chromium.org/889463003

Cr-Commit-Position: refs/heads/master@{#314771}
51 files changed:
chrome/browser/android/logo_service.cc
chrome/browser/apps/app_browsertest.cc
chrome/browser/apps/guest_view/web_view_browsertest.cc
chrome/browser/apps/guest_view/web_view_interactive_browsertest.cc
chrome/browser/captive_portal/captive_portal_browsertest.cc
chrome/browser/chromeos/app_mode/fake_cws.cc
chrome/browser/chromeos/login/signin/oauth2_browsertest.cc
chrome/browser/chromeos/login/test/oobe_base_test.cc
chrome/browser/extensions/api/cloud_print_private/cloud_print_private_apitest.cc
chrome/browser/extensions/api/streams_private/streams_private_apitest.cc
chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc
chrome/browser/extensions/app_process_apitest.cc
chrome/browser/extensions/chrome_app_api_browsertest.cc
chrome/browser/extensions/content_script_apitest.cc
chrome/browser/extensions/extension_dom_clipboard_apitest.cc
chrome/browser/extensions/extension_nacl_browsertest.cc
chrome/browser/extensions/extension_resource_request_policy_apitest.cc
chrome/browser/extensions/isolated_app_browsertest.cc
chrome/browser/extensions/process_management_browsertest.cc
chrome/browser/extensions/process_manager_browsertest.cc
chrome/browser/extensions/window_open_apitest.cc
chrome/browser/net/cookie_policy_browsertest.cc
chrome/browser/net/proxy_browsertest.cc
chrome/browser/net/websocket_browsertest.cc
chrome/browser/prerender/prerender_browsertest.cc
chrome/browser/search/search.cc
chrome/browser/ssl/ssl_browser_tests.cc
chrome/browser/supervised_user/experimental/supervised_user_async_url_checker.cc
chrome/browser/task_manager/task_manager_browsertest.cc
chrome/browser/ui/app_list/start_page_service.cc
chrome/browser/ui/blocked_content/popup_blocker_browsertest.cc
chrome/browser/ui/login/login_prompt_browsertest.cc
chrome/renderer/safe_browsing/phishing_classifier_browsertest.cc
components/google/core/browser/google_util.cc
components/omnibox/autocomplete_match.cc
components/search_engines/search_terms_data.cc
components/search_engines/template_url.cc
content/browser/accessibility/site_per_process_accessibility_browsertest.cc
content/browser/cross_site_transfer_browsertest.cc
content/browser/renderer_host/render_process_host_browsertest.cc
content/browser/shared_worker/worker_browsertest.cc
content/browser/web_contents/opened_by_dom_browsertest.cc
content/browser/web_contents/web_contents_impl_browsertest.cc
content/public/test/browser_test_utils.cc
content/test/browser_test_utils_browsertest.cc
extensions/browser/guest_view/web_view/web_view_apitest.cc
net/http/http_stream_factory_impl.cc
net/url_request/url_request_unittest.cc
net/websockets/websocket_end_to_end_test.cc
url/gurl.h
url/url_canon_stdstring.h