| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Functions used internally by filename_util, and filename_util_icu. |
| |
| #ifndef NET_BASE_FILENAME_UTIL_INTERNAL_H_ |
| #define NET_BASE_FILENAME_UTIL_INTERNAL_H_ |
| |
| #include <string> |
| |
| #include "base/files/file_path.h" |
| #include "base/strings/string16.h" |
| |
| class GURL; |
| |
| namespace net { |
| |
| using ReplaceIllegalCharactersFunction = |
| void (*)(base::FilePath::StringType* file_name, char replace_char); |
| |
| void SanitizeGeneratedFileName(base::FilePath::StringType* filename, |
| bool replace_trailing); |
| |
| bool IsShellIntegratedExtension(const base::FilePath::StringType& extension); |
| |
| void EnsureSafeExtension(const std::string& mime_type, |
| bool ignore_extension, |
| base::FilePath* file_name); |
| |
| bool FilePathToString16(const base::FilePath& path, base::string16* converted); |
| |
| // Similar to GetSuggestedFilename(), but takes a function to replace illegal |
| // characters. |
| base::string16 GetSuggestedFilenameImpl( |
| const GURL& url, |
| const std::string& content_disposition, |
| const std::string& referrer_charset, |
| const std::string& suggested_name, |
| const std::string& mime_type, |
| const std::string& default_name, |
| ReplaceIllegalCharactersFunction replace_illegal_characters_function); |
| |
| // Similar to GenerateFileName(), but takes a function to replace illegal |
| // characters. |
| base::FilePath GenerateFileNameImpl( |
| const GURL& url, |
| const std::string& content_disposition, |
| const std::string& referrer_charset, |
| const std::string& suggested_name, |
| const std::string& mime_type, |
| const std::string& default_name, |
| ReplaceIllegalCharactersFunction replace_illegal_characters_function); |
| |
| } // namespace net |
| |
| #endif // NET_BASE_FILENAME_UTIL_INTERNAL_H_ |