| Index: chrome/browser/chromeos/file_system_provider/provided_file_system.cc
|
| diff --git a/chrome/browser/chromeos/file_system_provider/provided_file_system.cc b/chrome/browser/chromeos/file_system_provider/provided_file_system.cc
|
| index 537ecd5c67ef423c00a80fed7e4d19adeb5019c1..03112b7d722c90de507b74651c03bf21a280e7c7 100644
|
| --- a/chrome/browser/chromeos/file_system_provider/provided_file_system.cc
|
| +++ b/chrome/browser/chromeos/file_system_provider/provided_file_system.cc
|
| @@ -9,6 +9,7 @@
|
|
|
| #include "base/files/file.h"
|
| #include "base/macros.h"
|
| +#include "base/memory/ptr_util.h"
|
| #include "base/trace_event/trace_event.h"
|
| #include "chrome/browser/chromeos/file_system_provider/notification_manager.h"
|
| #include "chrome/browser/chromeos/file_system_provider/operations/abort.h"
|
| @@ -104,13 +105,14 @@ struct ProvidedFileSystem::AddWatcherInQueueArgs {
|
| };
|
|
|
| struct ProvidedFileSystem::NotifyInQueueArgs {
|
| - NotifyInQueueArgs(size_t token,
|
| - const base::FilePath& entry_path,
|
| - bool recursive,
|
| - storage::WatcherManager::ChangeType change_type,
|
| - scoped_ptr<ProvidedFileSystemObserver::Changes> changes,
|
| - const std::string& tag,
|
| - const storage::AsyncFileUtil::StatusCallback& callback)
|
| + NotifyInQueueArgs(
|
| + size_t token,
|
| + const base::FilePath& entry_path,
|
| + bool recursive,
|
| + storage::WatcherManager::ChangeType change_type,
|
| + std::unique_ptr<ProvidedFileSystemObserver::Changes> changes,
|
| + const std::string& tag,
|
| + const storage::AsyncFileUtil::StatusCallback& callback)
|
| : token(token),
|
| entry_path(entry_path),
|
| recursive(recursive),
|
| @@ -124,7 +126,7 @@ struct ProvidedFileSystem::NotifyInQueueArgs {
|
| const base::FilePath entry_path;
|
| const bool recursive;
|
| const storage::WatcherManager::ChangeType change_type;
|
| - const scoped_ptr<ProvidedFileSystemObserver::Changes> changes;
|
| + const std::unique_ptr<ProvidedFileSystemObserver::Changes> changes;
|
| const std::string tag;
|
| const storage::AsyncFileUtil::StatusCallback callback;
|
|
|
| @@ -160,7 +162,7 @@ void ProvidedFileSystem::SetEventRouterForTesting(
|
| }
|
|
|
| void ProvidedFileSystem::SetNotificationManagerForTesting(
|
| - scoped_ptr<NotificationManagerInterface> notification_manager) {
|
| + std::unique_ptr<NotificationManagerInterface> notification_manager) {
|
| notification_manager_ = std::move(notification_manager);
|
| request_manager_.reset(new RequestManager(
|
| profile_, file_system_info_.extension_id(), notification_manager_.get()));
|
| @@ -170,7 +172,7 @@ AbortCallback ProvidedFileSystem::RequestUnmount(
|
| const storage::AsyncFileUtil::StatusCallback& callback) {
|
| const int request_id = request_manager_->CreateRequest(
|
| REQUEST_UNMOUNT,
|
| - scoped_ptr<RequestManager::HandlerInterface>(
|
| + std::unique_ptr<RequestManager::HandlerInterface>(
|
| new operations::Unmount(event_router_, file_system_info_, callback)));
|
| if (!request_id) {
|
| callback.Run(base::File::FILE_ERROR_SECURITY);
|
| @@ -187,10 +189,11 @@ AbortCallback ProvidedFileSystem::GetMetadata(
|
| const GetMetadataCallback& callback) {
|
| const int request_id = request_manager_->CreateRequest(
|
| GET_METADATA,
|
| - scoped_ptr<RequestManager::HandlerInterface>(new operations::GetMetadata(
|
| - event_router_, file_system_info_, entry_path, fields, callback)));
|
| + std::unique_ptr<RequestManager::HandlerInterface>(
|
| + new operations::GetMetadata(event_router_, file_system_info_,
|
| + entry_path, fields, callback)));
|
| if (!request_id) {
|
| - callback.Run(make_scoped_ptr<EntryMetadata>(NULL),
|
| + callback.Run(base::WrapUnique<EntryMetadata>(NULL),
|
| base::File::FILE_ERROR_SECURITY);
|
| return AbortCallback();
|
| }
|
| @@ -204,8 +207,9 @@ AbortCallback ProvidedFileSystem::GetActions(
|
| const GetActionsCallback& callback) {
|
| const int request_id = request_manager_->CreateRequest(
|
| GET_ACTIONS,
|
| - scoped_ptr<RequestManager::HandlerInterface>(new operations::GetActions(
|
| - event_router_, file_system_info_, entry_paths, callback)));
|
| + std::unique_ptr<RequestManager::HandlerInterface>(
|
| + new operations::GetActions(event_router_, file_system_info_,
|
| + entry_paths, callback)));
|
| if (!request_id) {
|
| callback.Run(Actions(), base::File::FILE_ERROR_SECURITY);
|
| return AbortCallback();
|
| @@ -221,7 +225,7 @@ AbortCallback ProvidedFileSystem::ExecuteAction(
|
| const storage::AsyncFileUtil::StatusCallback& callback) {
|
| const int request_id = request_manager_->CreateRequest(
|
| EXECUTE_ACTION,
|
| - scoped_ptr<RequestManager::HandlerInterface>(
|
| + std::unique_ptr<RequestManager::HandlerInterface>(
|
| new operations::ExecuteAction(event_router_, file_system_info_,
|
| entry_paths, action_id, callback)));
|
| if (!request_id) {
|
| @@ -238,9 +242,9 @@ AbortCallback ProvidedFileSystem::ReadDirectory(
|
| const storage::AsyncFileUtil::ReadDirectoryCallback& callback) {
|
| const int request_id = request_manager_->CreateRequest(
|
| READ_DIRECTORY,
|
| - scoped_ptr<RequestManager::HandlerInterface>(
|
| - new operations::ReadDirectory(
|
| - event_router_, file_system_info_, directory_path, callback)));
|
| + std::unique_ptr<RequestManager::HandlerInterface>(
|
| + new operations::ReadDirectory(event_router_, file_system_info_,
|
| + directory_path, callback)));
|
| if (!request_id) {
|
| callback.Run(base::File::FILE_ERROR_SECURITY,
|
| storage::AsyncFileUtil::EntryList(),
|
| @@ -261,15 +265,10 @@ AbortCallback ProvidedFileSystem::ReadFile(
|
| TRACE_EVENT1(
|
| "file_system_provider", "ProvidedFileSystem::ReadFile", "length", length);
|
| const int request_id = request_manager_->CreateRequest(
|
| - READ_FILE,
|
| - make_scoped_ptr<RequestManager::HandlerInterface>(
|
| - new operations::ReadFile(event_router_,
|
| - file_system_info_,
|
| - file_handle,
|
| - buffer,
|
| - offset,
|
| - length,
|
| - callback)));
|
| + READ_FILE, base::WrapUnique<RequestManager::HandlerInterface>(
|
| + new operations::ReadFile(event_router_, file_system_info_,
|
| + file_handle, buffer, offset,
|
| + length, callback)));
|
| if (!request_id) {
|
| callback.Run(0 /* chunk_length */,
|
| false /* has_more */,
|
| @@ -285,12 +284,12 @@ AbortCallback ProvidedFileSystem::OpenFile(const base::FilePath& file_path,
|
| OpenFileMode mode,
|
| const OpenFileCallback& callback) {
|
| const int request_id = request_manager_->CreateRequest(
|
| - OPEN_FILE,
|
| - scoped_ptr<RequestManager::HandlerInterface>(new operations::OpenFile(
|
| - event_router_, file_system_info_, file_path, mode,
|
| - base::Bind(&ProvidedFileSystem::OnOpenFileCompleted,
|
| - weak_ptr_factory_.GetWeakPtr(), file_path, mode,
|
| - callback))));
|
| + OPEN_FILE, std::unique_ptr<RequestManager::HandlerInterface>(
|
| + new operations::OpenFile(
|
| + event_router_, file_system_info_, file_path, mode,
|
| + base::Bind(&ProvidedFileSystem::OnOpenFileCompleted,
|
| + weak_ptr_factory_.GetWeakPtr(), file_path,
|
| + mode, callback))));
|
| if (!request_id) {
|
| callback.Run(0 /* file_handle */, base::File::FILE_ERROR_SECURITY);
|
| return AbortCallback();
|
| @@ -304,11 +303,12 @@ AbortCallback ProvidedFileSystem::CloseFile(
|
| int file_handle,
|
| const storage::AsyncFileUtil::StatusCallback& callback) {
|
| const int request_id = request_manager_->CreateRequest(
|
| - CLOSE_FILE,
|
| - scoped_ptr<RequestManager::HandlerInterface>(new operations::CloseFile(
|
| - event_router_, file_system_info_, file_handle,
|
| - base::Bind(&ProvidedFileSystem::OnCloseFileCompleted,
|
| - weak_ptr_factory_.GetWeakPtr(), file_handle, callback))));
|
| + CLOSE_FILE, std::unique_ptr<RequestManager::HandlerInterface>(
|
| + new operations::CloseFile(
|
| + event_router_, file_system_info_, file_handle,
|
| + base::Bind(&ProvidedFileSystem::OnCloseFileCompleted,
|
| + weak_ptr_factory_.GetWeakPtr(),
|
| + file_handle, callback))));
|
| if (!request_id) {
|
| callback.Run(base::File::FILE_ERROR_SECURITY);
|
| return AbortCallback();
|
| @@ -323,13 +323,10 @@ AbortCallback ProvidedFileSystem::CreateDirectory(
|
| bool recursive,
|
| const storage::AsyncFileUtil::StatusCallback& callback) {
|
| const int request_id = request_manager_->CreateRequest(
|
| - CREATE_DIRECTORY,
|
| - scoped_ptr<RequestManager::HandlerInterface>(
|
| - new operations::CreateDirectory(event_router_,
|
| - file_system_info_,
|
| - directory_path,
|
| - recursive,
|
| - callback)));
|
| + CREATE_DIRECTORY, std::unique_ptr<RequestManager::HandlerInterface>(
|
| + new operations::CreateDirectory(
|
| + event_router_, file_system_info_,
|
| + directory_path, recursive, callback)));
|
| if (!request_id) {
|
| callback.Run(base::File::FILE_ERROR_SECURITY);
|
| return AbortCallback();
|
| @@ -345,8 +342,9 @@ AbortCallback ProvidedFileSystem::DeleteEntry(
|
| const storage::AsyncFileUtil::StatusCallback& callback) {
|
| const int request_id = request_manager_->CreateRequest(
|
| DELETE_ENTRY,
|
| - scoped_ptr<RequestManager::HandlerInterface>(new operations::DeleteEntry(
|
| - event_router_, file_system_info_, entry_path, recursive, callback)));
|
| + std::unique_ptr<RequestManager::HandlerInterface>(
|
| + new operations::DeleteEntry(event_router_, file_system_info_,
|
| + entry_path, recursive, callback)));
|
| if (!request_id) {
|
| callback.Run(base::File::FILE_ERROR_SECURITY);
|
| return AbortCallback();
|
| @@ -361,8 +359,9 @@ AbortCallback ProvidedFileSystem::CreateFile(
|
| const storage::AsyncFileUtil::StatusCallback& callback) {
|
| const int request_id = request_manager_->CreateRequest(
|
| CREATE_FILE,
|
| - scoped_ptr<RequestManager::HandlerInterface>(new operations::CreateFile(
|
| - event_router_, file_system_info_, file_path, callback)));
|
| + std::unique_ptr<RequestManager::HandlerInterface>(
|
| + new operations::CreateFile(event_router_, file_system_info_,
|
| + file_path, callback)));
|
| if (!request_id) {
|
| callback.Run(base::File::FILE_ERROR_SECURITY);
|
| return AbortCallback();
|
| @@ -378,12 +377,9 @@ AbortCallback ProvidedFileSystem::CopyEntry(
|
| const storage::AsyncFileUtil::StatusCallback& callback) {
|
| const int request_id = request_manager_->CreateRequest(
|
| COPY_ENTRY,
|
| - scoped_ptr<RequestManager::HandlerInterface>(
|
| - new operations::CopyEntry(event_router_,
|
| - file_system_info_,
|
| - source_path,
|
| - target_path,
|
| - callback)));
|
| + std::unique_ptr<RequestManager::HandlerInterface>(
|
| + new operations::CopyEntry(event_router_, file_system_info_,
|
| + source_path, target_path, callback)));
|
| if (!request_id) {
|
| callback.Run(base::File::FILE_ERROR_SECURITY);
|
| return AbortCallback();
|
| @@ -405,14 +401,10 @@ AbortCallback ProvidedFileSystem::WriteFile(
|
| length);
|
| const int request_id = request_manager_->CreateRequest(
|
| WRITE_FILE,
|
| - make_scoped_ptr<RequestManager::HandlerInterface>(
|
| - new operations::WriteFile(event_router_,
|
| - file_system_info_,
|
| - file_handle,
|
| - make_scoped_refptr(buffer),
|
| - offset,
|
| - length,
|
| - callback)));
|
| + base::WrapUnique<RequestManager::HandlerInterface>(
|
| + new operations::WriteFile(event_router_, file_system_info_,
|
| + file_handle, make_scoped_refptr(buffer),
|
| + offset, length, callback)));
|
| if (!request_id) {
|
| callback.Run(base::File::FILE_ERROR_SECURITY);
|
| return AbortCallback();
|
| @@ -428,12 +420,9 @@ AbortCallback ProvidedFileSystem::MoveEntry(
|
| const storage::AsyncFileUtil::StatusCallback& callback) {
|
| const int request_id = request_manager_->CreateRequest(
|
| MOVE_ENTRY,
|
| - scoped_ptr<RequestManager::HandlerInterface>(
|
| - new operations::MoveEntry(event_router_,
|
| - file_system_info_,
|
| - source_path,
|
| - target_path,
|
| - callback)));
|
| + std::unique_ptr<RequestManager::HandlerInterface>(
|
| + new operations::MoveEntry(event_router_, file_system_info_,
|
| + source_path, target_path, callback)));
|
| if (!request_id) {
|
| callback.Run(base::File::FILE_ERROR_SECURITY);
|
| return AbortCallback();
|
| @@ -448,9 +437,9 @@ AbortCallback ProvidedFileSystem::Truncate(
|
| int64_t length,
|
| const storage::AsyncFileUtil::StatusCallback& callback) {
|
| const int request_id = request_manager_->CreateRequest(
|
| - TRUNCATE,
|
| - scoped_ptr<RequestManager::HandlerInterface>(new operations::Truncate(
|
| - event_router_, file_system_info_, file_path, length, callback)));
|
| + TRUNCATE, std::unique_ptr<RequestManager::HandlerInterface>(
|
| + new operations::Truncate(event_router_, file_system_info_,
|
| + file_path, length, callback)));
|
| if (!request_id) {
|
| callback.Run(base::File::FILE_ERROR_SECURITY);
|
| return AbortCallback();
|
| @@ -520,14 +509,14 @@ void ProvidedFileSystem::Notify(
|
| const base::FilePath& entry_path,
|
| bool recursive,
|
| storage::WatcherManager::ChangeType change_type,
|
| - scoped_ptr<ProvidedFileSystemObserver::Changes> changes,
|
| + std::unique_ptr<ProvidedFileSystemObserver::Changes> changes,
|
| const std::string& tag,
|
| const storage::AsyncFileUtil::StatusCallback& callback) {
|
| const size_t token = watcher_queue_.NewToken();
|
| watcher_queue_.Enqueue(
|
| token, base::Bind(&ProvidedFileSystem::NotifyInQueue,
|
| base::Unretained(this), // Outlived by the queue.
|
| - base::Passed(make_scoped_ptr(new NotifyInQueueArgs(
|
| + base::Passed(base::WrapUnique(new NotifyInQueueArgs(
|
| token, entry_path, recursive, change_type,
|
| std::move(changes), tag, callback)))));
|
| }
|
| @@ -535,21 +524,21 @@ void ProvidedFileSystem::Notify(
|
| void ProvidedFileSystem::Configure(
|
| const storage::AsyncFileUtil::StatusCallback& callback) {
|
| const int request_id = request_manager_->CreateRequest(
|
| - CONFIGURE,
|
| - scoped_ptr<RequestManager::HandlerInterface>(new operations::Configure(
|
| - event_router_, file_system_info_, callback)));
|
| + CONFIGURE, std::unique_ptr<RequestManager::HandlerInterface>(
|
| + new operations::Configure(event_router_, file_system_info_,
|
| + callback)));
|
| if (!request_id)
|
| callback.Run(base::File::FILE_ERROR_SECURITY);
|
| }
|
|
|
| void ProvidedFileSystem::Abort(int operation_request_id) {
|
| if (!request_manager_->CreateRequest(
|
| - ABORT,
|
| - scoped_ptr<RequestManager::HandlerInterface>(new operations::Abort(
|
| - event_router_, file_system_info_, operation_request_id,
|
| - base::Bind(&ProvidedFileSystem::OnAbortCompleted,
|
| - weak_ptr_factory_.GetWeakPtr(),
|
| - operation_request_id))))) {
|
| + ABORT, std::unique_ptr<RequestManager::HandlerInterface>(
|
| + new operations::Abort(
|
| + event_router_, file_system_info_, operation_request_id,
|
| + base::Bind(&ProvidedFileSystem::OnAbortCompleted,
|
| + weak_ptr_factory_.GetWeakPtr(),
|
| + operation_request_id))))) {
|
| // If the aborting event is not handled, then the operation should simply
|
| // be not aborted. Instead we'll wait until it completes.
|
| LOG(ERROR) << "Failed to create an abort request.";
|
| @@ -567,7 +556,7 @@ void ProvidedFileSystem::OnAbortCompleted(int operation_request_id,
|
| return;
|
| }
|
| request_manager_->RejectRequest(operation_request_id,
|
| - make_scoped_ptr(new RequestValue()),
|
| + base::WrapUnique(new RequestValue()),
|
| base::File::FILE_ERROR_ABORT);
|
| }
|
|
|
| @@ -601,12 +590,13 @@ AbortCallback ProvidedFileSystem::AddWatcherInQueue(
|
|
|
| const int request_id = request_manager_->CreateRequest(
|
| ADD_WATCHER,
|
| - scoped_ptr<RequestManager::HandlerInterface>(new operations::AddWatcher(
|
| - event_router_, file_system_info_, args.entry_path, args.recursive,
|
| - base::Bind(&ProvidedFileSystem::OnAddWatcherInQueueCompleted,
|
| - weak_ptr_factory_.GetWeakPtr(), args.token,
|
| - args.entry_path, args.recursive, subscriber,
|
| - args.callback))));
|
| + std::unique_ptr<RequestManager::HandlerInterface>(
|
| + new operations::AddWatcher(
|
| + event_router_, file_system_info_, args.entry_path, args.recursive,
|
| + base::Bind(&ProvidedFileSystem::OnAddWatcherInQueueCompleted,
|
| + weak_ptr_factory_.GetWeakPtr(), args.token,
|
| + args.entry_path, args.recursive, subscriber,
|
| + args.callback))));
|
|
|
| if (!request_id) {
|
| OnAddWatcherInQueueCompleted(args.token, args.entry_path, args.recursive,
|
| @@ -645,7 +635,7 @@ AbortCallback ProvidedFileSystem::RemoveWatcherInQueue(
|
| // Otherwise, emit an event, and remove the watcher.
|
| request_manager_->CreateRequest(
|
| REMOVE_WATCHER,
|
| - scoped_ptr<RequestManager::HandlerInterface>(
|
| + std::unique_ptr<RequestManager::HandlerInterface>(
|
| new operations::RemoveWatcher(
|
| event_router_, file_system_info_, entry_path, recursive,
|
| base::Bind(&ProvidedFileSystem::OnRemoveWatcherInQueueCompleted,
|
| @@ -656,7 +646,7 @@ AbortCallback ProvidedFileSystem::RemoveWatcherInQueue(
|
| }
|
|
|
| AbortCallback ProvidedFileSystem::NotifyInQueue(
|
| - scoped_ptr<NotifyInQueueArgs> args) {
|
| + std::unique_ptr<NotifyInQueueArgs> args) {
|
| const WatcherKey key(args->entry_path, args->recursive);
|
| const auto& watcher_it = watchers_.find(key);
|
| if (watcher_it == watchers_.end()) {
|
| @@ -779,7 +769,7 @@ void ProvidedFileSystem::OnRemoveWatcherInQueueCompleted(
|
| }
|
|
|
| void ProvidedFileSystem::OnNotifyInQueueCompleted(
|
| - scoped_ptr<NotifyInQueueArgs> args,
|
| + std::unique_ptr<NotifyInQueueArgs> args,
|
| base::File::Error result) {
|
| if (result != base::File::FILE_OK) {
|
| args->callback.Run(result);
|
|
|