Commit 20e63a0d authored by tzik's avatar tzik Committed by Commit Bot

Clear a dangling reference from WebMIDIAccessor to MIDIAccessorClient

Implementations of WebMIDIAccessor in //content holds an raw pointer to
MIDIAccessorClient, however, the pointer may be invalid between GC marking
and its sweeping.

This CL removes the pointer by clearing WebMIDIAccessor itself on the
context destruction.

Bug: 846182
Change-Id: I857769a34b6c64e48b0540a117b29c94194ed611
Reviewed-on: https://chromium-review.googlesource.com/1071157Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561407}
parent bc5e3362
...@@ -30,8 +30,11 @@ MIDIAccessInitializer::MIDIAccessInitializer(ScriptState* script_state, ...@@ -30,8 +30,11 @@ MIDIAccessInitializer::MIDIAccessInitializer(ScriptState* script_state,
const MIDIOptions& options) const MIDIOptions& options)
: ScriptPromiseResolver(script_state), options_(options) {} : ScriptPromiseResolver(script_state), options_(options) {}
void MIDIAccessInitializer::ContextDestroyed(ExecutionContext*) { void MIDIAccessInitializer::ContextDestroyed(ExecutionContext* context) {
accessor_.reset();
permission_service_.reset(); permission_service_.reset();
ScriptPromiseResolver::ContextDestroyed(context);
} }
ScriptPromise MIDIAccessInitializer::Start() { ScriptPromise MIDIAccessInitializer::Start() {
......
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