Re: [css-font-loading] “whenever” algorithms

Tab Atkins Jr.:
> Good catches, and I agree that this needs to be nailed down more
> precisely.  Ordering bugs are terrible. :/
> 
> However, I'm not sure how your suggestion (in the parent email) to
> handle this by hooking the FontFaceSet add/delete/clear() methods
> would work.  For example, "Whenever a FontFaceSet goes from having
> possibly pending font loads to having no pending font loads" triggers
> when fonts just finish loading, even if they've just been sitting in
> the set unmolested this whole time.

Yes, but we still have to follow the rules for the FontFace.load()
method if a FontFace starts loading due to matching text in the
document, so we still would have a place to explicitly invoke the
“whenever … to having no pending font loads” algorithm, which is in the
asynchronous part of the load() steps.

> Are you suggesting this as *part* of the solution?  I think I'd also
> have to hook the state-changing methods in FontFace, right?

Yes I should have said that. :-)  All of the algorithms that mess with
the status of a FontFace would need to explicitly invoke the algorithm.

(By the way, according to current Web IDL, FontFaceSet must override
add/delete/clear in the IDL because they have behaviour different from
the default functions that get generated (which only do the argument
type checking).  I really should add some terms to use from the add/
delete/clear steps to manipulate the “set entries” so that it will
forward those operations on to the backing Set.)

-- 
Cameron McCormack ≝ http://mcc.id.au/

Received on Thursday, 9 April 2015 05:16:31 UTC