User:Roc/WorkerCanvasProposal: Difference between revisions
< User:Roc
Jump to navigation
Jump to search
(Created page with "== WebIDL == [Constructor(unsigned long width, unsigned long height)] interface WorkerCanvas { readonly attribute unsigned long width; readonly attribute unsigned lon...") |
(→WebIDL) |
||
| Line 10: | Line 10: | ||
ImageBitmap transferToImageBitmap(); | ImageBitmap transferToImageBitmap(); | ||
}; | }; | ||
partial interface RenderingContext { | partial interface RenderingContext { | ||
void commit(); | void commit(); | ||
}; | }; | ||
WorkerCanvas implements Transferable; | WorkerCanvas implements Transferable; | ||
partial interface HTMLCanvasElement { | partial interface HTMLCanvasElement { | ||
WorkerCanvas transferControlToWorker(); | WorkerCanvas transferControlToWorker(); | ||
Revision as of 22:53, 17 October 2013
WebIDL
[Constructor(unsigned long width, unsigned long height)]
interface WorkerCanvas {
readonly attribute unsigned long width;
readonly attribute unsigned long height;
void resize(unsigned long width, unsigned long height);
RenderingContext? getContext(DOMString contextId, any... arguments);
void toBlob(FileCallback? _callback, optional DOMString type, any... arguments);
ImageBitmap transferToImageBitmap();
};
partial interface RenderingContext {
void commit();
};
WorkerCanvas implements Transferable;
partial interface HTMLCanvasElement {
WorkerCanvas transferControlToWorker();
};
Spec changes
Structured clone of ImageBitmaps has to be defined; since they're immutable, it's straightforward. The implementation can share the underlying buffer data across threads. ImageBitmaps can also represent the results of deferred rendering of a list of drawing commands.