Skip to content
This repository was archived by the owner on Apr 10, 2025. It is now read-only.
This repository was archived by the owner on Apr 10, 2025. It is now read-only.

Support UrlValuedAttribute with CSS #1324

@jeffkaufman

Description

@jeffkaufman

Using UrlValuedAttribute with Stylesheet doesn't work:

~ $ curl http://www.jefftk.com/css-prefetch?PageSpeedFilters=
<link rel=stylesheet href="example.css">
<link rel=stylesheet css-prefetch="example.css">
<link css-prefetch="example.css">
<link rel=stylesheet css-prefetch="example.css" href="example.css">
<link css-prefetch="example.css" href="example.css">

~ $ curl http://www.jefftk.com/css-prefetch?PageSpeedFilters=rewrite_css
<link rel=stylesheet href="A.example.css.pagespeed.cf.ibS6ETNCIK.css">
<link rel=stylesheet css-prefetch="example.css">
<link css-prefetch="example.css">
<link rel=stylesheet css-prefetch="example.css" href="A.example.css.pagespeed.cf.ibS6ETNCIK.css">
<link css-prefetch="example.css" href="example.css">

~ $ curl http://www.jefftk.com/css-prefetch?PageSpeedFilters=extend_cache_css
<link rel=stylesheet href="example.css.pagespeed.ce.uEwpUZgfsK.css">
<link rel=stylesheet css-prefetch="example.css.pagespeed.ce.uEwpUZgfsK.css">
<link css-prefetch="example.css.pagespeed.ce.uEwpUZgfsK.css">
<link rel=stylesheet css-prefetch="example.css.pagespeed.ce.uEwpUZgfsK.css" href="example.css.pagespeed.ce.uEwpUZgfsK.css">
<link css-prefetch="example.css.pagespeed.ce.uEwpUZgfsK.css" href="example.css">

So adding that config does make us recognize it as css for extend_cache_css purposes but not for rewrite_css purposes.

It looks like for css we don't use resource_tag_scanner::ScanElement but instead implement a css-specific tag scanner in CssTagScanner::ParseCssElement.

It doesn't look like there's any config tweak that would make this work, or even a simple code tweak. Instead we would need to:

  1. Modify CssTagScanner to call resource_tag_scanner to find out about any overrides it defines.

  2. Modify all callers of CssTagScanner::ParseCssElement to accept getting multiple stylesheet urls in response.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions