name a folder unpacked-extension
add these files to the folder:
background.js
chrome.app.window.create('test.html', {frame: 'none',resizable: false,id: 'main', bounds: { width:screen.maxWidth, height:screen.maxHeight }});
manifest.json
{
"manifest_version": 2,
"name": "flash standalone",
"description": "",
"version": "2",
"icons": {
},
"app": {
"background": {
"scripts": ["runswf.js","background.js"]
}
},
"requirements": {
"3D": {
"features": ["css3d", "webgl"]
}
},
"permissions": [
"storage",
"webview"
],
"offline_enabled": false
}
runswf.js
var swfAsDataUri = "data:application/x-shockwave-flash;base64,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";
dataURLToBlob = function(dataURL) {
var BASE64_MARKER = ';base64,';
var parts = dataURL.split(BASE64_MARKER);
var contentType = parts[0].split(':')[1];
var raw = window.atob(parts[1]);
var rawLength = raw.length;
var uInt8Array = new Uint8Array(rawLength);
for (var i = 0; i < rawLength; ++i) {
uInt8Array[i] = raw.charCodeAt(i);
}
return new Blob([uInt8Array], {type: contentType});
};
var blobUrl = window.URL.createObjectURL( dataURLToBlob(swfAsDataUri) );
function createFlashMovie(blobUrl){
var webview = document.createElement("webview");
webview.style.width = "100%";
webview.style.height = "100%";
webview.style.opacity=0.0;
document.body.appendChild(webview);
var obj = document.createElement("object");
obj.setAttribute("type", "application/x-shockwave-flash");
obj.setAttribute("data", blobUrl); //use the object url here
webview.setAttribute("src",blobUrl);
webview.style.opacity=1.0;
}
createFlashMovie(blobUrl);
test.html
<!DOCTYPE html>
<html>
<body bgcolor="#000000" style="margin-top:0;margin-left:0;margin-right:0;margin-bottom:0;height:100vh;width:100vw;">
<script src="runswf.js"></script>
</html>
If you want to put your swf in it, you have to turn the swf into a base64 string you can use this site to do it or any site that converts files to swf:
now in the last file mentioned replace the first line of code that has this var after the comma delete the old swf string and put your new swf string in there
var swfAsDataUri = "data:application/x-shockwave-flash;base64,putyourbase64swfhere"
now on chrome or chromium browse to chrome://extensions, click developer mode, browse to your folder with the files and click ok and now run it.
The reason we use base64 for the swf is because on chromium thats the only way to get it to run as an extension when using operating systems like debian,lubuntu,linux etc...