(Although HTMLDocument.all is already removed from the spec,) it is expected to behave as a [Replaceable] attribute. By adding a [Replaceable] IDL attribute, we can remove custom implementation of HTMLDocument.all.
Created attachment 191057 [details] Patch
Comment on attachment 191057 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=191057&action=review > Source/WebCore/ChangeLog:14 > + I confimed that exactly the same code is generated for .all getter > + and setter. Really! Wow, I had no idea. Do all Replaceable attributes call ForceSet?
Comment on attachment 191057 [details] Patch Sorry, misclick.
Committed r144591: <http://trac.webkit.org/changeset/144591>
(In reply to comment #2) > (From update of attachment 191057 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=191057&action=review > > > Source/WebCore/ChangeLog:14 > > + I confimed that exactly the same code is generated for .all getter > > + and setter. > > Really! Wow, I had no idea. Do all Replaceable attributes call ForceSet? Yes. All non-custom replaceable setters call info.This()->ForceSet(). 'info.This()->' makes sense because replaceable attributes have to be set on DOM instances (not prototype objects). On the other hand, I have no idea why we need to call ForceSet() instead of Set().