You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e9e02fb
Browse filesBrowse the repository at this point in the historyBrowse files
fix: minify data: URL payloads in HTML attributes and new URL (#22300)
* fix: minify data: URL payloads in HTML attributes and new URL
Offer a URL attribute's data: payload to the HTML printer's renderer,
regenerate modules that copy a rendered asset url into an analyzable
new URL, write a rendered text payload back without percent-encoding
all of it, decline payloads a raw # cuts short, and dispatch
.webmanifest assets to the JSON minifier.
* fix: keep data: URI parameters and let a manifest minimizer claim JSON
Rebuild a data: URI with the parameters it was written with, so a
;charset= survives, and treat a user minimizer matching .webmanifest as
claiming JSON. Cover a new URL inside a concatenated module.
* test: write the embedded stylesheet's data: payload without a fragment
A raw # ends the payload a browser reads, so the minifier now leaves it
as written; spell the color without one so the case still minifies it.
* fix: leave a new URL data: payload a raw # cuts short as written
A browser reads what follows the # as a fragment, so the payload the
module holds is not the one the URL carries; decline rendering it, as the
CSS and HTML printers already do.
* refactor(html): drop the foreign-tag branch a data: URL attribute cannot reach
Only HTML-namespace attributes are offered as data: URLs, and only a
foreign element's /> reads back how a value ends.
* fix: minify percent-escaped data: payloads and read # as content
Decode a payload's percent-escapes as the URL parser does and read a raw
# as payload content, as webpack's data: modules do, rather than declining
both. A CSS url() a deferred renderer declines now prints as an untapped
run prints it instead of as written.
* fix: leave an HTML or CSS data: URL a raw # cuts short as written
A browser reads a raw # as the start of a fragment, so the payload it loads
ends there; rewriting it (with the # escaped) changed what loads.
* fix: redo a concatenated module whose inner module references a rendered asset
* fix: skip a concatenated module already redone for its own embedded sources
0 commit comments