Skip to content

Simplify media and device module surfaces #243

Description

@jderochervlk

Parent: #237

Blocked by: #239

Summary

Update the media/device APIs to follow the new *Types + concrete-module t contract, including the APIs that currently exist only as root type files in this slice.

Scope

  • MediaCapabilities
  • MediaCaptureAndStreams
  • MediaSession
  • Geolocation
  • Notification
  • Push
  • WebAudio
  • WebSpeech
  • Gamepad
  • RemotePlayback
  • WebVTT
  • EncryptedMediaExtensions
  • root-only concrete modules for PictureInPicture and WebMIDI
  • related media-facing tests

Files

  • src/MediaCapabilitiesTypes.res
  • src/MediaCapabilitiesAPI/*.res
  • src/MediaCaptureAndStreamsTypes.res
  • src/MediaCaptureAndStreamsAPI/*.res
  • src/MediaSessionTypes.res
  • src/MediaSessionAPI/*.res
  • src/GeolocationTypes.res
  • src/GeolocationAPI/*.res
  • src/NotificationTypes.res
  • src/NotificationAPI/*.res
  • src/PushTypes.res
  • src/PushAPI/*.res
  • src/WebAudioTypes.res
  • src/WebAudioAPI/*.res
  • src/WebSpeechTypes.res
  • src/WebSpeechAPI/*.res
  • src/WebMIDITypes.res
  • src/WebMIDI.res
  • src/GamepadTypes.res
  • src/GamepadAPI/*.res
  • src/RemotePlaybackTypes.res
  • src/RemotePlaybackAPI/*.res
  • src/PictureInPictureTypes.res
  • src/PictureInPicture.res
  • src/WebVTTTypes.res
  • src/WebVTTAPI/*.res
  • src/EncryptedMediaExtensionsTypes.res
  • src/EncryptedMediaExtensionsAPI/*.res
  • tests/NotificationsAPI/*.res
  • tests/WebAudioAPI/*.res

Checklist

  • Add type t and selective helper re-exports across the media/device concrete modules
  • Create concrete modules for the current root-only APIs in this slice: PictureInPicture and WebMIDI
  • Replace unrelated opens with qualified references or owner-module re-exports
  • Update the relevant media-facing tests
  • Verify the diff adds no new include directives
  • Run npm run build
  • Run npm test

Acceptance Criteria

  • media/device concrete modules expose t
  • the root-only APIs in this slice now have concrete modules participating in the t contract
  • unrelated opens are reduced or removed in the edited files
  • no new include directives are introduced
  • relevant tests pass

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions