Yes, absolutely.
I'll file a bug for this.

On Tue, Sep 8, 2015 at 7:11 PM, Bobby Holley <bobbyhol...@gmail.com> wrote:

> Awesome, thanks for working to unify this stuff baku!
>
> Can this stuff be applied to StackScopedClone (used by Cu.cloneInto etc),
> which currently does this stuff manually in ExportHelpers.cpp?
>
> On Fri, Sep 4, 2015 at 1:12 AM, Andrea Marchesini <amarches...@mozilla.com
> > wrote:
>
>> Hi all,
>>
>> In these days I landed quite a few patches to replace the use of
>> JSAutoStructuredCloneBuffer with something "better":
>> StructuredCloneHelper.
>>
>> First of all, the reasons why I did it, are:
>>
>> 1. we had many postMessage() methods fully out of sync in terms of which
>> clonable/transferable objects we were supporting. Now MessagePort,
>> BroadcastChannel, window and worker and (partially) IPC share the same
>> code
>> base.
>>
>> 2. We had several regressions about memory management of
>> clonable/transferrable objects. At least now we have only 1 code base to
>> maintain and fix.
>>
>> How it works:
>>
>> 1. StructuredCloneHelperInternal is base class that uses
>> JSAutoStructuredCloneBuffer internally and exposes the
>> JSStructuredCloneCallbacks as virtual methods.
>> For some custom use of JSAutoStructuredCloneBuffer (like Console API in
>> workers or PromiseWorkerProxy  - bug 1198814) you can use this class.
>>
>> 2. Probably what you really want to use is StructuredCloneHelper. In its
>> CTOR you must decide if:
>> a. you want to support the cloning of DOM objects (such as Blob, FileList,
>> ImageData, FormData, etc...): CloningSupported/CloningNotSupported
>> b. if you want to support the transferring of DOM objects (currently only
>> MessagePort): TransferringSupported/TransferringNotSupported
>> c. what is the most generic context where the "Read" could run. Here we
>> have 3 options: SameProcessSameThread (window to window for instance),
>> SameProcessDifferentThread (window to worker), DifferentProcess
>> (MessagePort? ipc? all that stuff).
>>
>> 3. For IPC communication we have a particular class:
>> StructuredCloneIPCHelper.
>>
>> Next steps:
>>
>> I'm currently (on vacation, but) working on another step: I want to remove
>> JSAutoStructuredCloneBuffer, OwningSerializedStructuredCloneBuffer and
>> SerializedStructuredCloneBuffer from IPC serialization. Bug: 1201806.
>> Please, avoid the use of JSAutoStructuredCloneBuffer in DOM tree. And if
>> you have a particular use-cases where StructuredCloneHelper doesn't work,
>> let me know and we can find a solution.
>>
>> b
>> _______________________________________________
>> dev-platform mailing list
>> dev-platform@lists.mozilla.org
>> https://lists.mozilla.org/listinfo/dev-platform
>>
>
>
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to