-
Notifications
You must be signed in to change notification settings - Fork 27.9k
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
Remove usage of custom marshaller #40169
Comments
alexdima
added a commit
that referenced
this issue
Dec 13, 2017
alexdima
added a commit
that referenced
this issue
Dec 13, 2017
jrieken
added a commit
that referenced
this issue
Dec 13, 2017
alexdima
added a commit
that referenced
this issue
Dec 13, 2017
jrieken
added a commit
that referenced
this issue
Dec 13, 2017
jrieken
added a commit
that referenced
this issue
Dec 13, 2017
jrieken
added a commit
that referenced
this issue
Dec 13, 2017
jrieken
added a commit
that referenced
this issue
Dec 14, 2017
jrieken
added a commit
that referenced
this issue
Dec 14, 2017
jrieken
added a commit
that referenced
this issue
Dec 14, 2017
jrieken
added a commit
that referenced
this issue
Dec 14, 2017
alexdima
added a commit
that referenced
this issue
Dec 14, 2017
jrieken
added a commit
that referenced
this issue
Dec 14, 2017
jrieken
added a commit
that referenced
this issue
Dec 14, 2017
weinand
added a commit
that referenced
this issue
Dec 14, 2017
sandy081
added a commit
that referenced
this issue
Dec 15, 2017
alexdima
added a commit
that referenced
this issue
Dec 15, 2017
sandy081
added a commit
that referenced
this issue
Dec 15, 2017
jrieken
added a commit
that referenced
this issue
Dec 15, 2017
alexdima
added a commit
that referenced
this issue
Jan 24, 2018
alexdima
added a commit
that referenced
this issue
Jan 24, 2018
Done and support removed. |
@alexandrudima thanks ! |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
tl;dr - You shall not use
URI
in signatures or the types referenced fromextHost.protocol.ts
anymore. UseUriComponents
andURI.revive
insteadWe use a custom marshaller in the extension host <-> renderer communication layer. It treats
URI
andRegExp
specially, and makes them like JSON primitive types. This is helpful, for example, when passing an argument of typeURI
over the wire, you know for a fact that on the receiving side, the object is an instance of URI.However, this is expensive, as it needs to run on each and every object sent over the wire, in a deep, recursive manner. It is very easy to avoid using the custom marshaller, simply replace the usage of
URI
withUriComponents
which is JSON friendly (an interface without methods). Then, in the implementation, you can useURI.revive(...)
to get back a realURI
.For
RegExp
objects (extremely rare usage), you're gonna have to roll your own strategy.All edits should result in removing
ProxyType.CustomMarshaller
from the proxies defined inextHost.protocol.ts
.See b64355b for an example adoption
Remaining: 12 out of 49:
The text was updated successfully, but these errors were encountered: