| // Copyright 2025 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_DOWNLOAD_STATUS_TEXT_BUILDER_UTILS_H_ |
| #define CHROME_BROWSER_DOWNLOAD_STATUS_TEXT_BUILDER_UTILS_H_ |
| |
| #include <cstdint> |
| #include <string> |
| |
| class StatusTextBuilderUtils { |
| public: |
| StatusTextBuilderUtils(const StatusTextBuilderUtils&) = delete; |
| StatusTextBuilderUtils& operator=(const StatusTextBuilderUtils&) = delete; |
| |
| // Concatenates the `bytes_substring` and `detail_message` with a separator |
| // with a down arrow prefix. Ex: "↓ 100/120 MB • Opening in 10 seconds..." |
| static std::u16string GetActiveDownloadBubbleStatusMessageWithBytes( |
| const std::u16string& bytes_substring, |
| const std::u16string& detail_message); |
| |
| // Concatenates the `bytes_substring` and `detail_message` with a separator. |
| // Ex: "100/120 MB • Opening in 10 seconds..." |
| static std::u16string GetBubbleStatusMessageWithBytes( |
| const std::u16string& bytes_substring, |
| const std::u16string& detail_message); |
| |
| // Returns a string indicating the progress of an in-progress operation. |
| // Ex: "100/120 MB" |
| static std::u16string GetBubbleProgressSizesString(int64_t completed_bytes, |
| int64_t total_bytes); |
| |
| // Returns a string indicating the total size of a completed operation. |
| // Ex: "100 MB • Done" |
| static std::u16string GetCompletedTotalSizeString(int64_t total_bytes); |
| }; |
| |
| #endif // CHROME_BROWSER_DOWNLOAD_STATUS_TEXT_BUILDER_UTILS_H_ |