Index: chrome/common/extensions/api/file_browser_handlers/file_browser_handler.cc |
diff --git a/chrome/common/extensions/api/file_browser_handlers/file_browser_handler.cc b/chrome/common/extensions/api/file_browser_handlers/file_browser_handler.cc |
index c30b117a005f3c8205696e172eac9f16e481e828..21496a2936ccfd2424620c60340c04af8edb3f92 100644 |
--- a/chrome/common/extensions/api/file_browser_handlers/file_browser_handler.cc |
+++ b/chrome/common/extensions/api/file_browser_handlers/file_browser_handler.cc |
@@ -138,7 +138,7 @@ FileBrowserHandlerParser::~FileBrowserHandlerParser() { |
namespace { |
-FileBrowserHandler* LoadFileBrowserHandler( |
+std::unique_ptr<FileBrowserHandler> LoadFileBrowserHandler( |
const std::string& extension_id, |
const base::DictionaryValue* file_browser_handler, |
base::string16* error) { |
@@ -150,7 +150,7 @@ FileBrowserHandler* LoadFileBrowserHandler( |
if (!file_browser_handler->HasKey(keys::kPageActionId) || |
!file_browser_handler->GetString(keys::kPageActionId, &handler_id)) { |
*error = base::ASCIIToUTF16(errors::kInvalidPageActionId); |
- return NULL; |
+ return std::unique_ptr<FileBrowserHandler>(); |
Devlin
2017/03/02 16:04:10
does return nullptr work?
lazyboy
2017/03/03 02:40:38
Yes, thanks!
|
} |
result->set_id(handler_id); |
@@ -159,18 +159,18 @@ FileBrowserHandler* LoadFileBrowserHandler( |
if (!file_browser_handler->HasKey(keys::kPageActionDefaultTitle) || |
!file_browser_handler->GetString(keys::kPageActionDefaultTitle, &title)) { |
*error = base::ASCIIToUTF16(errors::kInvalidPageActionDefaultTitle); |
- return NULL; |
+ return std::unique_ptr<FileBrowserHandler>(); |
} |
result->set_title(title); |
// Initialize access permissions (optional). |
- const base::ListValue* access_list_value = NULL; |
+ const base::ListValue* access_list_value = nullptr; |
if (file_browser_handler->HasKey(keys::kFileAccessList)) { |
if (!file_browser_handler->GetList(keys::kFileAccessList, |
&access_list_value) || |
access_list_value->empty()) { |
*error = base::ASCIIToUTF16(errors::kInvalidFileAccessList); |
- return NULL; |
+ return std::unique_ptr<FileBrowserHandler>(); |
} |
for (size_t i = 0; i < access_list_value->GetSize(); ++i) { |
std::string access; |
@@ -178,37 +178,37 @@ FileBrowserHandler* LoadFileBrowserHandler( |
result->AddFileAccessPermission(access)) { |
*error = extensions::ErrorUtils::FormatErrorMessageUTF16( |
errors::kInvalidFileAccessValue, base::IntToString(i)); |
- return NULL; |
+ return std::unique_ptr<FileBrowserHandler>(); |
} |
} |
} |
if (!result->ValidateFileAccessPermissions()) { |
*error = base::ASCIIToUTF16(errors::kInvalidFileAccessList); |
- return NULL; |
+ return std::unique_ptr<FileBrowserHandler>(); |
} |
// Initialize file filters (mandatory, unless "create" access is specified, |
// in which case is ignored). The list can be empty. |
if (!result->HasCreateAccessPermission()) { |
- const base::ListValue* file_filters = NULL; |
+ const base::ListValue* file_filters = nullptr; |
if (!file_browser_handler->HasKey(keys::kFileFilters) || |
!file_browser_handler->GetList(keys::kFileFilters, &file_filters)) { |
*error = base::ASCIIToUTF16(errors::kInvalidFileFiltersList); |
- return NULL; |
+ return std::unique_ptr<FileBrowserHandler>(); |
} |
for (size_t i = 0; i < file_filters->GetSize(); ++i) { |
std::string filter; |
if (!file_filters->GetString(i, &filter)) { |
*error = extensions::ErrorUtils::FormatErrorMessageUTF16( |
errors::kInvalidFileFilterValue, base::IntToString(i)); |
- return NULL; |
+ return std::unique_ptr<FileBrowserHandler>(); |
} |
filter = base::ToLowerASCII(filter); |
if (!base::StartsWith(filter, std::string(url::kFileSystemScheme) + ':', |
base::CompareCase::SENSITIVE)) { |
*error = extensions::ErrorUtils::FormatErrorMessageUTF16( |
errors::kInvalidURLPatternError, filter); |
- return NULL; |
+ return std::unique_ptr<FileBrowserHandler>(); |
} |
// The user inputs filesystem:*; we don't actually implement scheme |
// wildcards in URLPattern, so transform to what will match correctly. |
@@ -217,7 +217,7 @@ FileBrowserHandler* LoadFileBrowserHandler( |
if (pattern.Parse(filter) != URLPattern::PARSE_SUCCESS) { |
*error = extensions::ErrorUtils::FormatErrorMessageUTF16( |
errors::kInvalidURLPatternError, filter); |
- return NULL; |
+ return std::unique_ptr<FileBrowserHandler>(); |
} |
std::string path = pattern.path(); |
bool allowed = path == "/*" || path == "/*.*" || |
@@ -226,7 +226,7 @@ FileBrowserHandler* LoadFileBrowserHandler( |
if (!allowed) { |
*error = extensions::ErrorUtils::FormatErrorMessageUTF16( |
errors::kInvalidURLPatternError, filter); |
- return NULL; |
+ return std::unique_ptr<FileBrowserHandler>(); |
} |
result->AddPattern(pattern); |
} |
@@ -239,12 +239,12 @@ FileBrowserHandler* LoadFileBrowserHandler( |
keys::kPageActionDefaultIcon, &default_icon) || |
default_icon.empty()) { |
*error = base::ASCIIToUTF16(errors::kInvalidPageActionIconPath); |
- return NULL; |
+ return std::unique_ptr<FileBrowserHandler>(); |
} |
result->set_icon_path(default_icon); |
} |
- return result.release(); |
+ return result; |
} |
// Loads FileBrowserHandlers from |extension_actions| into a list in |result|. |
@@ -259,11 +259,11 @@ bool LoadFileBrowserHandlers( |
*error = base::ASCIIToUTF16(errors::kInvalidFileBrowserHandler); |
return false; |
} |
- std::unique_ptr<FileBrowserHandler> action( |
- LoadFileBrowserHandler(extension_id, dict, error)); |
- if (!action.get()) |
+ std::unique_ptr<FileBrowserHandler> action = |
+ LoadFileBrowserHandler(extension_id, dict, error); |
+ if (!action) |
return false; // Failed to parse file browser action definition. |
- result->push_back(linked_ptr<FileBrowserHandler>(action.release())); |
+ result->push_back(std::move(action)); |
} |
return true; |
} |