Spec url : http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-clonenode
Created attachment 127561 [details] proposed patch Proposed patch.
See also : https://bugzilla.mozilla.org/show_bug.cgi?id=698381
In WebKit, the argument is already optional, so the bug title is confusing. Is the part in parentheses what you are actually changing here? Unlike for Mozilla, defaulting to true changes behavior to exact opposite of what we had. Can the spec be fixed to match long-standing WebKit behavior instead?
Comment on attachment 127561 [details] proposed patch We should ask for the spec to change to our existing behavior.
Testing: IE10 Developer Preview and Chrome 18 dev default to false. Firefox 13.0a1 and Opera Next 12.00 alpha throw exceptions due to too few arguments. So false is correct. I've updated the spec: http://dvcs.w3.org/hg/domcore/rev/f2d97e6f5cf1 Thanks for the feedback.
Thank you. This renders the bug invalid.
Anne and Ms2ger objected to my spec change, so I reverted it. I started a thread on www-dom. Implementer feedback would be highly appreciated: http://lists.w3.org/Archives/Public/www-dom/2012JanMar/0084.html
Feedback sent. We should consider diverging from DOM 4 even if it ends up specifying different behavior.
*** Bug 86377 has been marked as a duplicate of this bug. ***
Blink changed its behavior in https://chromium.googlesource.com/chromium/blink/+/76c4cbdf9823988c787f3625365e2f25a325a172.
Crazy. What is the value of specs if they can be changed to no longer match implementations, all for purely aesthetic reasons?
(In reply to comment #11) > Crazy. What is the value of specs if they can be changed to no longer match implementations, all for purely aesthetic reasons? Matches Firefox behavior now.
It does now after a Firefox change. But WebKit was 100% compliant before, and Firefox wasn't compliant with either spec version.
100% compliant seems dubious given that the argument was only recently made optional in the specification. That WebKit would simply use undefined as an implicit default everywhere was unfortunate, but given that nobody else did that I don't think we should have automatically accepted that as precedent as it's pretty bad API-wise.
Anne, I think that you are talking about implementation details here. Observable behavior is that behavior of cloneNode() in WebKit was and remains compliant to DOM3, and DOM4 was written to specify something that did not match any browser.
Whether your throw or not for omitted non-optional arguments is not an implementation detail. Before Web IDL bindings were badly defined, but that does not mean that how WebKit decided to the bindings needs to be the standard. If you think it should be, I hope you understand this is the wrong forum.
See https://github.com/whatwg/dom/commit/70fdc5f9030c22c5ceca9e875e06f8b305529ef8 Sadness.