w3c / css-houdini-drafts

Mirror of https://hg.css-houdini.org/drafts
https://drafts.css-houdini.org/
Other
1.84k stars 141 forks source link

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

Open weinig opened 2 weeks ago

weinig commented 2 weeks ago

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?