#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "third_party/blink/renderer/modules/webmidi/midi_output.h"
#include "media/midi/midi_service.mojom-blink.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/timing/dom_window_performance.h"
#include "third_party/blink/renderer/core/timing/window_performance.h"
#include "third_party/blink/renderer/core/timing/worker_global_scope_performance.h"
#include "third_party/blink/renderer/core/workers/worker_global_scope.h"
#include "third_party/blink/renderer/modules/webmidi/midi_access.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
PortState;
namespace blink {
namespace {
DOMUint8Array* ConvertUnsignedDataToUint8Array(
Vector<unsigned> unsigned_data,
ExceptionState& exception_state) { … }
base::TimeTicks GetTimeOrigin(ExecutionContext* context) { … }
class MessageValidator { … };
}
MIDIOutput::MIDIOutput(MIDIAccess* access,
unsigned port_index,
const String& id,
const String& manufacturer,
const String& name,
const String& version,
PortState state)
: … { … }
MIDIOutput::~MIDIOutput() = default;
void MIDIOutput::send(NotShared<DOMUint8Array> array,
double timestamp_in_milliseconds,
ExceptionState& exception_state) { … }
void MIDIOutput::send(Vector<unsigned> unsigned_data,
double timestamp_in_milliseconds,
ExceptionState& exception_state) { … }
void MIDIOutput::send(NotShared<DOMUint8Array> data,
ExceptionState& exception_state) { … }
void MIDIOutput::send(Vector<unsigned> unsigned_data,
ExceptionState& exception_state) { … }
void MIDIOutput::DidOpen(bool opened) { … }
void MIDIOutput::Trace(Visitor* visitor) const { … }
void MIDIOutput::SendInternal(DOMUint8Array* array,
base::TimeTicks timestamp,
ExceptionState& exception_state) { … }
}