JavaScript/HandlingThreads

From MozillaWiki
< JavaScript
Revision as of 22:42, 16 November 2010 by Sayrer (talk | contribs)
Jump to navigation Jump to search

In Firefox 4, JS extensions using nsIThread.dispatch won't work the same way they have in the past. The purpose of this page is to document the design choices we have, so we can get to a decision, late though it may be.

Here are the choices we have. We can pick more than one.

MT Proxies

Description

Advantages

Disadvantages

ChromeWorkers w/ usable Constructor

Description

Advantages

Disadvantages

Nothing

Description

Advantages

Disadvantages

Environment cloning

Description

Advantages

Disadvantages

Structured cloning with WrappedNative sharing

Description

In addition to chrome workers with a working constructor, we could add support for structured cloning of wrapped natives.

Advantages

This would allow a programming style that is more similar to what worked before with Thread.dispatch. Thread-safe C++ objects could be sent across to a different thread using postMessage and then operated on there.

Disadvantages

Implementation cost.


Example Users

Yoono FireFTP Mozmill + IPC library (the actual IPC library doesn't yet work with Fx4, may not be important)