Confirmed users, Bureaucrats and Sysops emeriti
419
edits
(→To-do) |
(→To-do) |
||
| Line 18: | Line 18: | ||
# Add <code>JSTrustLabel</code> to the JS API, a union of <code>JSPrincipals</code> (trust labels replace principals) | # Add <code>JSTrustLabel</code> to the JS API, a union of <code>JSPrincipals</code> (trust labels replace principals) | ||
# Have shapes imply trust labels so that distinct origins get different shapes for standard objects, equivalent property list patterns, etc. | # Have [https://developer.mozilla.org/En/SpiderMonkey/Internals/Property_cache#Shape shapes] imply trust labels so that distinct origins get different shapes for standard objects, equivalent property list patterns, etc. | ||
# Extend <code>JSExtendedClass</code> to delegate <code>typeof</code> so we can build <code>LabeledPrimitiveValue</code> wrappers for primitives | # Extend <code>JSExtendedClass</code> to delegate <code>typeof</code> so we can build <code>LabeledPrimitiveValue</code> wrappers for primitives | ||
## Also need to rebox results of all primitive operators, e.g. <code>-x</code> for <code>x = new LabeledPrimitiveValue(42)</code> should be a <code>LabeledPrimitiveValue</code> instance, not the number <code>-42</code> | ## Also need to rebox results of all primitive operators, e.g. <code>-x</code> for <code>x = new LabeledPrimitiveValue(42)</code> should be a <code>LabeledPrimitiveValue</code> instance, not the number <code>-42</code> | ||