Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

The HTMLCanvasElement.mozFetchAsStream() internal method used to create a new input stream that, when ready, would provide the contents of the canvas as image data. However, this non-standard and internal method has been removed.


void canvas.mozFetchAsStream(callback, type);



An nsIInputStreamCallback.

type Optional

A DOMString indicating the image format. The default type is image/png.

Return value



Save to disk with mozFetchAsStream (Chrome context only)

This technique also converts it to ico, however it will not work in Windows XP as WinXP cannot convert from PNG to ICO. It saves to the desktop it uses FileUtils.jsm. Also uses NetUtil.jsm

var canvas = document.getElementById('canvas');
var d = canvas.width;
ctx = canvas.getContext('2d');
ctx.moveTo(d / 2, 0);
ctx.lineTo(d, d);
ctx.lineTo(0, d);
ctx.fillStyle = 'yellow';

var netutilCallback = function() {
    return function(result) {
       if (!Components.isSuccessCode(result)) {
          alert('FAILED to create icon');
       } else {
           alert('successfully made');

var mfasCallback = function(iconName) {
    return function(inStream) {
       var file = FileUtils.getFile('Desk', [iconName + '.ico']);
       var outStream = FileUtils.openFileOutputStream(file);
       NetUtil.asyncCopy(inStream, outStream, netutilCallback());

canvas.mozFetchAsStream(mfasCallback('myIcon'), 'image/');


Not part of any specification.

Browser compatibility

BCD tables only load in the browser

See also