// 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 COMPONENTS_FEEDBACK_FEEDBACK_UTIL_H_ #define COMPONENTS_FEEDBACK_FEEDBACK_UTIL_H_ #include <optional> #include <string> #include <string_view> #include "base/files/file_path.h" #include "build/build_config.h" #include "components/feedback/feedback_common.h" namespace feedback_util { // Creates a ZIP file that contains a single file within. That file is named // `filename` and its contents is `data`. Returns the compressed archive, or // nullopt on failure. std::optional<std::string> ZipString(const base::FilePath& filename, std::string_view data); // Converts the entries in `sys_info` into a single string. Primarily used for // creating a system_logs.txt file attached to feedback reports. std::string LogsToString(const FeedbackCommon::SystemLogsMap& sys_info); // Removes URL fields from the autofill logs. void RemoveUrlsFromAutofillData(std::string& autofill_metadata); #if !BUILDFLAG(IS_WIN) // Reads the data from the latter part of the file specified by `path`. // If the file size is greater than `max_size` in bytes, the data will be // truncated to `max_size`. Returns the file contents, or nullopt on failure. std::optional<std::string> ReadEndOfFile(const base::FilePath& path, size_t max_size); #endif } // namespace feedback_util #endif // COMPONENTS_FEEDBACK_FEEDBACK_UTIL_H_