#include "third_party/blink/renderer/modules/webmidi/midi_access.h"
#include <memory>
#include "third_party/blink/public/common/privacy_budget/identifiability_metric_builder.h"
#include "third_party/blink/public/common/privacy_budget/identifiability_study_settings.h"
#include "third_party/blink/public/common/privacy_budget/identifiable_surface.h"
#include "third_party/blink/public/common/privacy_budget/identifiable_token_builder.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/loader/document_load_timing.h"
#include "third_party/blink/renderer/core/loader/document_loader.h"
#include "third_party/blink/renderer/modules/webmidi/midi_access_initializer.h"
#include "third_party/blink/renderer/modules/webmidi/midi_connection_event.h"
#include "third_party/blink/renderer/modules/webmidi/midi_input.h"
#include "third_party/blink/renderer/modules/webmidi/midi_input_map.h"
#include "third_party/blink/renderer/modules/webmidi/midi_output.h"
#include "third_party/blink/renderer/modules/webmidi/midi_output_map.h"
#include "third_party/blink/renderer/modules/webmidi/midi_port.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/privacy_budget/identifiability_digest_helpers.h"
namespace blink {
namespace {
PortState;
PortState ToDeviceState(PortState state) { … }
}
MIDIAccess::MIDIAccess(
MIDIDispatcher* dispatcher,
bool sysex_enabled,
const Vector<MIDIAccessInitializer::PortDescriptor>& ports,
ExecutionContext* execution_context)
: … { … }
MIDIAccess::~MIDIAccess() = default;
EventListener* MIDIAccess::onstatechange() { … }
void MIDIAccess::setOnstatechange(EventListener* listener) { … }
bool MIDIAccess::HasPendingActivity() const { … }
MIDIInputMap* MIDIAccess::inputs() const { … }
MIDIOutputMap* MIDIAccess::outputs() const { … }
void MIDIAccess::DidAddInputPort(const String& id,
const String& manufacturer,
const String& name,
const String& version,
PortState state) { … }
void MIDIAccess::DidAddOutputPort(const String& id,
const String& manufacturer,
const String& name,
const String& version,
PortState state) { … }
void MIDIAccess::DidSetInputPortState(unsigned port_index, PortState state) { … }
void MIDIAccess::DidSetOutputPortState(unsigned port_index, PortState state) { … }
void MIDIAccess::DidReceiveMIDIData(unsigned port_index,
const unsigned char* data,
wtf_size_t length,
base::TimeTicks time_stamp) { … }
void MIDIAccess::SendMIDIData(unsigned port_index,
const unsigned char* data,
wtf_size_t length,
base::TimeTicks time_stamp) { … }
void MIDIAccess::Trace(Visitor* visitor) const { … }
}