Skip to content

Commit

Permalink
Migrate MIDIAccessInitializer to use GC mojo wrappers.
Browse files Browse the repository at this point in the history
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/+/2134005
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Minoru Chikamune <chikamune@chromium.org>
Cr-Commit-Position: refs/heads/master@{#756243}
  • Loading branch information
chikamune-cr authored and Commit Bot committed Apr 3, 2020
1 parent 897be7a commit 5341a7f
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}
Expand Down Expand Up @@ -126,6 +126,7 @@ void MIDIAccessInitializer::DidStartSession(Result result) {

void MIDIAccessInitializer::Trace(Visitor* visitor) {
visitor->Trace(options_);
visitor->Trace(permission_service_);
ScriptPromiseResolver::Trace(visitor);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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 {
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 5341a7f

Please sign in to comment.