[whatwg] Spec for downloading stylesheets

2012-06-16 Thread Andy Davies
I'm under the impression that a UA has to download all stylesheets
regardless of whether they will be used e.g. print, mediaquery may never
match etc.

I've had a crawl through the specs but can't find the behaviour specified.

Is my understanding right and if so can someone point me at the relevant
spec?

Thanks

Andy


Re: [whatwg] Spec for downloading stylesheets

2012-06-16 Thread Tab Atkins Jr.
On Sat, Jun 16, 2012 at 1:23 AM, Andy Davies dajdav...@gmail.com wrote:
 I'm under the impression that a UA has to download all stylesheets
 regardless of whether they will be used e.g. print, mediaquery may never
 match etc.

 I've had a crawl through the specs but can't find the behaviour specified.

 Is my understanding right and if so can someone point me at the relevant
 spec?

The relevant spec is just HTML, which pays no attention to the @media
attribute when parsing link rel=stylesheets.  Without anything
explicitly saying Don't download X unless condition Y is met, you
just download them all.

The reasoning for this is that the set of stylesheets that you need
for a document is not static - users *do* resize their browser, for
example, and browsers would like to apply the relevant CSS
immediately, not wait a second or so to kick off and finish a
download.  It also lets us keep the invariant that, if you use
matchMedia or something to see if a MQ matches, all the styles are
correct for the state of the world as you see it.

~TJ


Re: [whatwg] Spec for downloading stylesheets

2012-06-16 Thread Andy Davies
Thanks Tab,

I presume it's this -
http://www.whatwg.org/specs/web-apps/current-work/#the-link-element

For external resources that are represented in the DOM (for example,
style sheets), the DOM representation must be made available even if
the resource is not applied. To obtain the resource, the user agent
must run the following steps:

If the href attribute's value is the empty string, then abort these steps.

Resolve the URL given by the href attribute, relative to the element.

If the previous step fails, then abort these steps.

Fetch the resulting absolute URL.

User agents may opt to only try to obtain such resources when they are
needed, instead of pro-actively fetching all the external resources
that are not applied.



On 16 June 2012 15:46, Tab Atkins Jr. jackalm...@gmail.com wrote:
 On Sat, Jun 16, 2012 at 1:23 AM, Andy Davies dajdav...@gmail.com wrote:
 I'm under the impression that a UA has to download all stylesheets
 regardless of whether they will be used e.g. print, mediaquery may never
 match etc.

 I've had a crawl through the specs but can't find the behaviour specified.

 Is my understanding right and if so can someone point me at the relevant
 spec?

 The relevant spec is just HTML, which pays no attention to the @media
 attribute when parsing link rel=stylesheets.  Without anything
 explicitly saying Don't download X unless condition Y is met, you
 just download them all.

 The reasoning for this is that the set of stylesheets that you need
 for a document is not static - users *do* resize their browser, for
 example, and browsers would like to apply the relevant CSS
 immediately, not wait a second or so to kick off and finish a
 download.  It also lets us keep the invariant that, if you use
 matchMedia or something to see if a MQ matches, all the styles are
 correct for the state of the world as you see it.

 ~TJ