Commit 0cc45e35 authored by Ken Rockot's avatar Ken Rockot Committed by Commit Bot

Fix blink::ResourceLoader finalization

This causes blink::ResourceLoader::Dispose() to close the object's
blink.mojom.ProgressClient binding, preventing incoming IPCs from
being dispatched to the finalized object in the interim between
finalization and actual destruction.

Bug: 867370
Change-Id: I9a14c51cb5d75e11b211006d094d73beafab8922
Reviewed-on: https://chromium-review.googlesource.com/1168289Reviewed-by: default avatarYutaka Hirano <yhirano@chromium.org>
Commit-Queue: Ken Rockot <rockot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581779}
parent e8bd6854
...@@ -823,6 +823,7 @@ void ResourceLoader::RequestSynchronously(const ResourceRequest& request) { ...@@ -823,6 +823,7 @@ void ResourceLoader::RequestSynchronously(const ResourceRequest& request) {
void ResourceLoader::Dispose() { void ResourceLoader::Dispose() {
loader_ = nullptr; loader_ = nullptr;
progress_binding_.Close();
// Release() should be called to release |scheduler_client_id_| beforehand in // Release() should be called to release |scheduler_client_id_| beforehand in
// DidFinishLoading() or DidFail(), but when a timer to call Cancel() is // DidFinishLoading() or DidFail(), but when a timer to call Cancel() is
......
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