Commit a3b39a44 authored by wangmingming's avatar wangmingming

7777

parent 8f1c663b
......@@ -63,12 +63,15 @@ let sss = [{
"fillStyle": "#000000",
"fillText": ["⛎", -1, 96],
"imageData": [62, 28, 1, 1]
}]
}
]
let imgRes = {};
for (let i = 0; i < sss.length; i++) {
var a = document.createElement('canvas')
a.width = 96
a.height = 96
let ctx = a.getContext('2d');
let s = sss[i];
ctx.font = s.font;
......
......@@ -59,9 +59,9 @@ var v_saf;
}();
const jsdom = require("./jsdom");
const path = require("ghost-cursor").path;
const {
Worker, isMainThread, parentPort, workerData
} = require('worker_threads');
// const {
// Worker, isMainThread, parentPort, workerData
// } = require('worker_threads');
const crypto = require("crypto"); // 引入 jsdom
var _random = Math.random
......@@ -503,7 +503,7 @@ const dom = new JSDOM(`
window = dom.window;
class CanvasRenderingContext2D {
class OffscreenCanvasRenderingContext2D {
imageDatas = {
"18,90,1,1": [214, 122, 6, 255],
......@@ -548,278 +548,278 @@ class CanvasRenderingContext2D {
}
get canvas() {
console.log('CanvasRenderingContext2D.canvas.get')
console.log('CanvasRenderingContext2D22.canvas.get')
}
get globalAlpha() {
console.log('CanvasRenderingContext2D.globalAlpha.get')
console.log('CanvasRenderingContext2D22.globalAlpha.get')
}
set globalAlpha(args) {
console.log('CanvasRenderingContext2D.globalAlpha.set', args)
console.log('CanvasRenderingContext2D22.globalAlpha.set', args)
}
get globalCompositeOperation() {
console.log('CanvasRenderingContext2D.globalCompositeOperation.get')
console.log('CanvasRenderingContext2D22.globalCompositeOperation.get')
}
set globalCompositeOperation(args) {
console.log('CanvasRenderingContext2D.globalCompositeOperation.set', args)
console.log('CanvasRenderingContext2D22.globalCompositeOperation.set', args)
}
get filter() {
console.log('CanvasRenderingContext2D.filter.get')
console.log('CanvasRenderingContext2D22.filter.get')
}
set filter(args) {
console.log('CanvasRenderingContext2D.filter.set', args)
console.log('CanvasRenderingContext2D22.filter.set', args)
}
get imageSmoothingEnabled() {
console.log('CanvasRenderingContext2D.imageSmoothingEnabled.get')
console.log('CanvasRenderingContext2D22.imageSmoothingEnabled.get')
}
set imageSmoothingEnabled(args) {
console.log('CanvasRenderingContext2D.imageSmoothingEnabled.set', args)
console.log('CanvasRenderingContext2D22.imageSmoothingEnabled.set', args)
}
get imageSmoothingQuality() {
console.log('CanvasRenderingContext2D.imageSmoothingQuality.get')
console.log('CanvasRenderingContext2D22.imageSmoothingQuality.get')
}
set imageSmoothingQuality(args) {
console.log('CanvasRenderingContext2D.imageSmoothingQuality.set', args)
console.log('CanvasRenderingContext2D22.imageSmoothingQuality.set', args)
}
get strokeStyle() {
console.log('CanvasRenderingContext2D.strokeStyle.get')
console.log('CanvasRenderingContext2D22.strokeStyle.get')
}
set strokeStyle(args) {
console.log('CanvasRenderingContext2D.strokeStyle.set', args)
console.log('CanvasRenderingContext2D22.strokeStyle.set', args)
return this._context.strokeStyle = args
}
get fillStyle() {
console.log('CanvasRenderingContext2D.fillStyle.get')
console.log('CanvasRenderingContext2D22.fillStyle.get')
}
set fillStyle(args) {
console.log('CanvasRenderingContext2D.fillStyle.set', args)
console.log('CanvasRenderingContext2D22.fillStyle.set', args)
this._context.canvas.fillStyle = args
}
get shadowOffsetX() {
console.log('CanvasRenderingContext2D.shadowOffsetX.get')
console.log('CanvasRenderingContext2D22.shadowOffsetX.get')
}
set shadowOffsetX(args) {
console.log('CanvasRenderingContext2D.shadowOffsetX.set', args)
console.log('CanvasRenderingContext2D22.shadowOffsetX.set', args)
this._context.shadowOffsetX = args
}
get shadowOffsetY() {
console.log('CanvasRenderingContext2D.shadowOffsetY.get')
console.log('CanvasRenderingContext2D22.shadowOffsetY.get')
}
set shadowOffsetY(args) {
console.log('CanvasRenderingContext2D.shadowOffsetY.set', args)
console.log('CanvasRenderingContext2D22.shadowOffsetY.set', args)
this._context.shadowOffsetY = args
}
get shadowBlur() {
console.log('CanvasRenderingContext2D.shadowBlur.get')
console.log('CanvasRenderingContext2D22.shadowBlur.get')
}
set shadowBlur(args) {
console.log('CanvasRenderingContext2D.shadowBlur.set', args)
console.log('CanvasRenderingContext2D22.shadowBlur.set', args)
this._context.shadowBlur = args
}
get shadowColor() {
console.log('CanvasRenderingContext2D.shadowColor.get')
console.log('CanvasRenderingContext2D22.shadowColor.get')
}
set shadowColor(args) {
console.log('CanvasRenderingContext2D.shadowColor.set', args)
console.log('CanvasRenderingContext2D22.shadowColor.set', args)
this._context.shadowColor = args
}
get lineWidth() {
console.log('CanvasRenderingContext2D.lineWidth.get')
console.log('CanvasRenderingContext2D22.lineWidth.get')
}
set lineWidth(args) {
console.log('CanvasRenderingContext2D.lineWidth.set', args)
console.log('CanvasRenderingContext2D22.lineWidth.set', args)
this._context.lineWidth = args;
}
get lineCap() {
console.log('CanvasRenderingContext2D.lineCap.get')
console.log('CanvasRenderingContext2D22.lineCap.get')
}
set lineCap(args) {
console.log('CanvasRenderingContext2D.lineCap.set', args)
console.log('CanvasRenderingContext2D22.lineCap.set', args)
}
get lineJoin() {
console.log('CanvasRenderingContext2D.lineJoin.get')
console.log('CanvasRenderingContext2D22.lineJoin.get')
}
set lineJoin(args) {
console.log('CanvasRenderingContext2D.lineJoin.set', args)
console.log('CanvasRenderingContext2D22.lineJoin.set', args)
}
get miterLimit() {
console.log('CanvasRenderingContext2D.miterLimit.get')
console.log('CanvasRenderingContext2D22.miterLimit.get')
}
set miterLimit(args) {
console.log('CanvasRenderingContext2D.miterLimit.set', args)
console.log('CanvasRenderingContext2D22.miterLimit.set', args)
}
get lineDashOffset() {
console.log('CanvasRenderingContext2D.lineDashOffset.get')
console.log('CanvasRenderingContext2D22.lineDashOffset.get')
}
set lineDashOffset(args) {
console.log('CanvasRenderingContext2D.lineDashOffset.set', args)
console.log('CanvasRenderingContext2D22.lineDashOffset.set', args)
}
get font() {
console.log('CanvasRenderingContext2D.font.get')
console.log('CanvasRenderingContext2D22.font.get')
return this._context.font;
}
get textAlign() {
console.log('CanvasRenderingContext2D.textAlign.get')
console.log('CanvasRenderingContext2D22.textAlign.get')
}
set textAlign(args) {
console.log('CanvasRenderingContext2D.textAlign.set', args)
console.log('CanvasRenderingContext2D22.textAlign.set', args)
}
get textBaseline() {
console.log('CanvasRenderingContext2D.textBaseline.get')
console.log('CanvasRenderingContext2D22.textBaseline.get')
return this._context.textBaseline
}
set textBaseline(args) {
console.log('CanvasRenderingContext2D.textBaseline.set', args)
console.log('CanvasRenderingContext2D22.textBaseline.set', args)
this._context.textBaseline = args
}
get direction() {
console.log('CanvasRenderingContext2D.direction.get')
console.log('CanvasRenderingContext2D22.direction.get')
return this._context.direction;
}
set direction(args) {
console.log('CanvasRenderingContext2D.direction.set', args)
console.log('CanvasRenderingContext2D22.direction.set', args)
this._context.direction = args
}
get fontKerning() {
console.log('CanvasRenderingContext2D.fontKerning.get')
console.log('CanvasRenderingContext2D22.fontKerning.get')
}
set fontKerning(args) {
console.log('CanvasRenderingContext2D.fontKerning.set', args)
console.log('CanvasRenderingContext2D22.fontKerning.set', args)
}
get fontStretch() {
console.log('CanvasRenderingContext2D.fontStretch.get')
console.log('CanvasRenderingContext2D22.fontStretch.get')
}
set fontStretch(args) {
console.log('CanvasRenderingContext2D.fontStretch.set', args)
console.log('CanvasRenderingContext2D22.fontStretch.set', args)
}
get fontVariantCaps() {
console.log('CanvasRenderingContext2D.fontVariantCaps.get')
console.log('CanvasRenderingContext2D22.fontVariantCaps.get')
}
set fontVariantCaps(args) {
console.log('CanvasRenderingContext2D.fontVariantCaps.set', args)
console.log('CanvasRenderingContext2D22.fontVariantCaps.set', args)
}
get letterSpacing() {
console.log('CanvasRenderingContext2D.letterSpacing.get')
console.log('CanvasRenderingContext2D22.letterSpacing.get')
}
set letterSpacing(args) {
console.log('CanvasRenderingContext2D.letterSpacing.set', args)
console.log('CanvasRenderingContext2D22.letterSpacing.set', args)
}
get textRendering() {
console.log('CanvasRenderingContext2D.textRendering.get')
console.log('CanvasRenderingContext2D22.textRendering.get')
}
set textRendering(args) {
console.log('CanvasRenderingContext2D.textRendering.set', args)
console.log('CanvasRenderingContext2D22.textRendering.set', args)
}
get wordSpacing() {
console.log('CanvasRenderingContext2D.wordSpacing.get')
console.log('CanvasRenderingContext2D22.wordSpacing.get')
}
set wordSpacing(args) {
console.log('CanvasRenderingContext2D.wordSpacing.set', args)
console.log('CanvasRenderingContext2D22.wordSpacing.set', args)
}
clip() {
console.log('CanvasRenderingContext2D.clip')
console.log('CanvasRenderingContext2D22.clip')
}
createConicGradient() {
console.log('CanvasRenderingContext2D.createConicGradient')
console.log('CanvasRenderingContext2D22.createConicGradient')
}
createImageData() {
console.log('CanvasRenderingContext2D.createImageData')
console.log('CanvasRenderingContext2D22.createImageData')
}
createLinearGradient() {
console.log('CanvasRenderingContext2D.createLinearGradient')
console.log('CanvasRenderingContext2D22.createLinearGradient')
return this._context.createLinearGradient(...arguments)
}
createPattern() {
console.log('CanvasRenderingContext2D.createPattern')
console.log('CanvasRenderingContext2D22.createPattern')
}
createRadialGradient() {
console.log('CanvasRenderingContext2D.createRadialGradient')
console.log('CanvasRenderingContext2D22.createRadialGradient')
}
drawFocusIfNeeded() {
console.log('CanvasRenderingContext2D.drawFocusIfNeeded')
console.log('CanvasRenderingContext2D22.drawFocusIfNeeded')
}
drawImage() {
console.log('CanvasRenderingContext2D.drawImage')
console.log('CanvasRenderingContext2D22.drawImage')
this._context.drawImage(...arguments)
}
fill() {
console.log('CanvasRenderingContext2D.fill')
console.log('CanvasRenderingContext2D22.fill')
}
fillText() {
console.log('CanvasRenderingContext2D.fillText', ...arguments)
console.log('CanvasRenderingContext2D22.fillText', ...arguments)
this._context.fillText(...arguments)
this._fillText = [arguments[0], arguments[1], arguments[2]]
}
getContextAttributes() {
console.log('CanvasRenderingContext2D.getContextAttributes')
console.log('CanvasRenderingContext2D22.getContextAttributes')
}
getImageData() {
......@@ -839,152 +839,152 @@ class CanvasRenderingContext2D {
res.data[2] = parseInt(tdata[2] * t)
res.data[3] = parseInt(tdata[3] * t)
}
console.log('CanvasRenderingContext2D.getImageData', ...arguments, res)
console.log('CanvasRenderingContext2D22.getImageData', ...arguments, res)
return res
}
getLineDash() {
console.log('CanvasRenderingContext2D.getLineDash')
console.log('CanvasRenderingContext2D22.getLineDash')
}
getTransform() {
console.log('CanvasRenderingContext2D.getTransform')
console.log('CanvasRenderingContext2D22.getTransform')
}
isContextLost() {
console.log('CanvasRenderingContext2D.isContextLost')
console.log('CanvasRenderingContext2D22.isContextLost')
}
isPointInPath() {
console.log('CanvasRenderingContext2D.isPointInPath')
console.log('CanvasRenderingContext2D22.isPointInPath')
}
isPointInStroke() {
console.log('CanvasRenderingContext2D.isPointInStroke')
console.log('CanvasRenderingContext2D22.isPointInStroke')
}
putImageData() {
console.log('CanvasRenderingContext2D.putImageData')
console.log('CanvasRenderingContext2D22.putImageData')
}
reset() {
console.log('CanvasRenderingContext2D.reset')
console.log('CanvasRenderingContext2D22.reset')
}
roundRect() {
console.log('CanvasRenderingContext2D.roundRect')
console.log('CanvasRenderingContext2D22.roundRect')
}
save() {
console.log('CanvasRenderingContext2D.save')
console.log('CanvasRenderingContext2D22.save')
}
scale() {
console.log('CanvasRenderingContext2D.scale')
console.log('CanvasRenderingContext2D22.scale')
}
setLineDash() {
console.log('CanvasRenderingContext2D.setLineDash')
console.log('CanvasRenderingContext2D22.setLineDash')
}
setTransform() {
console.log('CanvasRenderingContext2D.setTransform')
console.log('CanvasRenderingContext2D22.setTransform')
}
stroke() {
console.log('CanvasRenderingContext2D.stroke')
console.log('CanvasRenderingContext2D22.stroke')
this._context.stroke()
}
strokeText() {
console.log('CanvasRenderingContext2D.strokeText')
console.log('CanvasRenderingContext2D22.strokeText')
}
transform() {
console.log('CanvasRenderingContext2D.transform')
console.log('CanvasRenderingContext2D22.transform')
}
translate() {
console.log('CanvasRenderingContext2D.translate')
console.log('CanvasRenderingContext2D22.translate')
}
arc() {
console.log('CanvasRenderingContext2D.arc')
console.log('CanvasRenderingContext2D22.arc')
return this._context.arc(...arguments)
}
arcTo() {
console.log('CanvasRenderingContext2D.arcTo')
console.log('CanvasRenderingContext2D22.arcTo')
}
beginPath() {
console.log('CanvasRenderingContext2D.beginPath')
console.log('CanvasRenderingContext2D22.beginPath')
return this._context.beginPath()
}
bezierCurveTo() {
console.log('CanvasRenderingContext2D.bezierCurveTo')
console.log('CanvasRenderingContext2D22.bezierCurveTo')
}
clearRect() {
console.log('CanvasRenderingContext2D.clearRect')
console.log('CanvasRenderingContext2D22.clearRect')
}
closePath() {
console.log('CanvasRenderingContext2D.closePath')
console.log('CanvasRenderingContext2D22.closePath')
return this._context.closePath(...arguments)
}
ellipse() {
console.log('CanvasRenderingContext2D.ellipse')
console.log('CanvasRenderingContext2D22.ellipse')
}
fillRect() {
console.log('CanvasRenderingContext2D.fillRect')
console.log('CanvasRenderingContext2D22.fillRect')
return this._context.fillRect(...arguments)
}
lineTo() {
console.log('CanvasRenderingContext2D.lineTo')
console.log('CanvasRenderingContext2D22.lineTo')
return this._context.lineTo(...arguments)
}
moveTo() {
console.log('CanvasRenderingContext2D.moveTo')
console.log('CanvasRenderingContext2D22.moveTo')
return this._context.moveTo(...arguments)
}
quadraticCurveTo() {
console.log('CanvasRenderingContext2D.quadraticCurveTo')
console.log('CanvasRenderingContext2D22.quadraticCurveTo')
}
rect() {
console.log('CanvasRenderingContext2D.rect')
console.log('CanvasRenderingContext2D22.rect')
}
resetTransform() {
console.log('CanvasRenderingContext2D.resetTransform')
console.log('CanvasRenderingContext2D22.resetTransform')
}
restore() {
console.log('CanvasRenderingContext2D.restore')
console.log('CanvasRenderingContext2D22.restore')
}
rotate() {
console.log('CanvasRenderingContext2D.rotate')
console.log('CanvasRenderingContext2D22.rotate')
}
strokeRect() {
console.log('CanvasRenderingContext2D.strokeRect')
console.log('CanvasRenderingContext2D22.strokeRect')
}
}
Object.defineProperties(CanvasRenderingContext2D.prototype, {
Object.defineProperties(OffscreenCanvasRenderingContext2D.prototype, {
canvas: {enumerable: true},
globalAlpha: {enumerable: true},
globalCompositeOperation: {enumerable: true},
......@@ -1079,23 +1079,820 @@ var v_saf;
}), u(Function.prototype.toString, "toString"), v_saf = u
}();
let r = {}
Object.keys(Object.getOwnPropertyDescriptors(CanvasRenderingContext2D.prototype)).forEach(e => {
Object.keys(Object.getOwnPropertyDescriptors(OffscreenCanvasRenderingContext2D.prototype)).forEach(e => {
r[e] = {}
if (Object.getOwnPropertyDescriptor(CanvasRenderingContext2D.prototype, e)['value']) {
r[e]['value'] = v_saf(Object.getOwnPropertyDescriptor(CanvasRenderingContext2D.prototype, e)['value'])
if (Object.getOwnPropertyDescriptor(OffscreenCanvasRenderingContext2D.prototype, e)['value']) {
r[e]['value'] = v_saf(Object.getOwnPropertyDescriptor(OffscreenCanvasRenderingContext2D.prototype, e)['value'])
}
if (Object.getOwnPropertyDescriptor(CanvasRenderingContext2D.prototype, e)['get']) {
r[e]['get'] = v_saf(Object.getOwnPropertyDescriptor(CanvasRenderingContext2D.prototype, e)['get'], undefined, 'get ')
if (Object.getOwnPropertyDescriptor(OffscreenCanvasRenderingContext2D.prototype, e)['get']) {
r[e]['get'] = v_saf(Object.getOwnPropertyDescriptor(OffscreenCanvasRenderingContext2D.prototype, e)['get'], undefined, 'get ')
}
if (Object.getOwnPropertyDescriptor(CanvasRenderingContext2D.prototype, e)['set']) {
r[e]['set'] = v_saf(Object.getOwnPropertyDescriptor(CanvasRenderingContext2D.prototype, e)['set'], undefined, 'set ')
if (Object.getOwnPropertyDescriptor(OffscreenCanvasRenderingContext2D.prototype, e)['set']) {
r[e]['set'] = v_saf(Object.getOwnPropertyDescriptor(OffscreenCanvasRenderingContext2D.prototype, e)['set'], undefined, 'set ')
}
r[e]['enumerable'] = true
})
Object.defineProperties(CanvasRenderingContext2D.prototype, r)
Object.defineProperties(OffscreenCanvasRenderingContext2D.prototype, r)
window.OffscreenCanvasRenderingContext2D = OffscreenCanvasRenderingContext2D
window.CanvasRenderingContext2D = OffscreenCanvasRenderingContext2D
var WebGLRenderingContext = class WebGLRenderingContext {
constructor(aaa) {
console.log('new WebGLRenderingContext', aaa)
}
createBuffer() {
v_console_log(' [*] WebGLRenderingContext -> createBuffer[func]');
return v_new(WebGLBuffer)
}
bindBuffer(target, buffer) {
v_console_log(' [*] WebGLRenderingContext -> bindBuffer[func]', target, buffer);
return v_new(WebGLBuffer)
}
getAttribLocation(program, name) {
v_console_log(' [*] WebGLRenderingContext -> getAttribLocation[func]', program, name);
switch (name) {
case 'aPosition':
return 0;
case 'aColor':
return 1;
}
}
vertexAttribPointer(index, size, type, normalized, stride, offset) {
v_console_log(' [*] WebGLRenderingContext -> vertexAttribPointer[func]', index, size, type, normalized, stride, offset);
}
enableVertexAttribArray(index) {
v_console_log(' [*] WebGLRenderingContext -> enableVertexAttribArray[func]', index);
}
useProgram(index) {
v_console_log(' [*] WebGLRenderingContext -> useProgram[func]', index);
}
getUniformLocation(program, name) {
v_console_log(' [*] WebGLRenderingContext -> getUniformLocation[func]', program, name);
return proxy({}, 'getUniformLocation')
}
uniform4fv(program, name) {
v_console_log(' [*] WebGLRenderingContext -> uniform4fv[func]', program, name);
}
drawArrays(mode, first, count) {
v_console_log(' [*] WebGLRenderingContext -> drawArrays[func]', mode, first, count);
}
readPixels(x, y, width, height, format, type, pixels) {
// for (let i = 0; i < pixels.length - 1; i++) {
// pixels.fill(parseInt(Math.random() * 210 + 10), i, i + 1)
// }
v_console_log(' [*] WebGLRenderingContext -> readPixels[func]', x, y, width, height, format, type, pixels)
}
bufferData(target, size, srcData, usage, srcOffSet, length) {
v_console_log(' [*] WebGLRenderingContext -> bufferData[func]', target, size, srcData, usage, srcOffSet, length);
return v_new(WebGLBuffer)
}
createProgram() {
v_console_log(' [*] WebGLRenderingContext -> createProgram[func]');
return v_new(WebGLProgram)
}
createShader(a) {
v_console_log(' [*] WebGLRenderingContext -> createShader[func]', a);
return v_new(WebGLShader)
}
shaderSource(shader, originalSource) {
v_console_log(' [*] WebGLRenderingContext -> shaderSource[func]', shader, originalSource);
this._originalSource = originalSource;
}
compileShader(shader) {
v_console_log(' [*] WebGLRenderingContext -> compileShader[func]', shader);
// this._originalSource = originalSource;
}
getShaderParameter(shader, pname) {
v_console_log(' [*] WebGLRenderingContext -> getShaderParameter[func]', shader, pname);
switch (pname) {
case 35713:
return true;
break;
}
}
attachShader(program, shader) {
v_console_log(' [*] WebGLRenderingContext -> attachShader[func]', program, shader);
}
linkProgram(program, shader) {
v_console_log(' [*] WebGLRenderingContext -> linkProgram[func]', program, shader);
}
getProgramParameter(program, pname) {
v_console_log(' [*] WebGLRenderingContext -> getProgramParameter[func]', program, pname);
if (pname === 35714) {
return true;
}
}
getSupportedExtensions() {
// window.debug = true;
v_console_log(' [*] WebGLRenderingContext -> getSupportedExtensions[func]')
return [
"ANGLE_instanced_arrays", "EXT_blend_minmax", "EXT_color_buffer_half_float", "EXT_disjoint_timer_query", "EXT_float_blend", "EXT_frag_depth",
"EXT_shader_texture_lod", "EXT_texture_compression_bptc", "EXT_texture_compression_rgtc", "EXT_texture_filter_anisotropic", "WEBKIT_EXT_texture_filter_anisotropic", "EXT_sRGB",
"KHR_parallel_shader_compile", "OES_element_index_uint", "OES_fbo_render_mipmap", "OES_standard_derivatives", "OES_texture_float", "OES_texture_float_linear",
"OES_texture_half_float", "OES_texture_half_float_linear", "OES_vertex_array_object", "WEBGL_color_buffer_float", "WEBGL_compressed_texture_s3tc",
"WEBKIT_WEBGL_compressed_texture_s3tc", "WEBGL_compressed_texture_s3tc_srgb", "WEBGL_debug_renderer_info", "WEBGL_debug_shaders",
"WEBGL_depth_texture", "WEBKIT_WEBGL_depth_texture", "WEBGL_draw_buffers", "WEBGL_lose_context", "WEBKIT_WEBGL_lose_context", "WEBGL_multi_draw",
]
}
getExtension(key) {
v_console_log(' [*] WebGLRenderingContext -> getExtension[func]:', key)
class WebGLDebugRendererInfo {
get UNMASKED_VENDOR_WEBGL() {
return 37445
}
get UNMASKED_RENDERER_WEBGL() {
return 37446
}
}
class EXTTextureFilterAnisotropic {
}
class WebGLLoseContext {
loseContext() {
}
restoreContext() {
}
}
if (key == 'WEBGL_debug_renderer_info') {
var r = new WebGLDebugRendererInfo
}
if (key == 'EXT_texture_filter_anisotropic') {
var r = new EXTTextureFilterAnisotropic
}
if (key == 'WEBGL_lose_context') {
var r = new WebGLLoseContext
} else {
var r = new WebGLDebugRendererInfo
}
return proxy(r, 'new ' + key)
}
getParameter(key) {
v_console_log(' [*] WebGLRenderingContext -> getParameter[func]:', key)
let res;
let _toggle = {
3413: 8,
3412: 8,
3411: 8,
3410: 8,
3414: 24,
35661: 32,
34076: 16384,
36349: 1024,
34024: 16384,
34930: 16,
3379: 16384,
36348: 31,
34921: 16,
35660: 16,
36347: 1024,
7937: 'WebKit WebGL',
35724: 'WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)',
3415: 0,
7936: 'WebKit',
7938: 'WebGL 1.0 (OpenGL ES 2.0 Chromium)',
37445: 'Google Inc.',
// 37446: 'ANGLE (Apple, Apple M1 Max, OpenGL 4.1)',
37446: window.GRAPHIC_DRIVER,
34047: null
}
if (_toggle[key]) {
res = _toggle[key]
} else {
if (key == 33902) {
return new Float32Array([1, 1])
}
if (key == 33901) {
return new Float32Array([1, 64])
}
if (key == 35661) {
return 32
}
if (key == 34047) {
return null
}
if (key == 34076) {
return 16384
}
if (key == 36349) {
return 1024
}
if (key == 34024) {
return 16384
}
if (key == 34930) {
return 16
}
if (key == 3379) {
return 16384
}
if (key == 36348) {
return 30
}
if (key == 34921) {
return 16
}
if (key == 35660) {
return 16
}
if (key == 36347) {
return 4095
}
if (key == 3386) {
return new Int32Array([16384, 16384])
}
if (key == 3410) {
return 8
}
if (key == 7937) {
return "WebKit WebGL"
}
if (key == 35724) {
return "WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)"
}
if (key == 3415) {
return 0
}
if (key == 7936) {
return "WebKit"
}
if (key == 7938) {
return "WebGL 1.0 (OpenGL ES 2.0 Chromium)"
}
if (key == 3411) {
return 8
}
if (key == 3412) {
return 8
}
if (key == 3413) {
return 8
}
if (key == 3414) {
return 24
}
}
v_console_log(' [*] WebGLRenderingContext -> getParameter[func]:', key, res)
return res;
}
getContextAttributes() {
v_console_log(' [*] WebGLRenderingContext -> getContextAttributes[func]')
return {
alpha: true,
antialias: true,
depth: true,
desynchronized: false,
failIfMajorPerformanceCaveat: false,
powerPreference: "default",
premultipliedAlpha: true,
preserveDrawingBuffer: false,
stencil: false,
xrCompatible: false,
}
}
getShaderPrecisionFormat(a, b) {
v_console_log(' [*] WebGLRenderingContext -> getShaderPrecisionFormat[func]', a, b)
function WebGLShaderPrecisionFormat() {
}
var r1 = v_new(WebGLShaderPrecisionFormat)
r1.rangeMin = 127
r1.rangeMax = 127
r1.precision = 23
var r2 = v_new(WebGLShaderPrecisionFormat)
r2.rangeMin = 31
r2.rangeMax = 30
r2.precision = 0
if (a == 35633 && b == 36338) {
return r1
}
if (a == 35633 && b == 36337) {
return r1
}
if (a == 35633 && b == 36336) {
return r1
}
if (a == 35633 && b == 36341) {
return r2
}
if (a == 35633 && b == 36340) {
return r2
}
if (a == 35633 && b == 36339) {
return r2
}
if (a == 35632 && b == 36338) {
return r1
}
if (a == 35632 && b == 36337) {
return r1
}
if (a == 35632 && b == 36336) {
return r1
}
if (a == 35632 && b == 36341) {
return r2
}
if (a == 35632 && b == 36340) {
return r2
}
if (a == 35632 && b == 36339) {
return r2
}
throw Error('getShaderPrecisionFormat')
}
}
Object.defineProperties(WebGLRenderingContext.prototype, {
canvas: {writable: undefined, enumerable: true, configurable: true},
drawingBufferWidth: {writable: undefined, enumerable: true, configurable: true},
drawingBufferHeight: {writable: undefined, enumerable: true, configurable: true},
drawingBufferColorSpace: {writable: undefined, enumerable: true, configurable: true},
unpackColorSpace: {writable: undefined, enumerable: true, configurable: true},
DEPTH_BUFFER_BIT: {value: 256, writable: false, enumerable: true, configurable: false},
STENCIL_BUFFER_BIT: {value: 1024, writable: false, enumerable: true, configurable: false},
COLOR_BUFFER_BIT: {value: 16384, writable: false, enumerable: true, configurable: false},
POINTS: {writable: false, enumerable: true, configurable: false},
LINES: {value: 1, writable: false, enumerable: true, configurable: false},
LINE_LOOP: {value: 2, writable: false, enumerable: true, configurable: false},
LINE_STRIP: {value: 3, writable: false, enumerable: true, configurable: false},
TRIANGLES: {value: 4, writable: false, enumerable: true, configurable: false},
TRIANGLE_STRIP: {value: 5, writable: false, enumerable: true, configurable: false},
TRIANGLE_FAN: {value: 6, writable: false, enumerable: true, configurable: false},
ZERO: {writable: false, enumerable: true, configurable: false},
ONE: {value: 1, writable: false, enumerable: true, configurable: false},
SRC_COLOR: {value: 768, writable: false, enumerable: true, configurable: false},
ONE_MINUS_SRC_COLOR: {value: 769, writable: false, enumerable: true, configurable: false},
SRC_ALPHA: {value: 770, writable: false, enumerable: true, configurable: false},
ONE_MINUS_SRC_ALPHA: {value: 771, writable: false, enumerable: true, configurable: false},
DST_ALPHA: {value: 772, writable: false, enumerable: true, configurable: false},
ONE_MINUS_DST_ALPHA: {value: 773, writable: false, enumerable: true, configurable: false},
DST_COLOR: {value: 774, writable: false, enumerable: true, configurable: false},
ONE_MINUS_DST_COLOR: {value: 775, writable: false, enumerable: true, configurable: false},
SRC_ALPHA_SATURATE: {value: 776, writable: false, enumerable: true, configurable: false},
FUNC_ADD: {value: 32774, writable: false, enumerable: true, configurable: false},
BLEND_EQUATION: {value: 32777, writable: false, enumerable: true, configurable: false},
BLEND_EQUATION_RGB: {value: 32777, writable: false, enumerable: true, configurable: false},
BLEND_EQUATION_ALPHA: {value: 34877, writable: false, enumerable: true, configurable: false},
FUNC_SUBTRACT: {value: 32778, writable: false, enumerable: true, configurable: false},
FUNC_REVERSE_SUBTRACT: {value: 32779, writable: false, enumerable: true, configurable: false},
BLEND_DST_RGB: {value: 32968, writable: false, enumerable: true, configurable: false},
BLEND_SRC_RGB: {value: 32969, writable: false, enumerable: true, configurable: false},
BLEND_DST_ALPHA: {value: 32970, writable: false, enumerable: true, configurable: false},
BLEND_SRC_ALPHA: {value: 32971, writable: false, enumerable: true, configurable: false},
CONSTANT_COLOR: {value: 32769, writable: false, enumerable: true, configurable: false},
ONE_MINUS_CONSTANT_COLOR: {value: 32770, writable: false, enumerable: true, configurable: false},
CONSTANT_ALPHA: {value: 32771, writable: false, enumerable: true, configurable: false},
ONE_MINUS_CONSTANT_ALPHA: {value: 32772, writable: false, enumerable: true, configurable: false},
BLEND_COLOR: {value: 32773, writable: false, enumerable: true, configurable: false},
ARRAY_BUFFER: {value: 34962, writable: false, enumerable: true, configurable: false},
ELEMENT_ARRAY_BUFFER: {value: 34963, writable: false, enumerable: true, configurable: false},
ARRAY_BUFFER_BINDING: {value: 34964, writable: false, enumerable: true, configurable: false},
ELEMENT_ARRAY_BUFFER_BINDING: {value: 34965, writable: false, enumerable: true, configurable: false},
STREAM_DRAW: {value: 35040, writable: false, enumerable: true, configurable: false},
STATIC_DRAW: {value: 35044, writable: false, enumerable: true, configurable: false},
DYNAMIC_DRAW: {value: 35048, writable: false, enumerable: true, configurable: false},
BUFFER_SIZE: {value: 34660, writable: false, enumerable: true, configurable: false},
BUFFER_USAGE: {value: 34661, writable: false, enumerable: true, configurable: false},
CURRENT_VERTEX_ATTRIB: {value: 34342, writable: false, enumerable: true, configurable: false},
FRONT: {value: 1028, writable: false, enumerable: true, configurable: false},
BACK: {value: 1029, writable: false, enumerable: true, configurable: false},
FRONT_AND_BACK: {value: 1032, writable: false, enumerable: true, configurable: false},
TEXTURE_2D: {value: 3553, writable: false, enumerable: true, configurable: false},
CULL_FACE: {value: 2884, writable: false, enumerable: true, configurable: false},
BLEND: {value: 3042, writable: false, enumerable: true, configurable: false},
DITHER: {value: 3024, writable: false, enumerable: true, configurable: false},
STENCIL_TEST: {value: 2960, writable: false, enumerable: true, configurable: false},
DEPTH_TEST: {value: 2929, writable: false, enumerable: true, configurable: false},
SCISSOR_TEST: {value: 3089, writable: false, enumerable: true, configurable: false},
POLYGON_OFFSET_FILL: {value: 32823, writable: false, enumerable: true, configurable: false},
SAMPLE_ALPHA_TO_COVERAGE: {value: 32926, writable: false, enumerable: true, configurable: false},
SAMPLE_COVERAGE: {value: 32928, writable: false, enumerable: true, configurable: false},
NO_ERROR: {writable: false, enumerable: true, configurable: false},
INVALID_ENUM: {value: 1280, writable: false, enumerable: true, configurable: false},
INVALID_VALUE: {value: 1281, writable: false, enumerable: true, configurable: false},
INVALID_OPERATION: {value: 1282, writable: false, enumerable: true, configurable: false},
OUT_OF_MEMORY: {value: 1285, writable: false, enumerable: true, configurable: false},
CW: {value: 2304, writable: false, enumerable: true, configurable: false},
CCW: {value: 2305, writable: false, enumerable: true, configurable: false},
LINE_WIDTH: {value: 2849, writable: false, enumerable: true, configurable: false},
ALIASED_POINT_SIZE_RANGE: {value: 33901, writable: false, enumerable: true, configurable: false},
ALIASED_LINE_WIDTH_RANGE: {value: 33902, writable: false, enumerable: true, configurable: false},
CULL_FACE_MODE: {value: 2885, writable: false, enumerable: true, configurable: false},
FRONT_FACE: {value: 2886, writable: false, enumerable: true, configurable: false},
DEPTH_RANGE: {value: 2928, writable: false, enumerable: true, configurable: false},
DEPTH_WRITEMASK: {value: 2930, writable: false, enumerable: true, configurable: false},
DEPTH_CLEAR_VALUE: {value: 2931, writable: false, enumerable: true, configurable: false},
DEPTH_FUNC: {value: 2932, writable: false, enumerable: true, configurable: false},
STENCIL_CLEAR_VALUE: {value: 2961, writable: false, enumerable: true, configurable: false},
STENCIL_FUNC: {value: 2962, writable: false, enumerable: true, configurable: false},
STENCIL_FAIL: {value: 2964, writable: false, enumerable: true, configurable: false},
STENCIL_PASS_DEPTH_FAIL: {value: 2965, writable: false, enumerable: true, configurable: false},
STENCIL_PASS_DEPTH_PASS: {value: 2966, writable: false, enumerable: true, configurable: false},
STENCIL_REF: {value: 2967, writable: false, enumerable: true, configurable: false},
STENCIL_VALUE_MASK: {value: 2963, writable: false, enumerable: true, configurable: false},
STENCIL_WRITEMASK: {value: 2968, writable: false, enumerable: true, configurable: false},
STENCIL_BACK_FUNC: {value: 34816, writable: false, enumerable: true, configurable: false},
STENCIL_BACK_FAIL: {value: 34817, writable: false, enumerable: true, configurable: false},
STENCIL_BACK_PASS_DEPTH_FAIL: {value: 34818, writable: false, enumerable: true, configurable: false},
STENCIL_BACK_PASS_DEPTH_PASS: {value: 34819, writable: false, enumerable: true, configurable: false},
STENCIL_BACK_REF: {value: 36003, writable: false, enumerable: true, configurable: false},
STENCIL_BACK_VALUE_MASK: {value: 36004, writable: false, enumerable: true, configurable: false},
STENCIL_BACK_WRITEMASK: {value: 36005, writable: false, enumerable: true, configurable: false},
VIEWPORT: {value: 2978, writable: false, enumerable: true, configurable: false},
SCISSOR_BOX: {value: 3088, writable: false, enumerable: true, configurable: false},
COLOR_CLEAR_VALUE: {value: 3106, writable: false, enumerable: true, configurable: false},
COLOR_WRITEMASK: {value: 3107, writable: false, enumerable: true, configurable: false},
UNPACK_ALIGNMENT: {value: 3317, writable: false, enumerable: true, configurable: false},
PACK_ALIGNMENT: {value: 3333, writable: false, enumerable: true, configurable: false},
MAX_TEXTURE_SIZE: {value: 3379, writable: false, enumerable: true, configurable: false},
MAX_VIEWPORT_DIMS: {value: 3386, writable: false, enumerable: true, configurable: false},
SUBPIXEL_BITS: {value: 3408, writable: false, enumerable: true, configurable: false},
RED_BITS: {value: 3410, writable: false, enumerable: true, configurable: false},
GREEN_BITS: {value: 3411, writable: false, enumerable: true, configurable: false},
BLUE_BITS: {value: 3412, writable: false, enumerable: true, configurable: false},
ALPHA_BITS: {value: 3413, writable: false, enumerable: true, configurable: false},
DEPTH_BITS: {value: 3414, writable: false, enumerable: true, configurable: false},
STENCIL_BITS: {value: 3415, writable: false, enumerable: true, configurable: false},
POLYGON_OFFSET_UNITS: {value: 10752, writable: false, enumerable: true, configurable: false},
POLYGON_OFFSET_FACTOR: {value: 32824, writable: false, enumerable: true, configurable: false},
TEXTURE_BINDING_2D: {value: 32873, writable: false, enumerable: true, configurable: false},
SAMPLE_BUFFERS: {value: 32936, writable: false, enumerable: true, configurable: false},
SAMPLES: {value: 32937, writable: false, enumerable: true, configurable: false},
SAMPLE_COVERAGE_VALUE: {value: 32938, writable: false, enumerable: true, configurable: false},
SAMPLE_COVERAGE_INVERT: {value: 32939, writable: false, enumerable: true, configurable: false},
COMPRESSED_TEXTURE_FORMATS: {value: 34467, writable: false, enumerable: true, configurable: false},
DONT_CARE: {value: 4352, writable: false, enumerable: true, configurable: false},
FASTEST: {value: 4353, writable: false, enumerable: true, configurable: false},
NICEST: {value: 4354, writable: false, enumerable: true, configurable: false},
GENERATE_MIPMAP_HINT: {value: 33170, writable: false, enumerable: true, configurable: false},
BYTE: {value: 5120, writable: false, enumerable: true, configurable: false},
UNSIGNED_BYTE: {value: 5121, writable: false, enumerable: true, configurable: false},
SHORT: {value: 5122, writable: false, enumerable: true, configurable: false},
UNSIGNED_SHORT: {value: 5123, writable: false, enumerable: true, configurable: false},
INT: {value: 5124, writable: false, enumerable: true, configurable: false},
UNSIGNED_INT: {value: 5125, writable: false, enumerable: true, configurable: false},
FLOAT: {value: 5126, writable: false, enumerable: true, configurable: false},
DEPTH_COMPONENT: {value: 6402, writable: false, enumerable: true, configurable: false},
ALPHA: {value: 6406, writable: false, enumerable: true, configurable: false},
RGB: {value: 6407, writable: false, enumerable: true, configurable: false},
RGBA: {value: 6408, writable: false, enumerable: true, configurable: false},
LUMINANCE: {value: 6409, writable: false, enumerable: true, configurable: false},
LUMINANCE_ALPHA: {value: 6410, writable: false, enumerable: true, configurable: false},
UNSIGNED_SHORT_4_4_4_4: {value: 32819, writable: false, enumerable: true, configurable: false},
UNSIGNED_SHORT_5_5_5_1: {value: 32820, writable: false, enumerable: true, configurable: false},
UNSIGNED_SHORT_5_6_5: {value: 33635, writable: false, enumerable: true, configurable: false},
FRAGMENT_SHADER: {value: 35632, writable: false, enumerable: true, configurable: false},
VERTEX_SHADER: {value: 35633, writable: false, enumerable: true, configurable: false},
MAX_VERTEX_ATTRIBS: {value: 34921, writable: false, enumerable: true, configurable: false},
MAX_VERTEX_UNIFORM_VECTORS: {value: 36347, writable: false, enumerable: true, configurable: false},
MAX_VARYING_VECTORS: {value: 36348, writable: false, enumerable: true, configurable: false},
MAX_COMBINED_TEXTURE_IMAGE_UNITS: {value: 35661, writable: false, enumerable: true, configurable: false},
MAX_VERTEX_TEXTURE_IMAGE_UNITS: {value: 35660, writable: false, enumerable: true, configurable: false},
MAX_TEXTURE_IMAGE_UNITS: {value: 34930, writable: false, enumerable: true, configurable: false},
MAX_FRAGMENT_UNIFORM_VECTORS: {value: 36349, writable: false, enumerable: true, configurable: false},
SHADER_TYPE: {value: 35663, writable: false, enumerable: true, configurable: false},
DELETE_STATUS: {value: 35712, writable: false, enumerable: true, configurable: false},
LINK_STATUS: {value: 35714, writable: false, enumerable: true, configurable: false},
VALIDATE_STATUS: {value: 35715, writable: false, enumerable: true, configurable: false},
ATTACHED_SHADERS: {value: 35717, writable: false, enumerable: true, configurable: false},
ACTIVE_UNIFORMS: {value: 35718, writable: false, enumerable: true, configurable: false},
ACTIVE_ATTRIBUTES: {value: 35721, writable: false, enumerable: true, configurable: false},
SHADING_LANGUAGE_VERSION: {value: 35724, writable: false, enumerable: true, configurable: false},
CURRENT_PROGRAM: {value: 35725, writable: false, enumerable: true, configurable: false},
NEVER: {value: 512, writable: false, enumerable: true, configurable: false},
LESS: {value: 513, writable: false, enumerable: true, configurable: false},
EQUAL: {value: 514, writable: false, enumerable: true, configurable: false},
LEQUAL: {value: 515, writable: false, enumerable: true, configurable: false},
GREATER: {value: 516, writable: false, enumerable: true, configurable: false},
NOTEQUAL: {value: 517, writable: false, enumerable: true, configurable: false},
GEQUAL: {value: 518, writable: false, enumerable: true, configurable: false},
ALWAYS: {value: 519, writable: false, enumerable: true, configurable: false},
KEEP: {value: 7680, writable: false, enumerable: true, configurable: false},
REPLACE: {value: 7681, writable: false, enumerable: true, configurable: false},
INCR: {value: 7682, writable: false, enumerable: true, configurable: false},
DECR: {value: 7683, writable: false, enumerable: true, configurable: false},
INVERT: {value: 5386, writable: false, enumerable: true, configurable: false},
INCR_WRAP: {value: 34055, writable: false, enumerable: true, configurable: false},
DECR_WRAP: {value: 34056, writable: false, enumerable: true, configurable: false},
VENDOR: {value: 7936, writable: false, enumerable: true, configurable: false},
RENDERER: {value: 7937, writable: false, enumerable: true, configurable: false},
VERSION: {value: 7938, writable: false, enumerable: true, configurable: false},
NEAREST: {value: 9728, writable: false, enumerable: true, configurable: false},
LINEAR: {value: 9729, writable: false, enumerable: true, configurable: false},
NEAREST_MIPMAP_NEAREST: {value: 9984, writable: false, enumerable: true, configurable: false},
LINEAR_MIPMAP_NEAREST: {value: 9985, writable: false, enumerable: true, configurable: false},
NEAREST_MIPMAP_LINEAR: {value: 9986, writable: false, enumerable: true, configurable: false},
LINEAR_MIPMAP_LINEAR: {value: 9987, writable: false, enumerable: true, configurable: false},
TEXTURE_MAG_FILTER: {value: 10240, writable: false, enumerable: true, configurable: false},
TEXTURE_MIN_FILTER: {value: 10241, writable: false, enumerable: true, configurable: false},
TEXTURE_WRAP_S: {value: 10242, writable: false, enumerable: true, configurable: false},
TEXTURE_WRAP_T: {value: 10243, writable: false, enumerable: true, configurable: false},
TEXTURE: {value: 5890, writable: false, enumerable: true, configurable: false},
TEXTURE_CUBE_MAP: {value: 34067, writable: false, enumerable: true, configurable: false},
TEXTURE_BINDING_CUBE_MAP: {value: 34068, writable: false, enumerable: true, configurable: false},
TEXTURE_CUBE_MAP_POSITIVE_X: {value: 34069, writable: false, enumerable: true, configurable: false},
TEXTURE_CUBE_MAP_NEGATIVE_X: {value: 34070, writable: false, enumerable: true, configurable: false},
TEXTURE_CUBE_MAP_POSITIVE_Y: {value: 34071, writable: false, enumerable: true, configurable: false},
TEXTURE_CUBE_MAP_NEGATIVE_Y: {value: 34072, writable: false, enumerable: true, configurable: false},
TEXTURE_CUBE_MAP_POSITIVE_Z: {value: 34073, writable: false, enumerable: true, configurable: false},
TEXTURE_CUBE_MAP_NEGATIVE_Z: {value: 34074, writable: false, enumerable: true, configurable: false},
MAX_CUBE_MAP_TEXTURE_SIZE: {value: 34076, writable: false, enumerable: true, configurable: false},
TEXTURE0: {value: 33984, writable: false, enumerable: true, configurable: false},
TEXTURE1: {value: 33985, writable: false, enumerable: true, configurable: false},
TEXTURE2: {value: 33986, writable: false, enumerable: true, configurable: false},
TEXTURE3: {value: 33987, writable: false, enumerable: true, configurable: false},
TEXTURE4: {value: 33988, writable: false, enumerable: true, configurable: false},
TEXTURE5: {value: 33989, writable: false, enumerable: true, configurable: false},
TEXTURE6: {value: 33990, writable: false, enumerable: true, configurable: false},
TEXTURE7: {value: 33991, writable: false, enumerable: true, configurable: false},
TEXTURE8: {value: 33992, writable: false, enumerable: true, configurable: false},
TEXTURE9: {value: 33993, writable: false, enumerable: true, configurable: false},
TEXTURE10: {value: 33994, writable: false, enumerable: true, configurable: false},
TEXTURE11: {value: 33995, writable: false, enumerable: true, configurable: false},
TEXTURE12: {value: 33996, writable: false, enumerable: true, configurable: false},
TEXTURE13: {value: 33997, writable: false, enumerable: true, configurable: false},
TEXTURE14: {value: 33998, writable: false, enumerable: true, configurable: false},
TEXTURE15: {value: 33999, writable: false, enumerable: true, configurable: false},
TEXTURE16: {value: 34000, writable: false, enumerable: true, configurable: false},
TEXTURE17: {value: 34001, writable: false, enumerable: true, configurable: false},
TEXTURE18: {value: 34002, writable: false, enumerable: true, configurable: false},
TEXTURE19: {value: 34003, writable: false, enumerable: true, configurable: false},
TEXTURE20: {value: 34004, writable: false, enumerable: true, configurable: false},
TEXTURE21: {value: 34005, writable: false, enumerable: true, configurable: false},
TEXTURE22: {value: 34006, writable: false, enumerable: true, configurable: false},
TEXTURE23: {value: 34007, writable: false, enumerable: true, configurable: false},
TEXTURE24: {value: 34008, writable: false, enumerable: true, configurable: false},
TEXTURE25: {value: 34009, writable: false, enumerable: true, configurable: false},
TEXTURE26: {value: 34010, writable: false, enumerable: true, configurable: false},
TEXTURE27: {value: 34011, writable: false, enumerable: true, configurable: false},
TEXTURE28: {value: 34012, writable: false, enumerable: true, configurable: false},
TEXTURE29: {value: 34013, writable: false, enumerable: true, configurable: false},
TEXTURE30: {value: 34014, writable: false, enumerable: true, configurable: false},
TEXTURE31: {value: 34015, writable: false, enumerable: true, configurable: false},
ACTIVE_TEXTURE: {value: 34016, writable: false, enumerable: true, configurable: false},
REPEAT: {value: 10497, writable: false, enumerable: true, configurable: false},
CLAMP_TO_EDGE: {value: 33071, writable: false, enumerable: true, configurable: false},
MIRRORED_REPEAT: {value: 33648, writable: false, enumerable: true, configurable: false},
FLOAT_VEC2: {value: 35664, writable: false, enumerable: true, configurable: false},
FLOAT_VEC3: {value: 35665, writable: false, enumerable: true, configurable: false},
FLOAT_VEC4: {value: 35666, writable: false, enumerable: true, configurable: false},
INT_VEC2: {value: 35667, writable: false, enumerable: true, configurable: false},
INT_VEC3: {value: 35668, writable: false, enumerable: true, configurable: false},
INT_VEC4: {value: 35669, writable: false, enumerable: true, configurable: false},
BOOL: {value: 35670, writable: false, enumerable: true, configurable: false},
BOOL_VEC2: {value: 35671, writable: false, enumerable: true, configurable: false},
BOOL_VEC3: {value: 35672, writable: false, enumerable: true, configurable: false},
BOOL_VEC4: {value: 35673, writable: false, enumerable: true, configurable: false},
FLOAT_MAT2: {value: 35674, writable: false, enumerable: true, configurable: false},
FLOAT_MAT3: {value: 35675, writable: false, enumerable: true, configurable: false},
FLOAT_MAT4: {value: 35676, writable: false, enumerable: true, configurable: false},
SAMPLER_2D: {value: 35678, writable: false, enumerable: true, configurable: false},
SAMPLER_CUBE: {value: 35680, writable: false, enumerable: true, configurable: false},
VERTEX_ATTRIB_ARRAY_ENABLED: {value: 34338, writable: false, enumerable: true, configurable: false},
VERTEX_ATTRIB_ARRAY_SIZE: {value: 34339, writable: false, enumerable: true, configurable: false},
VERTEX_ATTRIB_ARRAY_STRIDE: {value: 34340, writable: false, enumerable: true, configurable: false},
VERTEX_ATTRIB_ARRAY_TYPE: {value: 34341, writable: false, enumerable: true, configurable: false},
VERTEX_ATTRIB_ARRAY_NORMALIZED: {value: 34922, writable: false, enumerable: true, configurable: false},
VERTEX_ATTRIB_ARRAY_POINTER: {value: 34373, writable: false, enumerable: true, configurable: false},
VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: {value: 34975, writable: false, enumerable: true, configurable: false},
IMPLEMENTATION_COLOR_READ_TYPE: {value: 35738, writable: false, enumerable: true, configurable: false},
IMPLEMENTATION_COLOR_READ_FORMAT: {value: 35739, writable: false, enumerable: true, configurable: false},
COMPILE_STATUS: {value: 35713, writable: false, enumerable: true, configurable: false},
LOW_FLOAT: {value: 36336, writable: false, enumerable: true, configurable: false},
MEDIUM_FLOAT: {value: 36337, writable: false, enumerable: true, configurable: false},
HIGH_FLOAT: {value: 36338, writable: false, enumerable: true, configurable: false},
LOW_INT: {value: 36339, writable: false, enumerable: true, configurable: false},
MEDIUM_INT: {value: 36340, writable: false, enumerable: true, configurable: false},
HIGH_INT: {value: 36341, writable: false, enumerable: true, configurable: false},
FRAMEBUFFER: {value: 36160, writable: false, enumerable: true, configurable: false},
RENDERBUFFER: {value: 36161, writable: false, enumerable: true, configurable: false},
RGBA4: {value: 32854, writable: false, enumerable: true, configurable: false},
RGB5_A1: {value: 32855, writable: false, enumerable: true, configurable: false},
RGB565: {value: 36194, writable: false, enumerable: true, configurable: false},
DEPTH_COMPONENT16: {value: 33189, writable: false, enumerable: true, configurable: false},
STENCIL_INDEX8: {value: 36168, writable: false, enumerable: true, configurable: false},
DEPTH_STENCIL: {value: 34041, writable: false, enumerable: true, configurable: false},
RENDERBUFFER_WIDTH: {value: 36162, writable: false, enumerable: true, configurable: false},
RENDERBUFFER_HEIGHT: {value: 36163, writable: false, enumerable: true, configurable: false},
RENDERBUFFER_INTERNAL_FORMAT: {value: 36164, writable: false, enumerable: true, configurable: false},
RENDERBUFFER_RED_SIZE: {value: 36176, writable: false, enumerable: true, configurable: false},
RENDERBUFFER_GREEN_SIZE: {value: 36177, writable: false, enumerable: true, configurable: false},
RENDERBUFFER_BLUE_SIZE: {value: 36178, writable: false, enumerable: true, configurable: false},
RENDERBUFFER_ALPHA_SIZE: {value: 36179, writable: false, enumerable: true, configurable: false},
RENDERBUFFER_DEPTH_SIZE: {value: 36180, writable: false, enumerable: true, configurable: false},
RENDERBUFFER_STENCIL_SIZE: {value: 36181, writable: false, enumerable: true, configurable: false},
FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: {value: 36048, writable: false, enumerable: true, configurable: false},
FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: {value: 36049, writable: false, enumerable: true, configurable: false},
FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: {value: 36050, writable: false, enumerable: true, configurable: false},
FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: {
value: 36051,
writable: false,
enumerable: true,
configurable: false
},
COLOR_ATTACHMENT0: {value: 36064, writable: false, enumerable: true, configurable: false},
DEPTH_ATTACHMENT: {value: 36096, writable: false, enumerable: true, configurable: false},
STENCIL_ATTACHMENT: {value: 36128, writable: false, enumerable: true, configurable: false},
DEPTH_STENCIL_ATTACHMENT: {value: 33306, writable: false, enumerable: true, configurable: false},
NONE: {writable: false, enumerable: true, configurable: false},
FRAMEBUFFER_COMPLETE: {value: 36053, writable: false, enumerable: true, configurable: false},
FRAMEBUFFER_INCOMPLETE_ATTACHMENT: {value: 36054, writable: false, enumerable: true, configurable: false},
FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: {value: 36055, writable: false, enumerable: true, configurable: false},
FRAMEBUFFER_INCOMPLETE_DIMENSIONS: {value: 36057, writable: false, enumerable: true, configurable: false},
FRAMEBUFFER_UNSUPPORTED: {value: 36061, writable: false, enumerable: true, configurable: false},
FRAMEBUFFER_BINDING: {value: 36006, writable: false, enumerable: true, configurable: false},
RENDERBUFFER_BINDING: {value: 36007, writable: false, enumerable: true, configurable: false},
MAX_RENDERBUFFER_SIZE: {value: 34024, writable: false, enumerable: true, configurable: false},
INVALID_FRAMEBUFFER_OPERATION: {value: 1286, writable: false, enumerable: true, configurable: false},
UNPACK_FLIP_Y_WEBGL: {value: 37440, writable: false, enumerable: true, configurable: false},
UNPACK_PREMULTIPLY_ALPHA_WEBGL: {value: 37441, writable: false, enumerable: true, configurable: false},
CONTEXT_LOST_WEBGL: {value: 37442, writable: false, enumerable: true, configurable: false},
UNPACK_COLORSPACE_CONVERSION_WEBGL: {value: 37443, writable: false, enumerable: true, configurable: false},
BROWSER_DEFAULT_WEBGL: {value: 37444, writable: false, enumerable: true, configurable: false},
activeTexture: {writable: true, enumerable: true, configurable: true},
attachShader: {writable: true, enumerable: true, configurable: true},
bindAttribLocation: {writable: true, enumerable: true, configurable: true},
bindRenderbuffer: {writable: true, enumerable: true, configurable: true},
blendColor: {writable: true, enumerable: true, configurable: true},
blendEquation: {writable: true, enumerable: true, configurable: true},
blendEquationSeparate: {writable: true, enumerable: true, configurable: true},
blendFunc: {writable: true, enumerable: true, configurable: true},
blendFuncSeparate: {writable: true, enumerable: true, configurable: true},
bufferData: {writable: true, enumerable: true, configurable: true},
bufferSubData: {writable: true, enumerable: true, configurable: true},
checkFramebufferStatus: {writable: true, enumerable: true, configurable: true},
compileShader: {writable: true, enumerable: true, configurable: true},
compressedTexImage2D: {writable: true, enumerable: true, configurable: true},
compressedTexSubImage2D: {writable: true, enumerable: true, configurable: true},
copyTexImage2D: {writable: true, enumerable: true, configurable: true},
copyTexSubImage2D: {writable: true, enumerable: true, configurable: true},
createBuffer: {writable: true, enumerable: true, configurable: true},
createFramebuffer: {writable: true, enumerable: true, configurable: true},
createProgram: {writable: true, enumerable: true, configurable: true},
createRenderbuffer: {writable: true, enumerable: true, configurable: true},
createShader: {writable: true, enumerable: true, configurable: true},
createTexture: {writable: true, enumerable: true, configurable: true},
cullFace: {writable: true, enumerable: true, configurable: true},
deleteBuffer: {writable: true, enumerable: true, configurable: true},
deleteFramebuffer: {writable: true, enumerable: true, configurable: true},
deleteProgram: {writable: true, enumerable: true, configurable: true},
deleteRenderbuffer: {writable: true, enumerable: true, configurable: true},
deleteShader: {writable: true, enumerable: true, configurable: true},
deleteTexture: {writable: true, enumerable: true, configurable: true},
depthFunc: {writable: true, enumerable: true, configurable: true},
depthMask: {writable: true, enumerable: true, configurable: true},
depthRange: {writable: true, enumerable: true, configurable: true},
detachShader: {writable: true, enumerable: true, configurable: true},
disable: {writable: true, enumerable: true, configurable: true},
enable: {writable: true, enumerable: true, configurable: true},
finish: {writable: true, enumerable: true, configurable: true},
flush: {writable: true, enumerable: true, configurable: true},
framebufferRenderbuffer: {writable: true, enumerable: true, configurable: true},
framebufferTexture2D: {writable: true, enumerable: true, configurable: true},
frontFace: {writable: true, enumerable: true, configurable: true},
generateMipmap: {writable: true, enumerable: true, configurable: true},
getActiveAttrib: {writable: true, enumerable: true, configurable: true},
getActiveUniform: {writable: true, enumerable: true, configurable: true},
getAttachedShaders: {writable: true, enumerable: true, configurable: true},
getAttribLocation: {writable: true, enumerable: true, configurable: true},
getBufferParameter: {writable: true, enumerable: true, configurable: true},
getContextAttributes: {writable: true, enumerable: true, configurable: true},
getError: {writable: true, enumerable: true, configurable: true},
getExtension: {writable: true, enumerable: true, configurable: true},
getFramebufferAttachmentParameter: {writable: true, enumerable: true, configurable: true},
getParameter: {writable: true, enumerable: true, configurable: true},
getProgramInfoLog: {writable: true, enumerable: true, configurable: true},
getProgramParameter: {writable: true, enumerable: true, configurable: true},
getRenderbufferParameter: {writable: true, enumerable: true, configurable: true},
getShaderInfoLog: {writable: true, enumerable: true, configurable: true},
getShaderParameter: {writable: true, enumerable: true, configurable: true},
getShaderPrecisionFormat: {writable: true, enumerable: true, configurable: true},
getShaderSource: {writable: true, enumerable: true, configurable: true},
getSupportedExtensions: {writable: true, enumerable: true, configurable: true},
getTexParameter: {writable: true, enumerable: true, configurable: true},
getUniform: {writable: true, enumerable: true, configurable: true},
getUniformLocation: {writable: true, enumerable: true, configurable: true},
getVertexAttrib: {writable: true, enumerable: true, configurable: true},
getVertexAttribOffset: {writable: true, enumerable: true, configurable: true},
hint: {writable: true, enumerable: true, configurable: true},
isBuffer: {writable: true, enumerable: true, configurable: true},
isContextLost: {writable: true, enumerable: true, configurable: true},
isEnabled: {writable: true, enumerable: true, configurable: true},
isFramebuffer: {writable: true, enumerable: true, configurable: true},
isProgram: {writable: true, enumerable: true, configurable: true},
isRenderbuffer: {writable: true, enumerable: true, configurable: true},
isShader: {writable: true, enumerable: true, configurable: true},
isTexture: {writable: true, enumerable: true, configurable: true},
lineWidth: {writable: true, enumerable: true, configurable: true},
linkProgram: {writable: true, enumerable: true, configurable: true},
pixelStorei: {writable: true, enumerable: true, configurable: true},
polygonOffset: {writable: true, enumerable: true, configurable: true},
readPixels: {writable: true, enumerable: true, configurable: true},
renderbufferStorage: {writable: true, enumerable: true, configurable: true},
sampleCoverage: {writable: true, enumerable: true, configurable: true},
shaderSource: {writable: true, enumerable: true, configurable: true},
stencilFunc: {writable: true, enumerable: true, configurable: true},
stencilFuncSeparate: {writable: true, enumerable: true, configurable: true},
stencilMask: {writable: true, enumerable: true, configurable: true},
stencilMaskSeparate: {writable: true, enumerable: true, configurable: true},
stencilOp: {writable: true, enumerable: true, configurable: true},
stencilOpSeparate: {writable: true, enumerable: true, configurable: true},
texImage2D: {writable: true, enumerable: true, configurable: true},
texParameterf: {writable: true, enumerable: true, configurable: true},
texParameteri: {writable: true, enumerable: true, configurable: true},
texSubImage2D: {writable: true, enumerable: true, configurable: true},
useProgram: {writable: true, enumerable: true, configurable: true},
validateProgram: {writable: true, enumerable: true, configurable: true},
bindBuffer: {writable: true, enumerable: true, configurable: true},
bindFramebuffer: {writable: true, enumerable: true, configurable: true},
bindTexture: {writable: true, enumerable: true, configurable: true},
clear: {writable: true, enumerable: true, configurable: true},
clearColor: {writable: true, enumerable: true, configurable: true},
clearDepth: {writable: true, enumerable: true, configurable: true},
clearStencil: {writable: true, enumerable: true, configurable: true},
colorMask: {writable: true, enumerable: true, configurable: true},
disableVertexAttribArray: {writable: true, enumerable: true, configurable: true},
drawArrays: {writable: true, enumerable: true, configurable: true},
drawElements: {writable: true, enumerable: true, configurable: true},
enableVertexAttribArray: {writable: true, enumerable: true, configurable: true},
scissor: {writable: true, enumerable: true, configurable: true},
uniform1f: {writable: true, enumerable: true, configurable: true},
uniform1fv: {writable: true, enumerable: true, configurable: true},
uniform1i: {writable: true, enumerable: true, configurable: true},
uniform1iv: {writable: true, enumerable: true, configurable: true},
uniform2f: {writable: true, enumerable: true, configurable: true},
uniform2fv: {writable: true, enumerable: true, configurable: true},
uniform2i: {writable: true, enumerable: true, configurable: true},
uniform2iv: {writable: true, enumerable: true, configurable: true},
uniform3f: {writable: true, enumerable: true, configurable: true},
uniform3fv: {writable: true, enumerable: true, configurable: true},
uniform3i: {writable: true, enumerable: true, configurable: true},
uniform3iv: {writable: true, enumerable: true, configurable: true},
uniform4f: {writable: true, enumerable: true, configurable: true},
uniform4fv: {writable: true, enumerable: true, configurable: true},
uniform4i: {writable: true, enumerable: true, configurable: true},
uniform4iv: {writable: true, enumerable: true, configurable: true},
uniformMatrix2fv: {writable: true, enumerable: true, configurable: true},
uniformMatrix3fv: {writable: true, enumerable: true, configurable: true},
uniformMatrix4fv: {writable: true, enumerable: true, configurable: true},
vertexAttrib1f: {writable: true, enumerable: true, configurable: true},
vertexAttrib1fv: {writable: true, enumerable: true, configurable: true},
vertexAttrib2f: {writable: true, enumerable: true, configurable: true},
vertexAttrib2fv: {writable: true, enumerable: true, configurable: true},
vertexAttrib3f: {writable: true, enumerable: true, configurable: true},
vertexAttrib3fv: {writable: true, enumerable: true, configurable: true},
vertexAttrib4f: {writable: true, enumerable: true, configurable: true},
vertexAttrib4fv: {writable: true, enumerable: true, configurable: true},
vertexAttribPointer: {writable: true, enumerable: true, configurable: true},
viewport: {writable: true, enumerable: true, configurable: true},
constructor: {writable: true, enumerable: false, configurable: true},
makeXRCompatible: {writable: true, enumerable: true, configurable: true},
[Symbol.toStringTag]: {
value: "WebGLRenderingContext",
writable: false,
enumerable: false,
configurable: true
},
})
window.WebGLRenderingContext = WebGLRenderingContext
window.CanvasRenderingContext2D = CanvasRenderingContext2D
window.GRAPHIC_DRIVER = GRAPHIC_DRIVER
window.URLSearchParams = v_saf(URLSearchParams)
window.DOMException = v_saf(DOMException)
......@@ -1239,10 +2036,27 @@ window.TextEncoderStream = v_saf(function TextEncoderStream() {
window.TransformStream = v_saf(function TransformStream() {
})
class Worker {
constructor() {
}
onmessage() {
console.log('Worker.onmessage', arguments)
}
postMessage() {
console.log('Worker.postMessage', arguments)
Worker.prototype = proxy(Worker.prototype, 'Worker.proto')
window.Worker = Worker
window.Worker = proxy(window.Worker, 'Worker')
}
terminate() {
}
}
// Worker.prototype = proxy(Worker.prototype, 'Worker.proto')
window.Worker = proxy(Worker, 'Worker')
class OffscreenCanvas {
width = 0;
......@@ -2289,21 +3103,21 @@ window.crypto = crypto;
_setTimeout = setTimeout
timesIds = 0;
// window.setTimeout = function setTimeout(func, delay) {
// // console.log(func, delay)
// // if (delay==0)func()
// try {
// // console.log(func)
// // if (delay == 0) {
// func()
// // }
// // func()
// } catch (e) {
// }
// // _setTimeout.call(this, func, 1)
// timesIds++;
// return timesIds;
// };
window.setTimeout = function setTimeout(func, delay) {
// console.log(func, delay)
// if (delay==0)func()
try {
// console.log(func)
if (delay == 0) {
func()
}
// func()
} catch (e) {
}
// _setTimeout.call(this, func, 1)
timesIds++;
return timesIds;
};
window.setInterval = function (func, delay) {
// console.log('setInterval',delay, func)
......@@ -2348,7 +3162,6 @@ con3 = function () {
}
var times = 0;
var stackTrace = {};
let arggs = [];
window.videos = [];
window.fonts = [];
......@@ -5423,7 +6236,12 @@ window.imageDatas = [];
}, function (SD) {
var Sp = f[RE[SD.v] << 8 | RE[SD.v + 1]];
SD.v += 2;
SD.I[SD.I.length] = m(Sp)
console.log('regexxx', Sp)
let res = m(Sp);
if (Sp === '{\\s*\\[\\s*native\\s+code\\s*]\\s*}\\s*$'){
res = proxy(res, 'nativeExec')
}
SD.I[SD.I.length] = res;
}, function (SB) {
var Se = RE[SB.v];
var Sm = RE[SB.v + 1];
......@@ -5573,26 +6391,12 @@ setTimeout(() => {
// print(JSON.stringify(window.imageDatas))
// print(JSON.stringify(window.fonts))
process.exit(0)
}, 500)
}, 1500)
// debug = true;
const express = require('express')
const util = require("util");
const app = express()
app.get('/', (req, res) => {
console.log('当前times', times)
var xhr = new XMLHttpRequest();
xhr.open('POST', "https://jbrest.jetblue.com/lfs-rwb/outboundLFS", false);
xhr.send("")
// xhr.setRequestHeader('user-agent', navis.userAgent)
// console.log(xhr.headers)
console.log('结束times', times)
res.send(JSON.stringify(xhr.headers))
})
const port = 3001
// app.listen(port, () => {
......
......@@ -266,12 +266,12 @@ function Window(options) {
// }
let res = Reflect.get(target, p, receiver);
if (p !== 'debug' && p !== 'Object'){
// console.log('window get', p, typeof res)
console.log('window get', p, typeof res)
}
if (p === 'StyleSheet'){
debugger;
}
// if (p === 'StyleSheet'){
// debugger;
// }
// console.log(Reflect.get(target, '_cf_chl_ctx', receiver))
if (!['_registeredHandlers', 'window', '_currentEvent','debug','_eventListenerss','top','JSON', 'Math'].includes(p) && res && typeof res === 'object' && typeof p !== 'symbol') {
......
......@@ -138,9 +138,9 @@ const proxy = function (tt, name) {
// }
// console.log(Reflect.get(target, '_cf_chl_ctx', receiver))
// if (!['_registeredHandlers', 'window', '_currentEvent', 'performance', 'debug', '_eventListenerss', 'top', 'prototype'].includes(p) && res && typeof res === 'object' && typeof p !== 'symbol') {
// return proxy(res, p)
// }
if (!['_registeredHandlers', 'window', '_currentEvent', 'performance', 'debug', '_eventListenerss', 'top', 'prototype'].includes(p) && res && typeof res === 'object' && typeof p !== 'symbol') {
return proxy(res, p)
}
return res;
},
// getPrototypeOf(target) {
......
......@@ -2813,9 +2813,9 @@ class CanvasRenderingContext2D {
console.log('CanvasRenderingContext2D.ellipse')
}
fillRect() {
fillRect(a,b,c,d) {
console.log('CanvasRenderingContext2D.fillRect')
return this._context.fillRect(...arguments)
return this._context.fillRect(a,b,c,d)
}
lineTo() {
......@@ -3776,12 +3776,14 @@ canvas: {writable: undefined, enumerable: true, configurable: true},
configurable: true
},
})
window.WebGLRenderingContext = WebGLRenderingContext
let t = proxy(new WebGLRenderingContext(), 'WebGLRenderingContext11')
// let t = new WebGLRenderingContext()
this._context = t;
}
// console.log('contextId res', this._context)
this._context = idlUtils.proxy(this._context, 'context' + contextId)
// this._context = idlUtils.proxy(this._context, 'context' + contextId)
return this._context;
}
......
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment