Some objects need to bind their lifetime to the underlying sequence. Currently this is the main use case of MessageLoop::DestructionObserver but tying this to an explicit MessageLoop is unfortunate.
The next best thing today is binding lifetime to the sequence through a SequenceLocalStorageSlot<std::unique_ptr<>> but that's ugly to read and results in using many slots for the purpose of bindings which never need to Get().
base::BindToCurrentSequence would be backed by a SequenceLocalStorageSlot<std::vector<std::unique_ptr<>>> and use a single slot for everything that needs to hand its lifetime to the sequence it runs on.
(this is a vision but I'm not actively working on it at this time)
Comment 1 by benhenry@chromium.org
, Aug 1