User:Roc/WorkerCanvasProposal: Difference between revisions

From MozillaWiki
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...")
 
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.