blob: 3ca036adaedd05d12b4595e8eacc5d2f54ff82dc [file] [log] [blame]
// 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_