#include "extensions/browser/extension_host.h"
#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_system.h"
+#include "extensions/common/extension_id.h"
#include "extensions/common/permissions/api_permission.h"
#include "extensions/common/permissions/permission_set.h"
#include "extensions/common/permissions/permissions_data.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
namespace apps {
ExtensionPrefs::ScopedDictionaryUpdate update(
prefs, extension_id, kFileEntries);
auto file_entries = update.Create();
- DCHECK(!file_entries->GetDictionaryWithoutPathExpansion(file_entry.id, NULL));
-
- std::unique_ptr<base::DictionaryValue> file_entry_dict =
- std::make_unique<base::DictionaryValue>();
- file_entry_dict->SetKey(kFileEntryPath,
- base::FilePathToValue(file_entry.path));
- file_entry_dict->SetBoolean(kFileEntryIsDirectory, file_entry.is_directory);
- file_entry_dict->SetInteger(kFileEntrySequenceNumber,
- file_entry.sequence_number);
- file_entries->SetWithoutPathExpansion(file_entry.id,
- std::move(file_entry_dict));
+ DCHECK(
+ !file_entries->GetDictionaryWithoutPathExpansion(file_entry.id, nullptr));
+
+ base::Value::Dict file_entry_dict;
+ file_entry_dict.Set(kFileEntryPath, base::FilePathToValue(file_entry.path));
+ file_entry_dict.Set(kFileEntryIsDirectory, file_entry.is_directory);
+ file_entry_dict.Set(kFileEntrySequenceNumber, file_entry.sequence_number);
+ file_entries->SetDictionaryWithoutPathExpansion(file_entry.id,
+ std::move(file_entry_dict));
}
// Updates the sequence_number of a SavedFileEntry persisted in ExtensionPrefs.
// Clears all SavedFileEntry for the app from ExtensionPrefs.
void ClearSavedFileEntries(ExtensionPrefs* prefs,
const std::string& extension_id) {
- prefs->UpdateExtensionPref(extension_id, kFileEntries, nullptr);
+ prefs->UpdateExtensionPref(extension_id, kFileEntries, absl::nullopt);
}
// Returns all SavedFileEntries for the app.
void LoadSavedFileEntriesFromPreferences();
raw_ptr<content::BrowserContext> context_;
- const std::string extension_id_;
+ const extensions::ExtensionId extension_id_;
// Contains all file entries that have been registered, keyed by ID.
std::unordered_map<std::string, std::unique_ptr<SavedFileEntry>>