Kenneth Myhra
57626c4f9a
LibWeb: Migrate WebSockets::WebSocket to String
2023-06-17 20:38:20 +02:00
Kenneth Myhra
c03c0ec900
AK: Add URL::to_string() returning a String
...
For convenience wire up a to_string() method which returns a new String.
2023-06-17 20:38:20 +02:00
Sam Atkins
b264d29515
Snake: Show status tips in Statusbar
2023-06-17 20:36:03 +02:00
Sam Atkins
46f365df5c
MasterWord: Show status tips in Statusbar
2023-06-17 20:36:03 +02:00
Sam Atkins
2dc96155f7
GameOfLife: Show status tips in Statusbar
2023-06-17 20:36:03 +02:00
Sam Atkins
f3b08ffc8a
SpaceAnalyzer: Show status tips in Statusbar
2023-06-17 20:36:03 +02:00
Sam Atkins
aa7346d23e
HexEditor: Show status tips in Statusbar
2023-06-17 20:36:03 +02:00
Sam Atkins
200892868a
ThemeEditor: Add a recent files list
2023-06-17 20:36:03 +02:00
Sam Atkins
16240942ba
ThemeEditor: Add a Statusbar
2023-06-17 20:36:03 +02:00
Sam Atkins
ae6bde6847
GMLPlayground: Add a Statusbar
2023-06-17 20:36:03 +02:00
Sam Atkins
506f9484e3
LibGUI: Give recent-file actions a nicer status tip
...
"Open /path/to/file" instead of just "/path/to/file".
2023-06-17 20:36:03 +02:00
Andreas Kling
c374541711
LibWeb: Use correct reference for abspos elements with % height sizes
...
Absolutely positioned elements should have their percentage sizes
resolved against the padding box of the containing block, not the
content box.
From CSS-POSITION-3 <https://www.w3.org/TR/css-position-3/#def-cb >
"..the containing block is formed by the padding edge of the ancestor.."
2023-06-17 20:35:19 +02:00
Luke Wilde
357174d8fd
LibJS/Bytecode: Actually get value from super base for computed property
2023-06-17 20:26:14 +02:00
Luke Wilde
1116ba191a
LibJS/Bytecode: Implement optional chaining
2023-06-17 20:26:14 +02:00
Malik Ammar Faisal
c9088fa6ec
LibJS: Add tests for new Obj
with optional chain
2023-06-17 20:01:38 +02:00
Malik Ammar Faisal
5c913d9cc4
LibJS: Correctly handle parentheses and new Object
...
Parses `new Object()?.foo`, `(new Object)?.foo`
and shows syntax error on `new Object?.foo`
2023-06-17 20:01:38 +02:00
Sam Atkins
acaf2368ad
CodeGenerators: Port GenerateCSSValueID to new SourceGenerator API
2023-06-17 17:48:06 +01:00
Sam Atkins
acb600496b
CodeGenerators: Port GenerateCSSTransformFunctions to new SourceGen API
2023-06-17 17:48:06 +01:00
Sam Atkins
d197b4b051
CodeGenerators: Port GenerateCSSPropertyID to new SourceGenerator API
2023-06-17 17:48:06 +01:00
Sam Atkins
e7dd5e5b05
CodeGenerators: Port GenerateCSSMediaFeatureID to new SourceGen API
2023-06-17 17:48:06 +01:00
Sam Atkins
17473e3d5e
CodeGenerators: Port GenerateCSSEnums to new SourceGenerator API
2023-06-17 17:48:06 +01:00
Sam Atkins
8e53e5afc4
AK: Propagate errors from SourceGenerator::fork()
2023-06-17 17:48:06 +01:00
Sam Atkins
540cc42618
CodeGenerators: Convert GeneratorUtil to String
...
I may have got a little carried away propagating some of the errors. :^)
2023-06-17 17:48:06 +01:00
Sam Atkins
f902d4d5e7
AK: Introduce fallible SourceGenerator API
2023-06-17 17:48:06 +01:00
Sam Atkins
747d1aaa98
AK: Use String internally for SourceGenerator
...
Also sneak in a little error propagation. We keep the existing
DeprecatedString API for now.
2023-06-17 17:48:06 +01:00
Sam Atkins
9c05b83540
AK: Use consume_until
in SourceGenerator
...
This got fixed a while ago to not consume the stop character, so we can
remove the workaround.
2023-06-17 17:48:06 +01:00
Sam Atkins
c8eafd3700
AK: Remove SourceGenerator::as_string()
...
Turns out nobody uses this!
2023-06-17 17:48:06 +01:00
Andreas Kling
eee4b6eca7
LibJS/Bytecode: Let var
without initializer codegen to nothing
...
Otherwise we incorrectly overwrite the binding with `undefined` at the
point where the `var` statement is.
Fixes 9 test262 tests. :^)
2023-06-17 15:37:33 +02:00
Andreas Kling
743943a042
LibJS/Bytecode: Reorder function compilation to ensure correct hoisting
...
Fixes 37 test262 tests. :^)
Co-authored-by: Luke Wilde <lukew@serenityos.org>
2023-06-17 15:37:33 +02:00
Andreas Kling
9c568282dc
Ladybird+LibJS: Add CLI option to run browser with LibJS bytecode VM
...
This required quite a bit of plumbing, but now you can run
ladybird --use-bytecode
2023-06-17 14:16:45 +02:00
Luke Wilde
7ec7015750
LibWeb: Create an audio document for audio/
MIME types on navigation
2023-06-17 14:16:26 +02:00
stelar7
d6db924d47
LibWeb: Implement CSS rem()
2023-06-17 12:13:28 +01:00
stelar7
dc042662d1
LibWeb: Implement CSS mod()
2023-06-17 12:13:28 +01:00
stelar7
b2230c826b
LibWeb: Implement CSS round()
2023-06-17 12:13:28 +01:00
djwisdom
ec0054da06
Ports: Update serenity-theming use latest commit 43c42c9
2023-06-17 06:27:56 -04:00
Luke Wilde
26f8a441f5
LibWeb: Add audio mime types to HTMLMediaElement.canPlayType
...
Now that we support audio, we can start correctly reporting we support
certain audio mime types!
Required by certain sites like Gartic Phone, which fails to load audio
because we didn't return a non-empty string for `audio/mpeg`:
```
"https://garticphone.com/sounds/turnundefined ", Error: Load failed: 404
```
```js
(new Audio).canPlayType("audio/mpeg") && (this._extension = ".mp3"),
```
2023-06-17 06:26:56 -04:00
Andreas Kling
d89e0b36d4
LibJS/Bytecode: Support class field initializers
...
Fixes 513 test262 tests. :^)
2023-06-17 11:00:39 +02:00
Andreas Kling
82828ad936
LibJS/Bytecode: Extract accumulator value before incurring side effects
...
Many operations in JavaScript may incur side effects, including calling
arbitrary user code. Since the user code will clobber the accumulator,
we have to take care to extract anything we need from the accumulator
before doing anything that may have side effects.
Fixes 3 test262 tests. :^)
2023-06-17 11:00:39 +02:00
tgsm
c30775522e
LibCompress/Gzip: Replace usage of DeprecatedString
2023-06-17 06:44:16 +02:00
Simon Wanner
7990f1b85a
LibXML: Fix parser not leaving self-closing tags
2023-06-17 06:39:21 +02:00
MacDue
4f2770a745
LibWeb: Apply canvas transform while building paths
...
The transform can change between path building operations (and before
the path is filled or stroked). This fixes the sun ray backgroun on
the https://www.kevs3d.co.uk/dev/html5logo/ canvas demo.
2023-06-17 06:38:32 +02:00
MacDue
9e57f8d183
LibGfx: Invalidate path bounding boxes when invalidating split lines
...
If the lines are no longer valid then the bounding box (which is derived
from the lines) is also invalid.
2023-06-17 06:38:32 +02:00
stelar7
4436ab0cb1
LibWeb: Handle calculated vertical-align
2023-06-17 06:33:52 +02:00
kamp
c476ff10a5
LibWeb/CSS: Update Default.css from the HTML specification
2023-06-17 06:31:28 +02:00
Andreas Kling
61148bce5f
LibJS/Bytecode: Use the correct this
value in GetById
...
The fix for this was to port the "don't create unnecessary FooObject
for property access on primitives" optimization from Reference,
which also brings us the correct behavior.
2023-06-16 21:46:43 +02:00
Andreas Kling
dbfe1311ef
LibJS/Bytecode: Simplify creating/leaving lexical environment
...
Since we no longer need to create or leave var environments directly
in bytecode, we can streamline the two instructions by making them
always operate on the lexical environment.
2023-06-16 21:46:43 +02:00
Andreas Kling
12ce0789da
LibJS/Bytecode: Remove BlockBoundaryType::LeaveVariableEnvironment
...
We never need to manually exit a var environment from bytecode anymore.
2023-06-16 21:46:43 +02:00
Andreas Kling
ac246d764d
LibJS/Bytecode: Leave BlockDeclarationInstantiation in C++
...
Instead of implementing this AO in bytecode, we now have an instruction
for it that simply invokes the C++ implementation.
This allows us to simplify Bytecode::Generator quite a bit by removing
all the variable scope tracking.
2023-06-16 21:46:43 +02:00
Andreas Kling
4684d3fe54
LibJS: Make BlockDeclarationInstantiation take a VM&
...
There's no need for this to require an AST Interpreter.
2023-06-16 21:46:43 +02:00
Timothy Flynn
9e95c9892c
Ladybird+LibWeb+WebContent: Add context menu controls for muting audio
2023-06-16 19:34:42 +02:00