Skip to content

Commit 99ebb57

Browse files
committed
[typed-om] Define the indexed stuff for CSSUnparsedValue more precisely, including defining the 'indexed creator'. Fixes w3c#664.
1 parent 0875e1b commit 99ebb57

File tree

1 file changed

+32
-8
lines changed

1 file changed

+32
-8
lines changed

css-typed-om/Overview.bs

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -625,21 +625,45 @@ interface CSSVariableReferenceValue {
625625
};
626626
</xmp>
627627

628-
{{CSSUnparsedValue}} objects represent values that reference custom properties.
629-
They represent a list of string fragments and variable references.
628+
{{CSSUnparsedValue}} objects represent property values that reference custom properties.
629+
They are comprised of a list of string fragments and variable references.
630630

631631
They have a <dfn attribute for=CSSUnparsedValue>\[[tokens]]</dfn> internal slot,
632632
which is a [=list=] of {{DOMString}}s and {{CSSVariableReferenceValue}} objects.
633633
This list is the object's [=values to iterate over=].
634634

635-
The <dfn attribute for=CSSUnparsedValue>length</dfn> attribute returns the length
635+
The <dfn attribute for=CSSUnparsedValue>length</dfn> attribute returns the [=list/size=]
636636
of the {{CSSUnparsedValue/[[tokens]]}} internal slot.
637637

638-
The <dfn for=CSSUnparsedValue>indexed getter</dfn> retrieves the {{CSSUnparsedSegment}}
639-
from {{CSSUnparsedValue/[[tokens]]}} at the provided index.
640-
641-
The <dfn for=CSSUnparsedValue>indexed setter</dfn> sets the CSSUnparsedSegment
642-
from {{CSSUnparsedValue/[[tokens]]}} at the provided index to the provided {{CSSUnparsedValue}}.
638+
<div algorithm="CSSUnparsedValue indexed properties">
639+
The [=supported property indices|supported property indexes=]
640+
of a {{CSSUnparsedValue}} |this|
641+
are the integers greater than or equal to 0,
642+
and less than the [=list/size=] of |this|’s {{CSSUnparsedValue/[[tokens]]}} internal slot.
643+
644+
To [=determine the value of an indexed property=]
645+
of a {{CSSUnparsedValue}} |this|
646+
and an index |n|,
647+
let |tokens| be |this|’s {{CSSUnparsedValue/[[tokens]]}} internal slot,
648+
and return |tokens|[|n|].
649+
650+
To [=set the value of an existing indexed property=]
651+
of a {{CSSUnparsedValue}} |this|,
652+
an index |n|,
653+
and a value |new value|,
654+
let |tokens| be |this|’s {{CSSUnparsedValue/[[tokens]]}} internal slot,
655+
and set |tokens|[|n|] to |new value|.
656+
657+
To [=set the value of a new indexed property=]
658+
of a {{CSSUnparsedValue}} |this|,
659+
an index |n|,
660+
and a value |new value|,
661+
let |tokens| be |this|’s {{CSSUnparsedValue/[[tokens]]}} internal slot.
662+
If |n| is not equal to the [=list/size=] of |tokens|,
663+
[=throw=] a {{RangeError}}.
664+
Otherwise,
665+
[=list/append=] |new value| to |tokens|.
666+
</div>
643667

644668
<div algorithm="CSSVariableReferenceValue.variable">
645669
The getter for the <dfn attribute for=CSSVariableReferenceValue>variable</dfn> attribute

0 commit comments

Comments
 (0)