[EnumSet] Refactor constructor usages
TL;DR: EnumSet variadic template ctor is being replaced with ctor accepting std::initializer_list. Some usages are not compatible and this CL updates them. Implicit EnumValue->EnumSet conversions and direct calls of variadic template constructor (e.g. EnumSet(value1,...)) don't work with initializer_list ctor. This CL replaces them with: 1. [Only variables initializations] EnumSet set = {value1, ...}; 2. [Only inside macro invocations] EnumSet({value1, ...}) 3. Implicit construction from initializer_list (note that this is a special case of implicit conversion, intentionally supported in STL and by clang-tidy warnings): foo(value1) -> foo({value1}); foo(EnumSet(value1, ...)) -> foo({value1, ...}); 4. EnumSet(value1, ...) -> EnumSet{value1, ...}; Note that 3 and 4 are mostly the same, in most places I made a choice that resembles pre-existing code closer (exceptions are mostly usages of Sync EnumSets). Motivation: EnumSet variadic template constructor is defective in a sense that it allows code like this to compile: using ModelTypeSet = EnumSet<ModelType,...>; void foo(ModelTypeSet set); foo(ModelType()); // Typo, intended to pass empty ModelTypeSet. The problem is that constructor is not explicit. Simply making it explicit will disallow nice STL-like usage: class C { ModelTypeSet set = {HISTORY, BOOKMARKS}; }; STL and other containers under base/containers avoid this problem by using std::initializer_list, this refactoring does the same for EnumSet. This CL was uploaded by git cl split. R=dcheng@chromium.org Bug: 1444105 Change-Id: I557b77d610a5ef6a4397ae0f811097ed3dfce65a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4523204 Commit-Queue: Daniel Cheng <dcheng@chromium.org> Owners-Override: Daniel Cheng <dcheng@chromium.org> Auto-Submit: Maksim Moskvitin <mmoskvitin@google.com> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Cr-Commit-Position: refs/heads/main@{#1143387}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
271b2cff67
commit
b47c7e21ee
@@ -1472,9 +1472,9 @@ TEST(CopyOrMoveOperationDelegateTest, StopRecursionOnCopyError) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST(CopyOrMoveOperationDelegateTest, RemoveDestFileOnCopyError) {
|
TEST(CopyOrMoveOperationDelegateTest, RemoveDestFileOnCopyError) {
|
||||||
FileSystemOperation::CopyOrMoveOptionSet options(
|
FileSystemOperation::CopyOrMoveOptionSet options = {
|
||||||
storage::FileSystemOperation::CopyOrMoveOption::
|
storage::FileSystemOperation::CopyOrMoveOption::
|
||||||
kRemovePartiallyCopiedFilesOnError);
|
kRemovePartiallyCopiedFilesOnError};
|
||||||
CopyOrMoveOperationDelegateTestHelper helper(
|
CopyOrMoveOperationDelegateTestHelper helper(
|
||||||
"http://foo", kFileSystemTypePersistent, kFileSystemTypePersistent,
|
"http://foo", kFileSystemTypePersistent, kFileSystemTypePersistent,
|
||||||
options);
|
options);
|
||||||
@@ -1512,9 +1512,9 @@ TEST(CopyOrMoveOperationDelegateTest, RemoveDestFileOnCopyError) {
|
|||||||
|
|
||||||
TEST(CopyOrMoveOperationDelegateTest,
|
TEST(CopyOrMoveOperationDelegateTest,
|
||||||
RemoveDestFileOnCrossFilesystemMoveError) {
|
RemoveDestFileOnCrossFilesystemMoveError) {
|
||||||
FileSystemOperation::CopyOrMoveOptionSet options(
|
FileSystemOperation::CopyOrMoveOptionSet options = {
|
||||||
storage::FileSystemOperation::CopyOrMoveOption::
|
storage::FileSystemOperation::CopyOrMoveOption::
|
||||||
kRemovePartiallyCopiedFilesOnError);
|
kRemovePartiallyCopiedFilesOnError};
|
||||||
// Removing destination files on Move errors applies only to cross-filesystem
|
// Removing destination files on Move errors applies only to cross-filesystem
|
||||||
// moves.
|
// moves.
|
||||||
CopyOrMoveOperationDelegateTestHelper helper(
|
CopyOrMoveOperationDelegateTestHelper helper(
|
||||||
|
@@ -479,8 +479,7 @@ TEST_F(NativeFileUtilTest, PreserveLastModified) {
|
|||||||
// Test for copy (nosync).
|
// Test for copy (nosync).
|
||||||
ASSERT_EQ(base::File::FILE_OK,
|
ASSERT_EQ(base::File::FILE_OK,
|
||||||
NativeFileUtil::CopyOrMoveFile(
|
NativeFileUtil::CopyOrMoveFile(
|
||||||
from_file, to_file1,
|
from_file, to_file1, {CopyOrMoveOption::kPreserveLastModified},
|
||||||
CopyOrMoveOptionSet(CopyOrMoveOption::kPreserveLastModified),
|
|
||||||
NativeFileUtil::COPY_NOSYNC));
|
NativeFileUtil::COPY_NOSYNC));
|
||||||
|
|
||||||
base::File::Info file_info2;
|
base::File::Info file_info2;
|
||||||
@@ -492,8 +491,7 @@ TEST_F(NativeFileUtilTest, PreserveLastModified) {
|
|||||||
// Test for copy (sync).
|
// Test for copy (sync).
|
||||||
ASSERT_EQ(base::File::FILE_OK,
|
ASSERT_EQ(base::File::FILE_OK,
|
||||||
NativeFileUtil::CopyOrMoveFile(
|
NativeFileUtil::CopyOrMoveFile(
|
||||||
from_file, to_file2,
|
from_file, to_file2, {CopyOrMoveOption::kPreserveLastModified},
|
||||||
CopyOrMoveOptionSet(CopyOrMoveOption::kPreserveLastModified),
|
|
||||||
NativeFileUtil::COPY_SYNC));
|
NativeFileUtil::COPY_SYNC));
|
||||||
|
|
||||||
ASSERT_TRUE(FileExists(to_file2));
|
ASSERT_TRUE(FileExists(to_file2));
|
||||||
@@ -504,8 +502,7 @@ TEST_F(NativeFileUtilTest, PreserveLastModified) {
|
|||||||
// Test for move.
|
// Test for move.
|
||||||
ASSERT_EQ(base::File::FILE_OK,
|
ASSERT_EQ(base::File::FILE_OK,
|
||||||
NativeFileUtil::CopyOrMoveFile(
|
NativeFileUtil::CopyOrMoveFile(
|
||||||
from_file, to_file3,
|
from_file, to_file3, {CopyOrMoveOption::kPreserveLastModified},
|
||||||
CopyOrMoveOptionSet(CopyOrMoveOption::kPreserveLastModified),
|
|
||||||
NativeFileUtil::MOVE));
|
NativeFileUtil::MOVE));
|
||||||
|
|
||||||
ASSERT_TRUE(FileExists(to_file3));
|
ASSERT_TRUE(FileExists(to_file3));
|
||||||
@@ -555,8 +552,7 @@ TEST_F(NativeFileUtilTest, PreserveDestinationPermissions) {
|
|||||||
ASSERT_EQ(base::File::FILE_OK,
|
ASSERT_EQ(base::File::FILE_OK,
|
||||||
NativeFileUtil::CopyOrMoveFile(
|
NativeFileUtil::CopyOrMoveFile(
|
||||||
from_file, to_file,
|
from_file, to_file,
|
||||||
CopyOrMoveOptionSet(
|
{CopyOrMoveOption::kPreserveDestinationPermissions},
|
||||||
CopyOrMoveOption::kPreserveDestinationPermissions),
|
|
||||||
NativeFileUtil::COPY_NOSYNC));
|
NativeFileUtil::COPY_NOSYNC));
|
||||||
#if BUILDFLAG(IS_POSIX)
|
#if BUILDFLAG(IS_POSIX)
|
||||||
ExpectFileHasPermissionsPosix(to_file, old_dest_mode);
|
ExpectFileHasPermissionsPosix(to_file, old_dest_mode);
|
||||||
@@ -568,8 +564,7 @@ TEST_F(NativeFileUtilTest, PreserveDestinationPermissions) {
|
|||||||
ASSERT_EQ(base::File::FILE_OK,
|
ASSERT_EQ(base::File::FILE_OK,
|
||||||
NativeFileUtil::CopyOrMoveFile(
|
NativeFileUtil::CopyOrMoveFile(
|
||||||
from_file, to_file,
|
from_file, to_file,
|
||||||
CopyOrMoveOptionSet(
|
{CopyOrMoveOption::kPreserveDestinationPermissions},
|
||||||
CopyOrMoveOption::kPreserveDestinationPermissions),
|
|
||||||
NativeFileUtil::COPY_SYNC));
|
NativeFileUtil::COPY_SYNC));
|
||||||
#if BUILDFLAG(IS_POSIX)
|
#if BUILDFLAG(IS_POSIX)
|
||||||
ExpectFileHasPermissionsPosix(to_file, old_dest_mode);
|
ExpectFileHasPermissionsPosix(to_file, old_dest_mode);
|
||||||
@@ -581,8 +576,7 @@ TEST_F(NativeFileUtilTest, PreserveDestinationPermissions) {
|
|||||||
ASSERT_EQ(base::File::FILE_OK,
|
ASSERT_EQ(base::File::FILE_OK,
|
||||||
NativeFileUtil::CopyOrMoveFile(
|
NativeFileUtil::CopyOrMoveFile(
|
||||||
from_file, to_file,
|
from_file, to_file,
|
||||||
CopyOrMoveOptionSet(
|
{CopyOrMoveOption::kPreserveDestinationPermissions},
|
||||||
CopyOrMoveOption::kPreserveDestinationPermissions),
|
|
||||||
NativeFileUtil::MOVE));
|
NativeFileUtil::MOVE));
|
||||||
#if BUILDFLAG(IS_POSIX)
|
#if BUILDFLAG(IS_POSIX)
|
||||||
ExpectFileHasPermissionsPosix(to_file, old_dest_mode);
|
ExpectFileHasPermissionsPosix(to_file, old_dest_mode);
|
||||||
@@ -657,9 +651,8 @@ TEST_F(NativeFileUtilTest, PreserveLastModifiedAndDestinationPermissions) {
|
|||||||
ASSERT_EQ(base::File::FILE_OK,
|
ASSERT_EQ(base::File::FILE_OK,
|
||||||
NativeFileUtil::CopyOrMoveFile(
|
NativeFileUtil::CopyOrMoveFile(
|
||||||
from_file, to_file1,
|
from_file, to_file1,
|
||||||
CopyOrMoveOptionSet(
|
{CopyOrMoveOption::kPreserveLastModified,
|
||||||
CopyOrMoveOption::kPreserveLastModified,
|
CopyOrMoveOption::kPreserveDestinationPermissions},
|
||||||
CopyOrMoveOption::kPreserveDestinationPermissions),
|
|
||||||
NativeFileUtil::COPY_NOSYNC));
|
NativeFileUtil::COPY_NOSYNC));
|
||||||
base::File::Info to_file_info;
|
base::File::Info to_file_info;
|
||||||
ASSERT_TRUE(FileExists(to_file1));
|
ASSERT_TRUE(FileExists(to_file1));
|
||||||
@@ -677,9 +670,8 @@ TEST_F(NativeFileUtilTest, PreserveLastModifiedAndDestinationPermissions) {
|
|||||||
ASSERT_EQ(base::File::FILE_OK,
|
ASSERT_EQ(base::File::FILE_OK,
|
||||||
NativeFileUtil::CopyOrMoveFile(
|
NativeFileUtil::CopyOrMoveFile(
|
||||||
from_file, to_file2,
|
from_file, to_file2,
|
||||||
CopyOrMoveOptionSet(
|
{CopyOrMoveOption::kPreserveLastModified,
|
||||||
CopyOrMoveOption::kPreserveLastModified,
|
CopyOrMoveOption::kPreserveDestinationPermissions},
|
||||||
CopyOrMoveOption::kPreserveDestinationPermissions),
|
|
||||||
NativeFileUtil::COPY_SYNC));
|
NativeFileUtil::COPY_SYNC));
|
||||||
ASSERT_EQ(base::File::FILE_OK,
|
ASSERT_EQ(base::File::FILE_OK,
|
||||||
NativeFileUtil::GetFileInfo(to_file2, &to_file_info));
|
NativeFileUtil::GetFileInfo(to_file2, &to_file_info));
|
||||||
@@ -695,9 +687,8 @@ TEST_F(NativeFileUtilTest, PreserveLastModifiedAndDestinationPermissions) {
|
|||||||
ASSERT_EQ(base::File::FILE_OK,
|
ASSERT_EQ(base::File::FILE_OK,
|
||||||
NativeFileUtil::CopyOrMoveFile(
|
NativeFileUtil::CopyOrMoveFile(
|
||||||
from_file, to_file3,
|
from_file, to_file3,
|
||||||
CopyOrMoveOptionSet(
|
{CopyOrMoveOption::kPreserveLastModified,
|
||||||
CopyOrMoveOption::kPreserveLastModified,
|
CopyOrMoveOption::kPreserveDestinationPermissions},
|
||||||
CopyOrMoveOption::kPreserveDestinationPermissions),
|
|
||||||
NativeFileUtil::MOVE));
|
NativeFileUtil::MOVE));
|
||||||
ASSERT_EQ(base::File::FILE_OK,
|
ASSERT_EQ(base::File::FILE_OK,
|
||||||
NativeFileUtil::GetFileInfo(to_file3, &to_file_info));
|
NativeFileUtil::GetFileInfo(to_file3, &to_file_info));
|
||||||
|
@@ -631,8 +631,7 @@ TEST_F(ObfuscatedFileUtilMemoryDelegateTest, PreserveLastModified_NoSync) {
|
|||||||
|
|
||||||
ASSERT_EQ(base::File::FILE_OK,
|
ASSERT_EQ(base::File::FILE_OK,
|
||||||
file_util()->CopyOrMoveFile(
|
file_util()->CopyOrMoveFile(
|
||||||
from_file, to_file,
|
from_file, to_file, {CopyOrMoveOption::kPreserveLastModified},
|
||||||
CopyOrMoveOptionSet(CopyOrMoveOption::kPreserveLastModified),
|
|
||||||
nosync));
|
nosync));
|
||||||
ASSERT_TRUE(FileExists(to_file));
|
ASSERT_TRUE(FileExists(to_file));
|
||||||
|
|
||||||
@@ -661,8 +660,7 @@ TEST_F(ObfuscatedFileUtilMemoryDelegateTest, PreserveLastModified_Sync) {
|
|||||||
ASSERT_EQ(
|
ASSERT_EQ(
|
||||||
base::File::FILE_OK,
|
base::File::FILE_OK,
|
||||||
file_util()->CopyOrMoveFile(
|
file_util()->CopyOrMoveFile(
|
||||||
from_file, to_file,
|
from_file, to_file, {CopyOrMoveOption::kPreserveLastModified}, sync));
|
||||||
CopyOrMoveOptionSet(CopyOrMoveOption::kPreserveLastModified), sync));
|
|
||||||
ASSERT_TRUE(FileExists(to_file));
|
ASSERT_TRUE(FileExists(to_file));
|
||||||
|
|
||||||
base::File::Info file_info2;
|
base::File::Info file_info2;
|
||||||
@@ -690,8 +688,7 @@ TEST_F(ObfuscatedFileUtilMemoryDelegateTest, PreserveLastModified_Move) {
|
|||||||
ASSERT_EQ(
|
ASSERT_EQ(
|
||||||
base::File::FILE_OK,
|
base::File::FILE_OK,
|
||||||
file_util()->CopyOrMoveFile(
|
file_util()->CopyOrMoveFile(
|
||||||
from_file, to_file,
|
from_file, to_file, {CopyOrMoveOption::kPreserveLastModified}, move));
|
||||||
CopyOrMoveOptionSet(CopyOrMoveOption::kPreserveLastModified), move));
|
|
||||||
ASSERT_TRUE(FileExists(to_file));
|
ASSERT_TRUE(FileExists(to_file));
|
||||||
|
|
||||||
base::File::Info file_info2;
|
base::File::Info file_info2;
|
||||||
|
Reference in New Issue
Block a user