Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 "use strict";
3 function parseArgs() {
4 var query = window.location.search.substring(1);
6 var split = query.split("&");
8 var args = {}
9 for (var i = 0; i < split.length; i++) {
10 var pair = split[i].split("=");
12 var key = pair[0];
13 var value = true;
14 if (pair.length >= 2) {
15 eval("value = " + decodeURIComponent(pair[1]) + ";");
16 }
18 args[key] = value;
19 }
21 return args;
22 }
24 var gArgs = null;
25 function arg(key) {
26 if (gArgs === null) {
27 gArgs = parseArgs();
28 }
30 var ret = gArgs[key];
31 if (ret === undefined)
32 ret = false;
34 return ret;
35 }
37 function initGL(canvas) {
38 if (arg("nogl"))
39 return null;
41 var gl = null;
43 var withAA = arg("aa");
44 var withAlpha = arg("alpha");
45 var withDepth = arg("depth");
46 var withPremult = arg("premult");
47 var withPreserve = arg("preserve");
48 var withStencil = arg("stencil");
50 try {
51 var argDict = {
52 alpha: withAlpha,
53 depth: withDepth,
54 stencil: withStencil,
55 antialias: withAA,
56 premultipliedAlpha: withPremult,
57 preserveDrawingBuffer: withPreserve,
58 };
59 gl = canvas.getContext("experimental-webgl", argDict);
60 } catch(e) {}
62 return gl;
63 }
65 function rAF(func) {
66 var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame;
67 raf(func);
68 }
70 var MAX_WAIT_FOR_COMPOSITE_DELAY_MS = 500;
72 function waitForComposite(func) {
73 var isDone = false;
74 var doneFunc = function () {
75 if (isDone)
76 return;
77 isDone = true;
78 func();
79 };
81 rAF(doneFunc);
82 setTimeout(doneFunc, MAX_WAIT_FOR_COMPOSITE_DELAY_MS);
83 }