12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2011 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "extensions/common/error_utils.h" 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 7868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/string_util.h" 8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/utf_string_conversions.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace extensions { 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)std::string ErrorUtils::FormatErrorMessage(const std::string& format, 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& s1) { 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string ret_val = format; 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ReplaceFirstSubstringAfterOffset(&ret_val, 0, "*", s1); 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return ret_val; 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)std::string ErrorUtils::FormatErrorMessage(const std::string& format, 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& s1, 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& s2) { 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string ret_val = format; 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ReplaceFirstSubstringAfterOffset(&ret_val, 0, "*", s1); 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ReplaceFirstSubstringAfterOffset(&ret_val, 0, "*", s2); 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return ret_val; 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)std::string ErrorUtils::FormatErrorMessage(const std::string& format, 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& s1, 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& s2, 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& s3) { 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string ret_val = format; 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ReplaceFirstSubstringAfterOffset(&ret_val, 0, "*", s1); 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ReplaceFirstSubstringAfterOffset(&ret_val, 0, "*", s2); 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ReplaceFirstSubstringAfterOffset(&ret_val, 0, "*", s3); 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return ret_val; 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)base::string16 ErrorUtils::FormatErrorMessageUTF16(const std::string& format, 405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) const std::string& s1) { 415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return base::UTF8ToUTF16(FormatErrorMessage(format, s1)); 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)base::string16 ErrorUtils::FormatErrorMessageUTF16(const std::string& format, 455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) const std::string& s1, 465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) const std::string& s2) { 475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return base::UTF8ToUTF16(FormatErrorMessage(format, s1, s2)); 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)base::string16 ErrorUtils::FormatErrorMessageUTF16(const std::string& format, 515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) const std::string& s1, 525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) const std::string& s2, 535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) const std::string& s3) { 545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return base::UTF8ToUTF16(FormatErrorMessage(format, s1, s2, s3)); 552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} // namespace extensions 58