commit | e3db81da3797fcf365a7d1b6961b4eb168680be8 | [log] [tgz] |
---|---|---|
author | Dave Tapuska <[email protected]> | Fri Dec 08 00:20:34 2017 |
committer | Commit Bot <[email protected]> | Fri Dec 08 00:20:34 2017 |
tree | 8d1503712ae616c5160f6314ff4a56c6b86dc916 | |
parent | dbd5d9c6b497ee984ab6ffd79bafd24f8b80080d [diff] [blame] |
Add IsClosing() checks to mojo input handling. Sending input to a closing or already closed render_widget can cause crashes. BUG=791982 Change-Id: I7b3addc7740d161027b1cd9d26659a62249ecb44 Reviewed-on: https://chromium-review.googlesource.com/815537 Reviewed-by: Alex Moshchuk <[email protected]> Commit-Queue: Dave Tapuska <[email protected]> Cr-Commit-Position: refs/heads/master@{#522636}
diff --git a/content/renderer/input/widget_input_handler_impl.cc b/content/renderer/input/widget_input_handler_impl.cc index c32c751..c06b9b0a 100644 --- a/content/renderer/input/widget_input_handler_impl.cc +++ b/content/renderer/input/widget_input_handler_impl.cc
@@ -43,9 +43,11 @@ void RunClosureIfNotSwappedOut(base::WeakPtr<RenderWidget> render_widget, base::OnceClosure closure) { // Input messages must not be processed if the RenderWidget is in swapped out - // state. - if (!render_widget || render_widget->is_swapped_out()) + // or closing state. + if (!render_widget || render_widget->is_swapped_out() || + render_widget->IsClosing()) { return; + } std::move(closure).Run(); }