Commit c2d122c1 authored by Scott Violet's avatar Scott Violet Committed by Commit Bot

dom_storage: speculative crash fix

A crash seems to indicate LocalStorageContextMojo::PerformStorageCleanup()
is being called with |this| set to null. It seems the only way that could
happen is if DOMStorageContextWrapper::PerformLocalStorageCleanup() is called
after Shutdown() (Shutdown() sets mojo_state_ to null).

This is a speculative fix, and I could certainly be wrong. Please suggest
alternatives if you think I'm reading it wrong or what I've outlined isn't
possible.

BUG=921067
TEST=none

Change-Id: I0eb7482bf37369e4b61b05d34526c679fa71d416
Reviewed-on: https://chromium-review.googlesource.com/c/1407117
Commit-Queue: Scott Violet <sky@chromium.org>
Reviewed-by: default avatarChristian Dullweber <dullweber@chromium.org>
Reviewed-by: default avatarMarijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622952}
parent 2addd1f4
...@@ -275,6 +275,11 @@ void DOMStorageContextWrapper::PerformLocalStorageCleanup( ...@@ -275,6 +275,11 @@ void DOMStorageContextWrapper::PerformLocalStorageCleanup(
base::OnceClosure callback) { base::OnceClosure callback) {
DCHECK(context_.get()); DCHECK(context_.get());
DCHECK(callback); DCHECK(callback);
if (!mojo_state_) {
// Shutdown() has been called.
std::move(callback).Run();
return;
}
mojo_task_runner_->PostTask( mojo_task_runner_->PostTask(
FROM_HERE, FROM_HERE,
base::BindOnce( base::BindOnce(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment