Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7038)

Unified Diff: chrome/browser/extensions/api/file_system/file_system_api.cc

Issue 1991083002: Remove ExtensionFunction::SetResult(T*) overload. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: IWYU Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/file_system/file_system_api.cc
diff --git a/chrome/browser/extensions/api/file_system/file_system_api.cc b/chrome/browser/extensions/api/file_system/file_system_api.cc
index f1dc06c0520ef92aeaa6c3977227f4662ee67218..bd9222c674b5dbaa6b0c8c53f595ca88078c1d70 100644
--- a/chrome/browser/extensions/api/file_system/file_system_api.cc
+++ b/chrome/browser/extensions/api/file_system/file_system_api.cc
@@ -6,7 +6,9 @@
#include <stddef.h>
+#include <memory>
#include <set>
+#include <utility>
#include <vector>
#include "apps/saved_files_service.h"
@@ -487,14 +489,12 @@ bool FileSystemGetDisplayPathFunction::RunSync() {
return false;
file_path = path_util::PrettifyPath(file_path);
- SetResult(new base::StringValue(file_path.value()));
+ SetResult(base::MakeUnique<base::StringValue>(file_path.value()));
return true;
}
FileSystemEntryFunction::FileSystemEntryFunction()
- : multiple_(false),
- is_directory_(false),
- response_(NULL) {}
+ : multiple_(false), is_directory_(false) {}
void FileSystemEntryFunction::PrepareFilesForWritableApp(
const std::vector<base::FilePath>& paths) {
@@ -519,27 +519,23 @@ void FileSystemEntryFunction::RegisterFileSystemsAndSendResponse(
if (!render_frame_host())
return;
- CreateResponse();
- for (std::vector<base::FilePath>::const_iterator it = paths.begin();
- it != paths.end(); ++it) {
- AddEntryToResponse(*it, "");
- }
+ std::unique_ptr<base::DictionaryValue> result = CreateResult();
+ for (const auto& path : paths)
+ AddEntryToResult(path, std::string(), result.get());
+ SetResult(std::move(result));
SendResponse(true);
}
-void FileSystemEntryFunction::CreateResponse() {
- DCHECK(!response_);
- response_ = new base::DictionaryValue();
- base::ListValue* list = new base::ListValue();
- response_->Set("entries", list);
- response_->SetBoolean("multiple", multiple_);
- SetResult(response_);
+std::unique_ptr<base::DictionaryValue> FileSystemEntryFunction::CreateResult() {
+ std::unique_ptr<base::DictionaryValue> result(new base::DictionaryValue());
+ result->Set("entries", base::MakeUnique<base::ListValue>());
+ result->SetBoolean("multiple", multiple_);
+ return result;
}
-void FileSystemEntryFunction::AddEntryToResponse(
- const base::FilePath& path,
- const std::string& id_override) {
- DCHECK(response_);
+void FileSystemEntryFunction::AddEntryToResult(const base::FilePath& path,
+ const std::string& id_override,
+ base::DictionaryValue* result) {
GrantedFileEntry file_entry = app_file_handler_util::CreateFileEntry(
GetProfile(),
extension(),
@@ -547,7 +543,7 @@ void FileSystemEntryFunction::AddEntryToResponse(
path,
is_directory_);
base::ListValue* entries;
- bool success = response_->GetList("entries", &entries);
+ bool success = result->GetList("entries", &entries);
Devlin 2016/05/20 17:56:54 nit: this is silly, since it means we repeat this
dcheng 2016/05/20 18:11:57 It's a map internally, so lookup is reasonably tim
Devlin 2016/05/20 20:56:18 Ah, I didn't notice it's called from two places.
DCHECK(success);
base::DictionaryValue* entry = new base::DictionaryValue();
@@ -635,7 +631,7 @@ bool FileSystemIsWritableEntryFunction::RunSync() {
bool is_writable = policy->CanReadWriteFileSystem(renderer_id,
filesystem_id);
- SetResult(new base::FundamentalValue(is_writable));
+ SetResult(base::MakeUnique<base::FundamentalValue>(is_writable));
return true;
}
@@ -1201,8 +1197,9 @@ void FileSystemRetainEntryFunction::RetainFileEntry(
bool FileSystemIsRestorableFunction::RunSync() {
std::string entry_id;
EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &entry_id));
- SetResult(new base::FundamentalValue(SavedFilesService::Get(
- GetProfile())->IsRegistered(extension_->id(), entry_id)));
+ SetResult(base::MakeUnique<base::FundamentalValue>(
+ SavedFilesService::Get(GetProfile())
+ ->IsRegistered(extension_->id(), entry_id)));
return true;
}
@@ -1226,8 +1223,9 @@ bool FileSystemRestoreEntryFunction::RunAsync() {
// |entry_id|.
if (needs_new_entry) {
is_directory_ = file_entry->is_directory;
- CreateResponse();
- AddEntryToResponse(file_entry->path, file_entry->id);
+ std::unique_ptr<base::DictionaryValue> result = CreateResult();
+ AddEntryToResult(file_entry->path, file_entry->id, result.get());
+ SetResult(std::move(result));
}
SendResponse(true);
return true;
@@ -1424,11 +1422,11 @@ void FileSystemRequestFileSystemFunction::OnConsentReceived(
render_frame_host()->GetProcess()->GetID(), file_system_id);
}
- base::DictionaryValue* const dict = new base::DictionaryValue();
+ std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
dict->SetString("file_system_id", file_system_id);
dict->SetString("file_system_path", register_name);
- SetResult(dict);
+ SetResult(std::move(dict));
SendResponse(true);
}

Powered by Google App Engine
This is Rietveld 408576698