The prior specification for adoptedStyleSheets used a FrozenArray backing array. The spec was recently changed, so that the backing array is an ObservableArray. This makes the API easier to use and understand, since it is a true mutable JS array object. For example, normal array operations such as adoptedStyleSheets.push(sheet) can be used.
The previous FrozenArray implementation of adoptedStyleSheets was quite unwieldy. For example, to add a sheet, the entire array must be re-assigned: document.adoptedStyleSheets = [...adoptedStyleSheets, newSheet]; With the new ObservableArray type, normal JS array mutations can be used instead: document.adoptedStyleSheets.push(newSheet); As specified and implemented, this change should be backwards compatible with the previous FrozenArray implementation. It will be an observable change, however.
Final published standard: Recommendation, Living Standard, Candidate Recommendation, or similar final form
Status in Chromium
Enabled by default
Consensus & Standardization
Search tagsadoptedStyleSheets, ObservableArray,
Last updated on 2022-01-21