1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // Copyright 2018 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.
- #ifndef COMPONENTS_FILENAME_GENERATION_FILENAME_GENERATION_H_
- #define COMPONENTS_FILENAME_GENERATION_FILENAME_GENERATION_H_
- #include <string>
- #include "base/files/file_path.h"
- class GURL;
- namespace filename_generation {
- // Returns extension for supported MIME types (for example, for "text/plain"
- // it returns "txt").
- const base::FilePath::CharType* ExtensionForMimeType(
- const std::string& contents_mime_type);
- // Ensures that the file name has a proper extension for HTML by adding ".htm"
- // if necessary.
- base::FilePath EnsureHtmlExtension(const base::FilePath& name);
- // Ensures that the file name has a proper extension for supported formats
- // if necessary.
- base::FilePath EnsureMimeExtension(const base::FilePath& name,
- const std::string& contents_mime_type);
- // Function for generating a filename based on |title|, if it is empty, |url|
- // will be used as a fallback.
- base::FilePath GenerateFilename(const std::u16string& title,
- const GURL& url,
- bool can_save_as_complete,
- std::string contents_mime_type);
- // Truncates path->BaseName() to make path->BaseName().value().size() <= limit.
- // - It keeps the extension as is. Only truncates the body part.
- // - Only truncates if the base filename can maintain a minimum length
- // (currently a hardcoded internval constant kTruncatedNameLengthLowerbound,
- // but could be parameterized if ever required).
- // If it was unable to shorten the name, returns false.
- bool TruncateFilename(base::FilePath* path, size_t limit);
- } // namespace filename_generation
- #endif // COMPONENTS_FILENAME_GENERATION_FILENAME_GENERATION_H_
|