Web/API/HTMLCanvasElement/mozFetchAsStream

From Get docs

ObsoleteThis feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.


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.

Syntax

void canvas.mozFetchAsStream(callback, type);

Parameters

callback
An nsIInputStreamCallback.
type Optional
A DOMString indicating the image format. The default type is image/png.

Return value

None.

Examples

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.beginPath();
ctx.moveTo(d / 2, 0);
ctx.lineTo(d, d);
ctx.lineTo(0, d);
ctx.closePath();
ctx.fillStyle = 'yellow';
ctx.fill();

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

var mfasCallback = function(iconName) {
    return function(inStream) {
       var file = FileUtils.getFile('Desk', [iconName + '.ico']);
       var outStream = FileUtils.openFileOutputStream(file);
       Cu.import('resource://gre/modules/NetUtil.jsm');
       NetUtil.asyncCopy(inStream, outStream, netutilCallback());
    }
}

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

Specifications

Not part of any specification.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet

mozFetchAsStream

Deprecated'Non-standard'

Chrome

No support No

Edge

No support No

Firefox

No support 13 — 43

IE

No support No

Opera

No support No

Safari

No support No

WebView Android

No support No

Chrome Android

No support No

Firefox Android

No support No

Opera Android

No support No

Safari iOS

No support No

Samsung Internet Android

No support No

Legend

No support  
No support
Non-standard. Expect poor cross-browser support.'
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.'
Deprecated. Not for use in new websites.


See also