Chromium Code Reviews| Index: base/task_scheduler/task_traits.h |
| diff --git a/base/task_scheduler/task_traits.h b/base/task_scheduler/task_traits.h |
| index a403a961d47c7d91c268c4774f669281776d72af..6937adbf5b16df0a8a18cbb0debf408aecaa1adf 100644 |
| --- a/base/task_scheduler/task_traits.h |
| +++ b/base/task_scheduler/task_traits.h |
| @@ -111,19 +111,15 @@ struct MayBlock {}; |
| // In doubt, consult with //base/task_scheduler/OWNERS. |
| struct WithBaseSyncPrimitives {}; |
| -// Describes metadata for a single task or a group of tasks. |
| +// Describes metadata for a single task or a group of tasks. Immutable. |
|
robliao
2017/05/09 16:52:22
Immutable is not strictly true since we support as
fdoray
2017/05/09 17:30:05
Done.
gab
2017/05/09 18:41:34
Well, it's immutable in the sense of it can only b
robliao
2017/05/09 18:47:33
Discussed offline and the consensus is to add immu
fdoray
2017/05/09 19:25:52
Done.
|
| class BASE_EXPORT TaskTraits { |
| private: |
| // ValidTrait ensures TaskTraits' constructor only accepts appropriate types. |
| - // |
| - // TODO(fdoray): Remove base:: prefixes once the TaskTraits::MayBlock() and |
| - // TaskTraits::WithBaseSyncPrimitives() methods are gone. |
| - // https://crbug.com/713683 |
| struct ValidTrait { |
| ValidTrait(TaskPriority) {} |
| ValidTrait(TaskShutdownBehavior) {} |
| - ValidTrait(base::MayBlock) {} |
| - ValidTrait(base::WithBaseSyncPrimitives) {} |
| + ValidTrait(MayBlock) {} |
| + ValidTrait(WithBaseSyncPrimitives) {} |
| }; |
| public: |
| @@ -152,24 +148,21 @@ class BASE_EXPORT TaskTraits { |
| decltype(ValidTrait(std::declval<ArgTypes>()))...>> |
| constexpr TaskTraits(ArgTypes... args) |
| : priority_set_explicitly_( |
| - internal::HasArgOfType<base::TaskPriority, ArgTypes...>::value), |
| + internal::HasArgOfType<TaskPriority, ArgTypes...>::value), |
| priority_(internal::GetValueFromArgList( |
| - internal::EnumArgGetter<base::TaskPriority, |
| - base::TaskPriority::USER_VISIBLE>(), |
| + internal::EnumArgGetter<TaskPriority, TaskPriority::USER_VISIBLE>(), |
| args...)), |
| shutdown_behavior_set_explicitly_( |
| - internal::HasArgOfType<base::TaskShutdownBehavior, |
| - ArgTypes...>::value), |
| + internal::HasArgOfType<TaskShutdownBehavior, ArgTypes...>::value), |
| shutdown_behavior_(internal::GetValueFromArgList( |
| - internal::EnumArgGetter< |
| - base::TaskShutdownBehavior, |
| - base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN>(), |
| + internal::EnumArgGetter<TaskShutdownBehavior, |
| + TaskShutdownBehavior::SKIP_ON_SHUTDOWN>(), |
| args...)), |
| may_block_(internal::GetValueFromArgList( |
| - internal::BooleanArgGetter<base::MayBlock>(), |
| + internal::BooleanArgGetter<MayBlock>(), |
| args...)), |
| with_base_sync_primitives_(internal::GetValueFromArgList( |
| - internal::BooleanArgGetter<base::WithBaseSyncPrimitives>(), |
| + internal::BooleanArgGetter<WithBaseSyncPrimitives>(), |
| args...)) {} |
| constexpr TaskTraits(const TaskTraits& other) = default; |
| @@ -183,14 +176,6 @@ class BASE_EXPORT TaskTraits { |
| return TaskTraits(left, right); |
| } |
| - // Deprecated. Prefer constexpr construction to builder paradigm as |
| - // documented above. |
| - // TODO(fdoray): Remove these methods. https://crbug.com/713683 |
| - TaskTraits& WithPriority(TaskPriority priority); |
| - TaskTraits& WithShutdownBehavior(TaskShutdownBehavior shutdown_behavior); |
| - TaskTraits& MayBlock(); |
| - TaskTraits& WithBaseSyncPrimitives(); |
| - |
| // Returns true if the priority was set explicitly. |
| constexpr bool priority_set_explicitly() const { |
| return priority_set_explicitly_; |
| @@ -233,8 +218,6 @@ class BASE_EXPORT TaskTraits { |
| with_base_sync_primitives_(left.with_base_sync_primitives_ || |
| right.with_base_sync_primitives_) {} |
| - // TODO(fdoray): Make these const after refactoring away deprecated builder |
| - // pattern. |
| bool priority_set_explicitly_; |
| TaskPriority priority_; |
| bool shutdown_behavior_set_explicitly_; |