-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update structured cloning for recent changes to HTML #1810
Conversation
This seems unlikely to be correct, as it references a specification that has known bugs in the area of serialization and cloning. |
Aha, I assumed the spec was decent given it is a Recommendation. [Update] Is html 5.3 any better? |
No. The root problem is that the editors of that specification seem to copy our work (in the HTML Standard) blindly and incompletely, which leads to lots of bugs. |
Could you say more about what the bugs are so we can decide if we can use this in WebRTC. |
I'm sorry, I'm not in the business of helping specs add buggy dependencies that browsers cannot feasibly ship. I would suggest not using this in Web RTC, and instead using my original pull request, which depends on the actual maintained definition of structured cloning that is implemented in browsers. |
Updated, now identical to @domenic's original PR. Perhaps we should use that one instead and close this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM as far as the references go. This would be more compact with Bikeshed, but I think you knew that :)
As for why it matters, the HTML Living Standard is the one we consider "authoritative" in Blink, i.e. we try to match it or fix it when it's wrong. It's also what people working in web-platform-tests will need to look at, since it's the most upstream and well maintained. |
@domenic can you take a look now? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, thanks!
webrtc.html
Outdated
|
||
<li>Set <var>serialized</var>.[[\certificate]] to | ||
a copy of the unstructured binary data in | ||
<var>value</var>.[[<a>certificate</a>]].</li> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's [[Certificate]] with upper-case 'C' right? Also, we probably want <var>value</var>.[[\Certificate]]
. Otherwise I see squiggly red underlines in the spec.
webrtc.html
Outdated
a copy of the unstructured binary data in | ||
<var>value</var>.[[<a>certificate</a>]].</li> | ||
|
||
<li>Set <var>serialized</var>.[[\handle]] be a serialization of the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/handle/KeyingMaterial/ ?
I need to look into your comments @jan-ivar |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With possible nit.
|
||
<ol> | ||
<li>Initialize <var>value</var>'s <code>expires</code> attribute to | ||
contain <var>serialized</var>.[[\Expires]].</li> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: Should we link these slots as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think that is necessary - the definition is like 10 lines before. WDYT?
I think this one is ready. However we should probably hold off merging until we've issued a new CR (if we do that anytime soon). |
Fixes #1089 (eventually, perhaps).
Do not merge - not ready (respec errors among other things).
@domenic PTAL.
Preview | Diff