Bug 37412
Summary: | [Qt] Sandbox resource handling in WebGL | ||
---|---|---|---|
Product: | WebKit | Reporter: | Jarkko Sakkinen <jarkko.j.sakkinen> |
Component: | WebKit Qt | Assignee: | Jarkko Sakkinen <jarkko.j.sakkinen> |
Status: | RESOLVED WONTFIX | ||
Severity: | Enhancement | CC: | jesus |
Priority: | P2 | Keywords: | Qt, QtTriaged |
Version: | 528+ (Nightly build) | ||
Hardware: | All | ||
OS: | All |
Jarkko Sakkinen
WebGL context contains following resources:
- buffers
- framebuffers
- programs
- shaders
- renderbuffers
- textures
In create methods GraphicsContext3D should return virtual resource handle instead of real resource handle for these because of the following reasons:
* Unshared WebGL context: framebuffer is visible from Javascript unless resources are sandboxed.
* Shared WebGL context: framebuffer and webview GL context resources are visible from JavaScript unless resources are sandboxed.
* Some Web pages might fail since they might assume resource IDs starting from zero.
Allocate and proxy virtual handles and map them to real resource handles instead in order to resolve this situation.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Jarkko Sakkinen
I'm working on a patch for this. It is trivial to solve but requires some work.
Jarkko Sakkinen
I think this is something that should be handled higher level than GraphicsContext3D implementation. Have to check if this already addressed in higher level WebGL code.
Jarkko Sakkinen
WebGL resource management is handled in canvas code.