package com.akjava.gwt.html5.client.download;
import com.google.gwt.core.client.JavaScriptObject;
/**
* @deprecated
* @author aki
*
*/
public class DownloadBlobBuilder extends JavaScriptObject{
/**
* TODO merge html5 file system
*
* blobbuilder is deprecated
* http://www.w3.org/TR/2012/WD-FileAPI-20120712/#blob
*/
protected DownloadBlobBuilder(){}
public native final void append(String text)/*-{
this.append(text);
}-*/;
/*
*
* come from
* https://groups.google.com/a/chromium.org/forum/?fromgroups#!topic/chromium-html5/WOxmqfDAaqo
* Thanks Eric Bidelman
*/
public native final void appendBase64(String dataURI)/*-{
var BASE64_MARKER = ';base64,';
var base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length;
var base64 = dataURI.substring(base64Index);
var raw = $wnd.atob(base64);
var rawLength = raw.length;
var uInt8Array = new $wnd.Uint8Array(rawLength);
for (var i = 0; i < rawLength; ++i) {
uInt8Array[i] = raw.charCodeAt(i);
}
this.append(uInt8Array.buffer);
}-*/;
//TODO create Blob class
public native final JavaScriptObject getBlob(String mimeType)/*-{
return this.getBlob(mimeType);
}-*/;
}