Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-10-14 | LibWeb: Make intrinsic width/height/ratio a Box concept and simplify it | Andreas Kling | |
Apparently it's not only replaced elements that can have intrinsic sizes, so let's move this concept from ReplacedBox to Box. To avoid bloating Box, we make the accessors virtual. | |||
2021-10-14 | LibJS: Change normal_completion() parameter to Optional<Value> | Linus Groh | |
The Completion constructor `VERIFY()`s that the passed argument is not an empty Value, so normal_completion({}) would crash (although it's currently not being used anywhere). We want to pass an empty Optional<Value> instead. | |||
2021-10-14 | LibWeb: Stub out a basic IntersectionObserver interface | Timothy Flynn | |
Note there are a couple of type differences between the spec and the IDL file added in this commit. For example, we will need to support a type of Variant to handle spec types such as "(double or sequence<double>)". But for now, this allows web pages to construct an IntersectionObserver with any valid type. | |||
2021-10-14 | js: Implement pretty-printing of ShadowRealm | Linus Groh | |
2021-10-14 | LibJS: Implement ShadowRealm.prototype.evaluate() | Linus Groh | |
2021-10-14 | LibJS: Implement ShadowRealm.prototype[@@toStringTag] | Linus Groh | |
2021-10-14 | LibJS: Start implementing ShadowRealm | Linus Groh | |
This commit adds the ShadowRealm object itself, its constructor, and prototype (currently empty). | |||
2021-10-14 | LibJS: Implement Wrapped Function Exotic Objects | Linus Groh | |
This is a new concept from the ShadowRealm API stage 3 proposal: https://tc39.es/proposal-shadowrealm/#sec-wrapped-function-exotic-objects | |||
2021-10-13 | LibWeb: Add spec comments to FFC layout algorithm step 2 | Andreas Kling | |
2021-10-13 | LibWeb: Add spec comments to FFC layout algorithm step 5 | Andreas Kling | |
2021-10-13 | LibWeb: Tidy up and add spec comments to FFC layout algorithm step 3 | Andreas Kling | |
2021-10-13 | LibWeb: Add CSS::FlexBasisData::is_definite() | Andreas Kling | |
This will allow some more expressive code in FlexFormattingContext. | |||
2021-10-13 | LibWeb: Add FFC::flex_container() and use throughout | Andreas Kling | |
Since FFC is only ever run() on the flex container, we can assume (but verify) that the run box is the flex container and use an accessor throughout. The end result: less parameter passing. | |||
2021-10-13 | LibWeb: Make FFC line and item vectors members instead of locals | Andreas Kling | |
This gives all member functions access to these vectors without having to pass them as arguments. | |||
2021-10-13 | LibWeb: Make various function parameters const in FlexFormattingContext | Andreas Kling | |
This is mainly to validate that inputs are treated as inputs only and don't get written to. | |||
2021-10-13 | LibWeb: Move FFC layout algorithm step 16 to a separate function | Andreas Kling | |
2021-10-13 | LibWeb: Move FFC layout algorithm step 15 to a separate function | Andreas Kling | |
2021-10-13 | LibWeb: Move FFC layout algorithm step 14 to a separate function | Andreas Kling | |
2021-10-13 | LibWeb: Move FFC layout algorithm step 12 to a separate function | Andreas Kling | |
2021-10-13 | LibWeb: Move FFC layout algorithm step 11 to a separate function | Andreas Kling | |
2021-10-13 | LibWeb: Move FFC layout algorithm step 8 to a separate function | Andreas Kling | |
2021-10-13 | LibWeb: Move FFC layout algorithm step 7 to a separate function | Andreas Kling | |
2021-10-13 | LibWeb: Move FFC layout algorithm step 6 to a separate function | Andreas Kling | |
2021-10-13 | LibWeb: Move FFC layout algorithm step 5 to a separate function | Andreas Kling | |
2021-10-13 | LibWeb: Move FFC layout algorithm step 4 to a separate function | Andreas Kling | |
2021-10-13 | LibWeb: Move FFC layout algorithm step 3 to a separate function | Andreas Kling | |
2021-10-13 | LibWeb: Move FFC layout algorithm step 2 into a separate function | Andreas Kling | |
Determining the available main and cross space is now done by a separate function. The signature is a little bit hairy since this function computes some things that are used by subsequent algorithm steps. Factoring can definitely be improved further. | |||
2021-10-13 | LibWeb: Turn FlexFormattingContext helper lambdas into member functions | Andreas Kling | |
Continuing on the quest towards making FlexFormattingContext readable. | |||
2021-10-13 | LibWeb: Call the FlexFormattingContext context box "flow_container" | Andreas Kling | |
This is what the spec calls it and makes the code much less ambiguous. | |||
2021-10-13 | LibWeb: Split out FFC's "generate anonymous flex items" to a function | Andreas Kling | |
Let's begin splitting the FlexFormattingContext layout algorithm into separate functions to make it more manageable. | |||
2021-10-13 | LibWeb: Fix bogus 'none' values for resolved min-width and min-height | Andreas Kling | |
In CSS 'none' is not a valid value for min-width or min-height. The fallback resolved value should be 'auto' for them. | |||
2021-10-13 | LibWeb: CSS display:position does not imply definite size | Andreas Kling | |
Per css-sizing-3: Additionally, the size of the containing block of an absolutely positioned element is always definite with respect to that element. As I understand this, it doesn't mean that all absolutely positioned boxes have definite size, but that the containing block of an absolutely positioned descendant has definite size from the perspective of the descendant. | |||
2021-10-13 | SystemMonitor: Save refresh frequency to a config file | Undefine | |
2021-10-13 | arp: Preserve error if only the first ioctl fails | Ben Wiederhake | |
2021-10-13 | SystemServer: Avoid uninitialized memory | Ben Wiederhake | |
2021-10-13 | LibC: Use the new pread syscall to implement pread | Rodrigo Tobar | |
This new implementation of pread saves two lseek system calls and is thread-safe thanks to it simply forwarding the call to the pread system call. | |||
2021-10-13 | LibJS: Convert to_object() to ThrowCompletionOr | Linus Groh | |
2021-10-13 | LibJS: Convert to_primitive() to ThrowCompletionOr | Linus Groh | |
2021-10-13 | LibJS: Convert to_primitive_string() to ThrowCompletionOr | Linus Groh | |
2021-10-13 | LibJS: Convert to_utf16_string() to ThrowCompletionOr | Linus Groh | |
2021-10-13 | LibJS: Convert to_string() to ThrowCompletionOr | Linus Groh | |
Also update get_function_name() to use ThrowCompletionOr, but this is not a standard AO and should be refactored out of existence eventually. | |||
2021-10-12 | strace: Add command line options to filter syscalls | Rodrigo Tobar | |
By default strace outputs all system calls the monitored process invokes, but it's sometimes useful to either exclude some calls, or to include only some others. This commit adds two new command line options to specify two exclusion/inclusion command-delimited lists of system calls. These are then used to decide if an intercepted system call should be displayed in the output or not. | |||
2021-10-12 | strace: Show sun_path on AF_UNIX socket addresses | Rodrigo Tobar | |
2021-10-12 | strace: Add support for get{u,eu,g,eg,p,pp}id syscalls | Rodrigo Tobar | |
All these take no arguments so there's no formatting to be done. | |||
2021-10-12 | strace: Add formatting for clock_gettime | Rodrigo Tobar | |
2021-10-12 | strace: Add initial ioctl formatting | Rodrigo Tobar | |
This is useful in general, but adding it is what finally helped uncovering #10438. | |||
2021-10-12 | LibWeb: Mark elements for style update after their children change | Andreas Kling | |
2021-10-12 | LibWeb: Re-mark nodes as needing style after moving between documents | Andreas Kling | |
Since style update is driven by Document, moving a node with dirty style from one document to another means that we have to schedule a style update in the new document. | |||
2021-10-12 | LibWeb: Style update must recurse into nodes with dirty children | Andreas Kling | |
It's not enough to only visit nodes which are themselves dirty, we have to also visit those with dirty children. | |||
2021-10-12 | LibWeb: Remove a bunch of pointless "else" in EventHandler | Andreas Kling | |