Skip to content

Instantly share code, notes, and snippets.

View yurydelendik's full-sized avatar

Yury Delendik yurydelendik

View GitHub Profile
@yurydelendik
yurydelendik / jscbin.diff
Created December 12, 2014 15:18
Adds readBinaryFile to jsc
Index: jsc.cpp
===================================================================
--- jsc.cpp (revision 177145)
+++ jsc.cpp (working copy)
@@ -34,6 +34,7 @@
#include "Interpreter.h"
#include "JSArray.h"
#include "JSArrayBuffer.h"
+#include "JSArrayBufferConstructor.h"
#include "JSCInlines.h"
@yurydelendik
yurydelendik / APNGBuilder.js
Created November 12, 2014 17:36
APNG builder from canvas
var APNGBuilder = (function () {
function convertImageToByteArray(canvas) {
var url = canvas.toDataURL('image/png');
var i = url.indexOf('base64,');
if (i < 0) {
throw new Error('invalid image url');
}
var data = atob(url.substring(i + 7));
var arr = new Uint8Array(data.length);
for (var i = 0; i < data.length; i++) {
@yurydelendik
yurydelendik / e10s-shu.diff
Created November 10, 2014 18:53
e10s shumway fix
diff --git a/browser/components/nsBrowserGlue.js b/browser/components/nsBrowserGlue.js
--- a/browser/components/nsBrowserGlue.js
+++ b/browser/components/nsBrowserGlue.js
@@ -580,19 +580,16 @@ BrowserGlue.prototype = {
NewTabUtils.init();
DirectoryLinksProvider.init();
NewTabUtils.links.addProvider(DirectoryLinksProvider);
#ifdef NIGHTLY_BUILD
if (Services.prefs.getBoolPref("dom.identity.enabled")) {
SignInToWebsiteUX.init();
<!DOCTYPE html>
<!--
Copyright 2012 Mozilla Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
<canvas id="c" width="600" height="400" style="width: 600px; height: 400px"></canvas>
<script>
var c = document.getElementById('c');
var devicePixelRatio = window.devicePixelRatio || 1;
var backingStoreRatio = 1;
var ratio = 1;
if (devicePixelRatio !== backingStoreRatio) {
ratio = devicePixelRatio / backingStoreRatio;
c.width *= ratio;
c.height *= ratio;
// http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf
var UNIVERSAL_TAG_CLASS = 0;
var EOC_TAG = 0;
var BOOLEAN_TAG = 1;
var INTEGER_TAG = 2;
var NULL_TAG = 5;
var OBJECT_ID_TAG = 6;
var RELATIVE_OBJECT_ID_TAG = 13;
var PRINTABLE_STRING_TAG = 19;
@yurydelendik
yurydelendik / functions4
Created August 2, 2014 15:40
FunctionType 4 usage
<<
/FunctionType 4
/Length 179
/Range [0 1 0 1 0 1 0 1]
/Domain [0 1]
>>
stream
{ 0 0 0 0 5 4 roll 0 index 3 -1 roll add 2 1 roll pop dup 1 gt { pop 1 } if 4 1 roll dup 1 gt { pop 1 } if 4 1 roll dup 1 gt { pop 1 } if 4 1 roll dup 1 gt { pop 1 } if 4 1 roll }
endstream
<<
var dumpImage = (function() {
var crcTable = [];
for (var i = 0; i < 256; i++) {
var c = i;
for (var h = 0; h < 8; h++) {
if (c & 1)
c = 0xedB88320 ^ ((c >> 1) & 0x7fffffff);
else
c = (c >> 1) & 0x7fffffff;
}
@yurydelendik
yurydelendik / getpdftext.js
Last active September 22, 2017 06:40
PDF.js bookmarklet
var next = Promise.resolve();
var content = [];
for (var i = 1; i <= PDFView.pdfDocument.numPages; i++) {
next = next.then(function (pageNum) {
return PDFView.pdfDocument.getPage(pageNum).then(function (page) {
return page.getTextContent().then(function (tc) {
content.push((tc.items || tc).map(function (x) { return x.str; }).join(' '));
});
});
}.bind(null, i));
@yurydelendik
yurydelendik / overview.html
Created May 10, 2014 01:42
Renders all pages at once
<!doctype html>
<html>
<head>
<!-- In production, only one script (pdf.js) is necessary -->
<!-- In production, change the content of PDFJS.workerSrc below -->
<script type="text/javascript" src="../../src/shared/util.js"></script>
<script type="text/javascript" src="../../src/shared/colorspace.js"></script>
<script type="text/javascript" src="../../src/shared/function.js"></script>
<script type="text/javascript" src="../../src/shared/annotation.js"></script>