Overview
| Comment: | More work Duktape-based chrome-alike environment |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
d73ab988adc8175b6bc1e0253027a5b4 |
| User & Date: | rkeene on 2019-06-12 19:39:48 |
| Other Links: | manifest | tags |
Context
|
2019-06-12
| ||
| 19:40 | Tcl-based interface to JS SSH Agent check-in: 7ef094be65 user: rkeene tags: trunk | |
| 19:39 | More work Duktape-based chrome-alike environment check-in: d73ab988ad user: rkeene tags: trunk | |
| 19:38 | Handle converting from buffers which cannot be converted to byte arrays check-in: af11332c35 user: rkeene tags: trunk | |
Changes
Modified build/tcl/chrome-emu.js from [cfc05731e7] to [37c439b24d].
1 |
| > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > > | > > > > > | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
console = {};
console._formatArgs = function(argInfo) {
var idx, outArray;
var arg;
idx = 0;
outArray = [];
for (idx = 0; idx < argInfo.length; idx++) {
arg = argInfo[idx];
if (typeof(arg) === 'string' || typeof(arg) === 'number') {
outArray.push(arg);
} else if (typeof(arg) === 'undefined') {
outArray.push("<undefined>");
} else if (arg === null) {
outArray.push("<null>");
} else {
outArray.push(JSON.stringify(arg));
}
}
return(outArray.join(' '));
}
console.log = function() {
runtime.puts("CON> " + console._formatArgs(arguments));
}
console.error = function(message) {
runtime.puts(runtime.stderr, "ERR> " + console._formatArgs(arguments));
return;
}
console.debug = function(message) {
runtime.puts(runtime.stderr, "DBG> " + console._formatArgs(arguments));
return;
}
if (!Array.from) {
Array.from = function(source) {
var result, idx;
result = new Array(source.length);
for (idx = 0; idx < source.length; idx++) {
result[idx] = source[idx];
}
return(result);
}
}
if (!Array.prototype.slice) {
Array.prototype.slice = function(start) {
var result, idx, outIdx;
result = [];
outIdx = 0;
for (idx = start; idx < this.length; idx++) {
result[outIdx] = this[idx];
outIdx++;
}
return(result);
}
}
if (!String.prototype.padStart) {
String.prototype.padStart = function(len, char) {
if (this.length >= len) {
return(this);
}
return((char + this).padStart(len, char))
}
}
if (!RegExp.prototype.compile) {
RegExp.prototype.compile = function() {
return;
};
}
if (!Uint8Array.prototype.forEach) {
Uint8Array.prototype.forEach = function(callback) {
var idx;
for (idx = 0; idx < this.length; idx++) {
callback(this[idx]);
}
}
}
if (!Uint8Array.prototype.map) {
Uint8Array.prototype.map = function(callback) {
var result, idx;
result = [];
for (idx = 0; idx < this.length; idx++) {
result.push(callback(this[idx]));
}
return(result);
}
}
navigator = {
userAgent: ""
};
crypto = {
subtle: {
digest: function(hash, data) {
var bufferData;
bufferData = new Buffer(data);
return(crypto.subtle.digest.internal(hash, bufferData));
}
}
};
chrome = {
runtime: {
connectCallbacks: [],
onConnectExternal: {
addListener: function(callback) {
if (!callback) {
return;
|
| ︙ | ︙ | |||
22 23 24 25 26 27 28 | return; } chrome.runtime.connectCallbacks.splice(idx, 1); } } } | > | > > > > > | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
return;
}
chrome.runtime.connectCallbacks.splice(idx, 1);
}
}
}
};
chrome.runtime.externalConnect = function(data) {
chrome.runtime.connectCallbacks.forEach(function(callback) {
callback(data);
});
};
|