✨ feat(amp-youtube): add data-channelid support for channel embeds
✨ New feature
Why amp-youtube currently supports data-videoid and data-live-channelid, but there’s no direct way to embed a YouTube Channel. This adds first-class support for channel embeds to improve author experience and cover a common use case.
What
- Introduces a new attribute: data-channelid.
- Exactly one of data-videoid, data-live-channelid, or data-channelid is required; runtime asserts on conflicts.
- When data-channelid is present, amp-youtube uses the YouTube live_stream endpoint to render the channel.
- Handles attribute mutations: switches player source appropriately.
Linked issue Closes #26304
Screenshots/Manual verification
Example:
Resulting iframe src contains: .../embed/live_stream?channel=UC_x5XG1OV2P6uZZ5FSM9Ttw&enablejsapi=1&=1
Follow-ups included/remaining 📖 Docs: Add data-channelid to amp-youtube.md with example ✅ Tests: Unit tests for URL generation, exclusivity rule, and mutation behavior 🏗 Validator: Allow data-channelid and enforce “exactly one of” among data-videoid, data-live-channelid, data-channelid
Breaking changes None
Risk/rollout Low. New attribute; existing behavior for data-videoid and data-live-channelid unchanged.
Testing plan Added/Will add unit tests. Manually verified with a local example page; inspected iframe src and runtime assertions.
Checklist ✅ Code compiles locally ✅ Tests added/updated ✅ Documentation updated ✅ Validator config updated ✅ Linked to issue and used auto-close keyword