- From: John Daggett <jdaggett@mozilla.com>
- Date: Wed, 22 Oct 2014 01:24:08 -0700 (PDT)
- To: www-style list <www-style@w3.org>
The CSS Font Loading API spec defines 'status' attributes for both
fonts (FontFace objects) and the set of fonts contained by a
document (FontFaceSet object). These are intended to indicate the
load state of individual fonts and whether any font is currently
loading or not.
Definition of FontFaceSet.status [1]:
status of type FontFaceSetLoadStatus, readonly
If there are possibly pending font loads, the status attribute
must have the value "loading". Otherwise, it must have the
value "loaded".
This seems to imply that any style change that affects font
selection or text content would cause the state of document.fonts to
be "loading".
This implies the assertions below, which I think aren't desired behavior:
var f = new FontFace("test", "url(myfont.woff)");
document.fonts.add(f);
document.body.style.fontFamily = "bongo";
assert(document.fonts.status == "loading"); // pending layout
document.body.offsetTop;
assert(document.fonts.status == "loaded"); // no pending layout
However, later on in the actual description of when
FontFaceSet.status is set to "loading" in section 3.1, this actually
only occurs when the load state of a given FontFace object contained
within the FontFaceSet changes to "loading".
Edited definition of FontFaceSet.status:
status of type FontFaceSetLoadStatus, readonly
When one or more FontFace objects have a status of "loading",
this attribute must have the value "loading". Otherwise, it must
have the value "loaded". See Section 3.1 for the precise
description of when this state change occurs.
Cheers,
John
[1] http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-status
Received on Wednesday, 22 October 2014 08:24:36 UTC