To aid iteration on a good solution, let's re-land the non-named-getter based, implementation of CSSStyleDeclaration back into WebCore, but behind a compile time flag for now, to avoid the compile time and binary size regressions (see https://bugs.webkit.org/show_bug.cgi?id=217623). Once we improve remove the regressions, we can turn it on.
Created attachment 421755 [details] Patch
Created attachment 421756 [details] JSCSSStyleDeclaration.h (if you disable the legacy flag)
Created attachment 421757 [details] JSCSSStyleDeclaration.cpp (if you disable the legacy flag)
Created attachment 421758 [details] Patch
Created attachment 421759 [details] Patch
Created attachment 421764 [details] Patch
The patch is essentially identical to the previous one which Darin reviewed with the following exceptions: - Disabled behind a ENABLE flag. - A little simpler due to no longer having the pixel/pos/css prefixes to deal with. - Has a bindings test. - Does not remove old, named getter/setter based code.
Looks like IDL preprocessing is maybe not a thing on windows :(. We really need to remove that port if no one is going to work on it :(
Maybe I can work around it by reversing the meaning of the ifdef?
Created attachment 421786 [details] Patch
Committed r273688: <https://commits.webkit.org/r273688> All reviewed patches have been landed. Closing bug and clearing flags on attachment 421786 [details].
<rdar://problem/74887863>