Skip to content

WebVTT: HTML entity inside voice annotation#59331

Merged
annevk merged 1 commit into
masterfrom
annevk/webvtt
Apr 19, 2026
Merged

WebVTT: HTML entity inside voice annotation#59331
annevk merged 1 commit into
masterfrom
annevk/webvtt

Conversation

@annevk
Copy link
Copy Markdown
Member

@annevk annevk commented Apr 18, 2026

No description provided.

annevk added a commit to annevk/WebKit that referenced this pull request Apr 18, 2026
https://bugs.webkit.org/show_bug.cgi?id=312686
rdar://175084171

Reviewed by NOBODY (OOPS!).

The WebVTT cue text tokenizer was using InputStreamPreprocessor, which
replaced U+0000 NULL with U+FFFD. This was wrong for getCueAsHTML().

So instead we use StringParsingBuffer, which preserves all characters
as-is.

We also fix a pre-existing bug where entity-decoded characters in voice
annotations (e.g., <v Foo&amp;Bar>) were appended to the tag name
instead of the annotation text, and unskip five already-passing
rendering tests.

Upstream:

    web-platform-tests/wpt#59331
annevk added a commit to annevk/WebKit that referenced this pull request Apr 18, 2026
https://bugs.webkit.org/show_bug.cgi?id=312686
rdar://175084171

Reviewed by NOBODY (OOPS!).

The WebVTT cue text tokenizer was using InputStreamPreprocessor, which
replaced U+0000 NULL with U+FFFD. This was wrong for getCueAsHTML().

So instead we use StringParsingBuffer, which preserves all characters
as-is.

We also fix a pre-existing bug where entity-decoded characters in voice
annotations (e.g., <v Foo&amp;Bar>) were appended to the tag name
instead of the annotation text, and unskip five already-passing
rendering tests.

Upstream:

    web-platform-tests/wpt#59331
annevk added a commit to annevk/WebKit that referenced this pull request Apr 18, 2026
https://bugs.webkit.org/show_bug.cgi?id=312686
rdar://175084171

Reviewed by NOBODY (OOPS!).

The WebVTT cue text tokenizer was using InputStreamPreprocessor, which
replaced U+0000 NULL with U+FFFD. This was wrong for getCueAsHTML().

So instead we use StringParsingBuffer, which preserves all characters
as-is.

We also fix a pre-existing bug where entity-decoded characters in voice
annotations (e.g., <v Foo&amp;Bar>) were appended to the tag name
instead of the annotation text, and unskip five already-passing
rendering tests.

Upstream:

    web-platform-tests/wpt#59331
webkit-commit-queue pushed a commit to annevk/WebKit that referenced this pull request Apr 19, 2026
https://bugs.webkit.org/show_bug.cgi?id=312686
rdar://175084171

Reviewed by Chris Dumez.

The WebVTT cue text tokenizer was using InputStreamPreprocessor, which
replaced U+0000 NULL with U+FFFD. This was wrong for getCueAsHTML().

So instead we use StringParsingBuffer, which preserves all characters
as-is.

We also fix a pre-existing bug where entity-decoded characters in voice
annotations (e.g., <v Foo&amp;Bar>) were appended to the tag name
instead of the annotation text, and unskip five already-passing
rendering tests.

Upstream:

    web-platform-tests/wpt#59331

Canonical link: https://commits.webkit.org/311539@main
@annevk annevk merged commit f19a3be into master Apr 19, 2026
25 checks passed
@annevk annevk deleted the annevk/webvtt branch April 19, 2026 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants