Shannon Booth
6a2a7cad61
LibWeb/LibJS: Avoid GC visit of raw pointers where possible
...
This is mostly motivated for aesthetics, but also helps avoid some null
checks when we have a NonnullGCPtr<T> or in some cases a T&.
2023-11-19 08:05:45 +00:00
Shannon Booth
e8d592ded2
LibWeb: Port WebGLRenderingContext IDL from DeprecatedString to String
2023-08-29 10:05:02 +02:00
Andreas Kling
70db40c9b0
LibWeb: Don't include Layout/Node.h from DOM/Element.h
...
This required moving the CSS::StyleProperty destruct out of line.
2023-05-08 09:29:44 +02:00
Jelle Raaijmakers
ae82b14e59
LibGL+LibWeb: Remove WebGL-specific API from GLContext
...
The OpenGL API has ways to retrieve these values, so let's make sure to
implement them. :^)
2022-12-25 15:48:59 +01:00
Linus Groh
6e19ab2bbc
AK+Everywhere: Rename String to DeprecatedString
...
We have a new, improved string type coming up in AK (OOM aware, no null
state), and while it's going to use UTF-8, the name UTF8String is a
mouthful - so let's free up the String name by renaming the existing
class.
Making the old one have an annoying name will hopefully also help with
quick adoption :^)
2022-12-06 08:54:33 +01:00
Andrew Kaster
beb3519a49
LibWeb: Remove unecessary dependence on Window from WebGL and WebSocket
...
These classes only needed Window to get at its realm. Pass a realm
directly to construct WebGL and WebSocket classes.
2022-10-01 21:05:32 +01:00
Andreas Kling
4452b5ca09
LibWeb: Make 2D and 3D canvas rendering contexts GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
6f433c8656
LibWeb+LibJS: Make the EventTarget hierarchy (incl. DOM) GC-allocated
...
This is a monster patch that turns all EventTargets into GC-allocated
PlatformObjects. Their C++ wrapper classes are removed, and the LibJS
garbage collector is now responsible for their lifetimes.
There's a fair amount of hacks and band-aids in this patch, and we'll
have a lot of cleanup to do after this.
2022-09-06 00:27:09 +02:00
Luke Wilde
50642f85ac
LibWeb/WebGL: Add WebGLRenderingContextBase.canvas
2022-06-27 22:54:41 +01:00
Luke Wilde
0ec8a19a34
LibWeb/WebGL: Forward the render context ref count to HTMLCanvasElement
...
This allows HTMLCanvasElement and WebGL rendering contexts to share
their lifetime, as JS allows them to arbitrarily access them at any
time and WebGLRCB.canvas expects a non-null return value.
2022-06-27 22:54:41 +01:00
Luke Wilde
0805911a93
LibWeb/WebGL: Implement WebGLRenderingContextBase.depthRange()
2022-06-13 21:45:27 +01:00
Luke Wilde
d9ef228c76
LibWeb/WebGL: Implement WebGLRenderingContextBase.lineWidth()
2022-06-13 21:45:27 +01:00
Luke Wilde
a6617e1096
LibWeb/WebGL: Implement error handling and getError()
2022-06-13 21:45:27 +01:00
Luke Wilde
528c7bea03
LibWeb/WebGL: Add WebGLRenderingContextBase.isContextLost()
2022-06-13 21:45:27 +01:00
Luke Wilde
39a212b54f
LibWeb/WebGL: Add a bunch of simple forwarding functions
...
This collection of functions simply check if the context is still
alive, then forward the call to the GL context.
2022-06-13 21:45:27 +01:00
Luke Wilde
aa77c26b60
LibWeb/WebGL: Add extensions APIs to WebGLRenderingContextBase
...
These currently return nothing, as we don't currently support any WebGL
extensions.
2022-06-13 21:45:27 +01:00
Luke Wilde
076c9772a4
LibWeb: Add ability to present LibGL framebuffer and add clearing
2022-06-13 21:45:27 +01:00
Luke Wilde
58f882200c
LibWeb: Add the ability to retrieve a WebGL context from getContext
2022-06-13 21:45:27 +01:00