// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef EXTENSIONS_BROWSER_PATH_UTIL_H_
#define EXTENSIONS_BROWSER_PATH_UTIL_H_

#include "base/files/file_path.h"
#include "base/functional/callback_forward.h"

namespace extensions {
namespace path_util {

// Prettifies |source_path|, by replacing the user's home directory with "~"
// (if applicable).
// For OS X, prettifies |source_path| by localizing every component of the
// path. Additionally, if the path is inside the user's home directory, then
// replace the home directory component with "~".
base::FilePath PrettifyPath(const base::FilePath& source_path);

// Calculates the size of the directory containing an extension, and formats it
// to a localized string that can be placed directly in the UI. |message_id| is
// the ID of the string to use when the size is less than 1 MB, basically
// IDS_APPLICATION_INFO_SIZE_SMALL_LABEL.
void CalculateAndFormatExtensionDirectorySize(
    const base::FilePath& extension_path,
    int message_id,
    base::OnceCallback<void(const std::u16string&)> callback);

// Returns a new FilePath with the '~' resolved to the home directory, if
// appropriate. Otherwise, returns the original path.
base::FilePath ResolveHomeDirectory(const base::FilePath& path);

}  // namespace path_util
}  // namespace extensions

#endif  // EXTENSIONS_BROWSER_PATH_UTIL_H_
