| Index: base/task_scheduler/scheduler_worker.h | 
| diff --git a/base/task_scheduler/scheduler_worker.h b/base/task_scheduler/scheduler_worker.h | 
| index b9958be019bd479419367fae739a3808a972d92e..a9b891ad772d433865cb25611b4694e0083b0445 100644 | 
| --- a/base/task_scheduler/scheduler_worker.h | 
| +++ b/base/task_scheduler/scheduler_worker.h | 
| @@ -38,7 +38,7 @@ class TaskTracker; | 
| class BASE_EXPORT SchedulerWorker { | 
| public: | 
| // Delegate interface for SchedulerWorker. The methods are always called from | 
| -  // a thread managed by the SchedulerWorker instance. | 
| +  // the thread managed by the SchedulerWorker instance. | 
| class Delegate { | 
| public: | 
| virtual ~Delegate() = default; | 
| @@ -47,8 +47,7 @@ class BASE_EXPORT SchedulerWorker { | 
| // If a thread is recreated after detachment, |detach_duration| is the time | 
| // elapsed since detachment. Otherwise, if this is the first thread created | 
| // for |worker|, |detach_duration| is TimeDelta::Max(). | 
| -    virtual void OnMainEntry(SchedulerWorker* worker, | 
| -                             const TimeDelta& detach_duration) = 0; | 
| +    virtual void OnMainEntry(SchedulerWorker* worker) = 0; | 
|  | 
| // Called by a thread managed by |worker| to get a Sequence from which to | 
| // run a Task. | 
| @@ -83,6 +82,11 @@ class BASE_EXPORT SchedulerWorker { | 
| // This MUST return false if SchedulerWorker::JoinForTesting() is in | 
| // progress. | 
| virtual bool CanDetach(SchedulerWorker* worker) = 0; | 
| + | 
| +    // Called by a thread before it detaches. This method is not allowed to | 
| +    // acquire a SchedulerLock because it is called within the scope of another | 
| +    // SchedulerLock. | 
| +    virtual void OnDetach() = 0; | 
| }; | 
|  | 
| enum class InitialState { ALIVE, DETACHED }; | 
| @@ -143,10 +147,6 @@ class BASE_EXPORT SchedulerWorker { | 
| // The underlying thread for this SchedulerWorker. | 
| std::unique_ptr<Thread> thread_; | 
|  | 
| -  // Time of the last successful Detach(). Is only accessed from the thread | 
| -  // managed by this SchedulerWorker. | 
| -  TimeTicks last_detach_time_; | 
| - | 
| const ThreadPriority priority_hint_; | 
| const std::unique_ptr<Delegate> delegate_; | 
| TaskTracker* const task_tracker_; | 
|  |