Andi Gallo
b69036970b
LibWeb: Add layout support for border spacing
...
When border-collapse is separate, border-spacing affects layout.
Implement most of that functionality.
2023-06-16 13:57:31 +02:00
Andi Gallo
396f1a977c
LibWeb: Add CSS support for border-spacing property
2023-06-16 13:57:31 +02:00
Timothy Flynn
f662a452c9
LibWeb: Draw a volume scrub bar on media elements to control volume
2023-06-16 13:50:15 +02:00
Timothy Flynn
a4cb3b5d4d
LibWeb: Draw a speaker on media elements to toggle muting audio
2023-06-16 13:50:15 +02:00
Timothy Flynn
1107cb58c0
LibWeb: Compute some media timeline rects/sizes before painting anything
...
The idea here is to let us decide ahead of time what components to paint
depending on the size available. We currently paint each component left-
to-right, until we run out of room. This implicitly gives priority to
the left-most components.
We will soon paint volume controls on the right-side of the timeline.
Subjectively, they should have a higher priority than, say, the timeline
scrubbing bar (i.e. it's more important to be able to mute audio than to
seek). By computing these components before painting, we can more easily
allocate sections to the components in priority order, until the area
remaining has been depleted.
2023-06-16 13:50:15 +02:00
Timothy Flynn
55b61724a0
LibWeb: Handle media elements being painted before their duration is set
...
It can take some time to download / decode a media resource. During this
time, its duration is set to NaN. The media control box would then have
some odd rendering glitches as it tried to treat NaN as an actual time.
Once we do have a duration, we also must ensure the media control box is
updated.
2023-06-16 13:50:15 +02:00
Timothy Flynn
8cb0197eeb
LibWeb: Slightly decrease the font size used for media timestamps
...
The default scaled font is currently quite large on Ladybird. Decrease
it a bit to make more room for other elements.
2023-06-16 13:50:15 +02:00
Timothy Flynn
54e674974e
LibWeb: Use the scaled font size when computing media timestamp width
...
We draw the text for the timestamp using the scaled font, so we must
also compute its width using the scaled font.
2023-06-16 13:50:15 +02:00
Timothy Flynn
b9e4dc2cb7
LibWeb: Implement the HTMLMediaElement volume and muted IDL attributes
2023-06-16 13:50:15 +02:00
Timothy Flynn
d3b8d88598
LibWeb: Expose volume controls through the platform audio plugin
2023-06-16 13:50:15 +02:00
Andreas Kling
d364d99cb8
LibJS/Bytecode: Perform ToNumeric on accumulator before postfix inc/dec
...
This ensures we get the expected behavior of code like:
let a = []
let b = a++
(Where b should be 0, not [], because JavaScript.)
2023-06-16 12:56:39 +02:00
Andreas Kling
c9bd324369
LibJS/Bytecode: Set "home object" of functions within object expression
...
We manage this by having a stack of home objects in Generator, and then
adding an optional home object parameter to the NewFunction instruction.
2023-06-16 12:56:39 +02:00
Xuekun Li
a33af174b2
LibGUI: Prevent crashes/hangs when deleting words backwards
...
When the user hits <Ctrl-Backspace> where the previous content has the
format [Punctuation|Seperator]+ before the cursor, there will be a
size_t index underflow in TextDocument::first_word_break_before,
which returns an invalid word break position with a huge column index
(18446744073709551615, -1 in size_t). The invalid text position later
used for executing RemoveTextCommand will cause a crash.
The while loop condition in TextDocument::first_word_break_before is
not right, the loop will never stop when the target.column() becomes
0 inside.
2023-06-16 08:20:09 +01:00
Andreas Kling
6f39882f11
LibJS/Bytecode: Fix multiple wrong jumps in ForStatement codegen
2023-06-16 08:40:45 +02:00
Andreas Kling
0772a23c65
LibJS/Bytecode: Add "raw" property correctly for tagged template literal
...
We were adding it to the wrong object before. :^)
2023-06-16 08:40:45 +02:00
Andreas Kling
2ac8a4bbb7
LibJS/Bytecode: Add support for direct eval()
...
This is implemented as a special mode of the Call opcode that invokes
the PerformEval AO (instead of the Call or Construct AO).
2023-06-16 08:40:45 +02:00
Andreas Kling
8a3e350321
LibJS/Bytecode: Don't choke on MemberExpression with PrivateIdentifier
2023-06-16 08:40:45 +02:00
Andreas Kling
d063f35afd
LibJS/Bytecode: Leave GlobalDeclarationInstantiation in C++
...
Don't try to implement this AO in bytecode. Instead, the bytecode
Interpreter class now has a run() API with the same inputs as the AST
interpreter. It sets up the necessary environments etc, including
invoking the GlobalDeclarationInstantiation AO.
2023-06-16 08:40:45 +02:00
Andreas Kling
32d9c8e3ca
LibJS: Make GlobalDeclarationInstantiation take a VM&
...
This doesn't need to take an AST Interpreter&.
2023-06-16 08:40:45 +02:00
Andreas Kling
872d798951
LibJS/Bytecode: Leave FunctionDeclarationInstantantiation in C++
...
Instead of trying to implement this AO in bytecode, we can just let it
be a C++ thing. Once we implement fast uncaptured locals, we won't even
be calling it super often.
2023-06-16 08:40:45 +02:00
Tim Ledbetter
17fe2c4822
pkill: Add -O
option to filter processes by age
...
This option allows the user to specify a number of seconds. Only
processes older than the given number of seconds are killed.
2023-06-16 07:22:45 +02:00
Tim Ledbetter
aa79a4ed9a
pkill: Add -o
option to kill the oldest matching process only
2023-06-16 07:22:45 +02:00
Tim Ledbetter
519893d31f
pkill: Add -n
option to kill the newest matching process only
2023-06-16 07:22:45 +02:00
Tim Ledbetter
0621a83cb4
pkill: Allow signal names to be used with the -s
option
2023-06-16 07:22:45 +02:00
Tim Ledbetter
0d71db6721
pkill: Initialize display_number_of_matches
to false
...
This ensures the number of matches is not displayed when the `-c`
option is not specified.
2023-06-16 07:22:45 +02:00
Sam Atkins
cbf84152df
LibWeb: Resolve fill and stroke related CSS properties
2023-06-16 07:03:57 +02:00
Sam Atkins
af51095fe2
LibWeb: Stop making ComputedValues::stroke_width() optional
...
This defaults to 1px and should always have some kind of value.
2023-06-16 07:03:57 +02:00
Sam Atkins
5cdcd135ab
LibWeb: Add parsing for CSS <paint>
values
...
This gets rid of a couple of FIXMEs in Properties.json :^)
2023-06-16 07:03:57 +02:00
kamp
23aae7c7f3
LibWeb: Implement the align attribute for divs
...
As specified in section 15.3.3 of the HTML spec.
2023-06-16 06:55:21 +02:00
kamp
4ac7c41483
LibWeb: Add -libweb-left and -libweb-right text-align values
...
These ensure that block level elements are also left and right aligned
respectively on top of the regular text alignment, matching
-libweb-center.
2023-06-16 06:55:21 +02:00
Nico Weber
7302f8838c
Base: Remove unused png file
...
See here: https://github.com/SerenityOS/serenity/pull/15234#issuecomment-1591477603
2023-06-15 17:44:44 -04:00
Romain Chardiny
dc65a2f2b8
unzip: Add option to list files of an archive
2023-06-15 21:01:51 +01:00
stelar7
a9a62ad8c9
LibWeb: Implement CSS atan2()
2023-06-15 16:54:14 +01:00
stelar7
1aa84dfddd
LibWeb: Implement CSS atan()
2023-06-15 16:54:14 +01:00
stelar7
784e1cfb72
LibWeb: Implement CSS acos()
2023-06-15 16:54:14 +01:00
stelar7
708b5ef447
LibWeb: Implement CSS asin()
2023-06-15 16:54:14 +01:00
stelar7
64f0349a9e
LibWeb: Implement CSS tan()
2023-06-15 16:54:14 +01:00
stelar7
46a5efe388
LibWeb: Implement CSS cos()
2023-06-15 16:54:14 +01:00
stelar7
c73f476915
LibWeb: Implement CSS sin()
2023-06-15 16:54:14 +01:00
stelar7
ba7af82c5c
LibWeb: Parse css math constants
2023-06-15 15:40:55 +01:00
wertzuz
f8527e1cad
AK: Rename fixme to match other FIXMEs
2023-06-15 15:38:50 +01:00
Om Prakaash
7c66c5f12d
LibJS: Replace a DeprecatedString with String
...
Refactors Date class to use String instead of DeprecatedString.
Changes use of the Date class in DatePrototype accordingly.
2023-06-15 14:03:51 +01:00
Karol Kosek
65a927d16e
Help: Clear statusbar when leaving link
2023-06-15 13:53:22 +01:00
Karol Kosek
bd8e16b704
CharacterMap: Override statusbar text on action hover
...
We have quite a lot of nicely described action status tips here that we
have never shown. Let's change that!
2023-06-15 13:53:22 +01:00
Karol Kosek
92ff12a0d0
LibGUI+Userland: Port StatusBar::set_override_text() to String
2023-06-15 13:53:22 +01:00
Karol Kosek
5234a30731
LibGUI+Userland: Port Action status tips to String
2023-06-15 13:53:22 +01:00
Karol Kosek
4b169cf25f
LibGUI+Userland: Use action text as a fallback in Action::status_tip()
...
Many applications already do this in their code. This change will simply
move the logic to a single function to stop repeating ourselves!
2023-06-15 13:53:22 +01:00
Karol Kosek
2029750519
LibGUI+Userland: Port StatusBar::text() and set_text functions to String
2023-06-15 13:53:22 +01:00
Karol Kosek
2064f544c6
LibGUI: Store Statusbar text as String
2023-06-15 13:53:22 +01:00
stelar7
e1e382152c
LibWeb: Implement CSS sign()
2023-06-15 12:26:34 +01:00