WebGL can texture from an image or a canvas
WebGL textures could be filled from raw pixel arrays, but binding an actual image or another canvas as the texture - which is how nearly every real WebGL page gets its artwork onto geometry, from a photo on a 3D surface to a 2D scene rendered once and reused - sampled as flat white, because a picture's decoded pixels live in the paint pipeline, not the script engine that runs the WebGL calls. This release builds the missing bridge in that direction. A <canvas> used as a texture now rasterises its own 2D drawing on demand and hands those exact pixels to the sampler; an <img> used as a texture is served its decoded pixels, which the page loader registers for the engine before the page's scripts run - and only when the page actually contains a canvas, so an ordinary page carries no extra cost. Proven end to end: a canvas filled solid blue, uploaded as a WebGL texture and sampled across a full-screen quad, reads back blue, and a registered image source resolves to exactly its pixels, across three new tests. This closes the biggest real-content gap in the WebGL engine, so the Web APIs aspect moves 58 to 59; the overall holds at 56 (still a software renderer, with framebuffer objects and a depth test the remaining WebGL depth).