Commit 5341a7fc authored by Minoru Chikamune's avatar Minoru Chikamune Committed by Commit Bot

Migrate MIDIAccessInitializer to use GC mojo wrappers.

No behavior change. This CL reduces potential risks of use-after-free bugs.

Bug: 1049056
Change-Id: Iaef4f9e9baf735635e2b763bb246749fd0cc55e6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2134005Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Commit-Queue: Minoru Chikamune <chikamune@chromium.org>
Cr-Commit-Position: refs/heads/master@{#756243}
parent 897be7a6
......@@ -30,16 +30,16 @@ using mojom::blink::PermissionStatus;
MIDIAccessInitializer::MIDIAccessInitializer(ScriptState* script_state,
const MIDIOptions* options)
: ScriptPromiseResolver(script_state), options_(options) {}
: ScriptPromiseResolver(script_state),
options_(options),
permission_service_(GetExecutionContext()) {}
void MIDIAccessInitializer::Dispose() {
dispatcher_.reset();
permission_service_.reset();
}
void MIDIAccessInitializer::ContextDestroyed() {
dispatcher_.reset();
permission_service_.reset();
ScriptPromiseResolver::ContextDestroyed();
}
......@@ -126,6 +126,7 @@ void MIDIAccessInitializer::DidStartSession(Result result) {
void MIDIAccessInitializer::Trace(Visitor* visitor) {
visitor->Trace(options_);
visitor->Trace(permission_service_);
ScriptPromiseResolver::Trace(visitor);
}
......
......@@ -7,7 +7,6 @@
#include <memory>
#include "media/midi/midi_service.mojom-blink-forward.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "third_party/blink/public/mojom/permissions/permission.mojom-blink.h"
#include "third_party/blink/public/mojom/permissions/permission_status.mojom-blink-forward.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
......@@ -16,6 +15,7 @@
#include "third_party/blink/renderer/modules/modules_export.h"
#include "third_party/blink/renderer/modules/webmidi/midi_dispatcher.h"
#include "third_party/blink/renderer/modules/webmidi/midi_port.h"
#include "third_party/blink/renderer/platform/mojo/heap_mojo_remote.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
namespace blink {
......@@ -101,7 +101,7 @@ class MODULES_EXPORT MIDIAccessInitializer : public ScriptPromiseResolver,
Vector<PortDescriptor> port_descriptors_;
Member<const MIDIOptions> options_;
mojo::Remote<mojom::blink::PermissionService> permission_service_;
HeapMojoRemote<mojom::blink::PermissionService> permission_service_;
};
} // namespace blink
......
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