css-houdini-drafts icon indicating copy to clipboard operation
css-houdini-drafts copied to clipboard

[css-typed-om] Clarification on the behavior of StylePropertyMapReadOnly.get() (disagreement between spec and WPT)

Open weinig opened this issue 1 year ago • 0 comments

The current CSS Typed OM spec specifies StylePropertyMapReadOnly's get() as:

(undefined or CSSStyleValue) get(USVString property);

However, the WTP tests for this all seem to expect null to be the return value when property is not in a rule. For example, in this test, https://github.com/web-platform-tests/wpt/blob/b6027abc9f/css/css-typed-om/the-stylepropertymap/declared/get.html#L14, the first test case is:

test(t => {
  const styleMap = createDeclaredStyleMap(t, '--foo: auto');
  assert_equals(styleMap.get('--Foo'), null);
}, 'Getting a custom property not in the CSS rule returns null');

It seems both Safari and Chrome implement this as returning null, not undefined. Should the spec change? Or should the tests (and implementations) update?

weinig avatar Nov 13 '24 18:11 weinig