DescriptionTurn IDBTransaction into the ContextLifecycleObserver it needs to be.
Revert r453574's switch to using ContextClient for IDBTransaction,
going back to ContextLifecycleObserver. This is needed in order for
IDBTransaction's debug checks upon destruction to be able to safely access
the ExecutionContext.
While ContextClient keeps a weak reference to its ExecutionContext,
accessing it from a destructor assumes that weak processing for the
ContextClient will already have run (and cleared out the ExecutionContext
weak reference, if needs be.) This assumes that weak processing will
always run, which it won't if the ContextClient and ExecutionContext are
determined to be garbage during the same GC.
Update ContextLifecycleObserver comments to mention this subtle detail.
R=jsbell,haraken
BUG=699819
Review-Url: https://codereview.chromium.org/2742393002
Cr-Commit-Position: refs/heads/master@{#456432}
Committed: https://chromium.googlesource.com/chromium/src/+/5dec7437ab22a52aa3dcab8e3415142b6db89040
Patch Set 1 #
Messages
Total messages: 14 (9 generated)
|