- From: Cameron McCormack <cam@mcc.id.au>
- Date: Tue, 02 Jul 2013 19:05:33 +1000
- To: John Daggett <jdaggett@mozilla.com>
- CC: www-style list <www-style@w3.org>
John Daggett wrote:
> Based on a brief discussion with Cam regarding the new [MapClass]
> thingy in WebIDL, I put together this first attempt at the sort of
> CSSFontFeatureValuesRule definition Tab was asking for:
>
> [MapClass(DOMString, long)]
> interface FontFeatureMapSingle {
> long get(DOMString valueName);
> boolean has(DOMString valueName);
> void set(DOMString valueName, long value);
> boolean delete(DOMString valueName);
> }
>
> [MapClass(DOMString, sequence<long>)]
> interface FontFeatureMapMulti {
> sequence<long> get(DOMString valueName);
> boolean has(DOMString valueName);
> void set(DOMString valueName, sequence<long> values);
> boolean delete(DOMString valueName);
> }
I don't think we need the custom versions of has, set and delete. The
default versions of these should be fine.
> The 'styleset' and 'character-variant' values for
> 'font-variant-alternates' take *multiple* values, while the other
> values only use a single value. Thus the map associated with each of
> these values reflects that.
(I think either that, or having a single FontFeatureMap that takes (long
or sequence<long>) values and does checking in prose, would be fine.)
> The error handling here is a bit tricky (dodgy?). For the
> 'character-variant' value only two values are permitted, so what
> should happen with 'rule.characterVariant.set("blah", [1, 2, 3])'?
I think it should throw in prose. Maybe InvalidAccessError is the
closest exception type for this kind of error.
Otherwise, looks good.
Received on Tuesday, 2 July 2013 09:06:18 UTC