1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "extensions/common/error_utils.h"
6
7 #include "base/strings/string_util.h"
8 #include "base/strings/utf_string_conversions.h"
9
10 namespace extensions {
11
FormatErrorMessage(const std::string & format,const std::string & s1)12 std::string ErrorUtils::FormatErrorMessage(const std::string& format,
13 const std::string& s1) {
14 std::string ret_val = format;
15 ReplaceFirstSubstringAfterOffset(&ret_val, 0, "*", s1);
16 return ret_val;
17 }
18
FormatErrorMessage(const std::string & format,const std::string & s1,const std::string & s2)19 std::string ErrorUtils::FormatErrorMessage(const std::string& format,
20 const std::string& s1,
21 const std::string& s2) {
22 std::string ret_val = format;
23 ReplaceFirstSubstringAfterOffset(&ret_val, 0, "*", s1);
24 ReplaceFirstSubstringAfterOffset(&ret_val, 0, "*", s2);
25 return ret_val;
26 }
27
FormatErrorMessage(const std::string & format,const std::string & s1,const std::string & s2,const std::string & s3)28 std::string ErrorUtils::FormatErrorMessage(const std::string& format,
29 const std::string& s1,
30 const std::string& s2,
31 const std::string& s3) {
32 std::string ret_val = format;
33 ReplaceFirstSubstringAfterOffset(&ret_val, 0, "*", s1);
34 ReplaceFirstSubstringAfterOffset(&ret_val, 0, "*", s2);
35 ReplaceFirstSubstringAfterOffset(&ret_val, 0, "*", s3);
36 return ret_val;
37 }
38
FormatErrorMessageUTF16(const std::string & format,const std::string & s1)39 base::string16 ErrorUtils::FormatErrorMessageUTF16(const std::string& format,
40 const std::string& s1) {
41 return base::UTF8ToUTF16(FormatErrorMessage(format, s1));
42 }
43
FormatErrorMessageUTF16(const std::string & format,const std::string & s1,const std::string & s2)44 base::string16 ErrorUtils::FormatErrorMessageUTF16(const std::string& format,
45 const std::string& s1,
46 const std::string& s2) {
47 return base::UTF8ToUTF16(FormatErrorMessage(format, s1, s2));
48 }
49
FormatErrorMessageUTF16(const std::string & format,const std::string & s1,const std::string & s2,const std::string & s3)50 base::string16 ErrorUtils::FormatErrorMessageUTF16(const std::string& format,
51 const std::string& s1,
52 const std::string& s2,
53 const std::string& s3) {
54 return base::UTF8ToUTF16(FormatErrorMessage(format, s1, s2, s3));
55 }
56
57 } // namespace extensions
58