summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2022-03-31LibPDF: Fix some base-encoding-related crashesMatthew Olsson
2022-03-31LibPDF: Add Type0 and TrueType fontsMatthew Olsson
2022-03-31LibPDF: Abstract Type1 font dataMatthew Olsson
TTF font types will use the same data
2022-03-31LibPDF: Accept font size in PDFFont::get_char_widthMatthew Olsson
This will be required for TTF fonts
2022-03-31LibPDF: Move font files into their own directoryMatthew Olsson
2022-03-31LibPDF: Use Font /Widths array to derive character widthsMatthew Olsson
This makes the spacing between chars _much_ better!
2022-03-31LibPDF: Use AntiAliasingPainter in Renderer when possibleMatthew Olsson
2022-03-31LibPDF: Fix more bad Renderer text positioning calculationsMatthew Olsson
2022-03-31LibPDF: Handle SCN and scn operatorsMatthew Olsson
2022-03-31LibPDF: Add basic ICCBased color space handlingMatthew Olsson
2022-03-31LibPDF: Move color space creation from Renderer to ColorSpaceMatthew Olsson
2022-03-31LibJS: Adjust ISO8601 representation for years between 1 BCE and 999 CELinus Groh
This is a normative change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/39eeecd
2022-03-31LibJS: Correct PlainYearMonth arithmetic for non-ISO calendarsLinus Groh
This is a normative change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/61e8dd0
2022-03-31LibJS: Handle Etc/GMT timezones properly in TimeZone{IANA,Bracketed}NameLinus Groh
This is a normative change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/8c73780
2022-03-31LibJS: Emit reference information for { calendarName: "always" } optionLinus Groh
This is a normative change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/4f7519a
2022-03-31LibJS: Fix Duration.compare() for dates with unusual number of hoursLinus Groh
This is a normative change in the Temporal spec. See: - https://github.com/tc39/proposal-temporal/commit/08bcd53 - https://github.com/tc39/proposal-temporal/commit/e962797
2022-03-31Browser+WebContent: Add a Debug menu action to disable scripting :^)Linus Groh
2022-03-31WebContent: Add plumbing for 'is scripting enabled' settingLinus Groh
2022-03-31LibWeb: Add 'is scripting enabled' concept to EnvironmentSettingsObjectLinus Groh
This is now the source of truth for 'user enabled/disabled scripting', but it has to ask the window's page, which actually stores the setting. Also use this new functionality in two places where it was previously marked as a FIXME.
2022-03-31LibWeb: Remove Document::is_scripting_enabled() and use Node'sLinus Groh
There's no need to have a custom is_scripting_enabled() for the Document class, as it (indirectly) inherits from Node. Also, let's not hardcode false here :^)
2022-03-31LibJS: Add explicit default copy+move constructors to ThrowCompletionOrHendiadyoin1
This stops clangd from complaining about not being able to determine the copy-constructibility of ThrowCompletionOr and Completion.
2022-03-31LibELF: Remove unused m_program_interpreter member from DynamicLoaderBrian Gianforcaro
While profiling I realized that this member is unused, so the StringBuilder and String allocation are completely un-necessary.
2022-03-31LibELF: Skip DynamicObject::dump() if logging isn't enabledBrian Gianforcaro
I noticed that we were populating this StringBuilder and then throwing away the result while profiling `true` with UserSpace emulator. Before: courage:~ $ time -n 1000 true Timing report: 3454 ms ============== Command: true Average time: 3.45 ms (median: 3, stddev: 3.42, min: 0, max:11) Excluding first: 3.45 ms (median: 3, stddev: 3.42, min: 0, max:11) After: courage:~ $ time -n 1000 true Timing report: 3308 ms ============== Command: true Average time: 3.30 ms (median: 3, stddev: 3.28, min: 0, max:12) Excluding first: 3.30 ms (median: 3, stddev: 3.29, min: 0, max:12)
2022-03-31LibWeb: Add the HTMLOrSVGElement IDL interface mixinIdan Horowitz
2022-03-31LibWeb: Use a callback function in ResizeObserver IDLIdan Horowitz
2022-03-31LibWeb: Use a callback function in IntersectionObserver IDLIdan Horowitz
2022-03-31LibWeb: Replace ad-hoc EventHandler type with callback function typedefIdan Horowitz
2022-03-30SpaceAnalyzer: Fix the crash caused by using arrow keysArif Orhun Uzun
Previously, SpaceAnalyzer set focus on the selected BreadcrumbButton. Using arrow keys triggered the keydown_event of the AbstractButton, which later on caused a Function object to be deleted while it is still being used. This change sets the focus on TreeMapWidget and adds an event handler to TreeMapWidget for keydown events. Fixes #13254.
2022-03-30LibWeb: Consolidate mouse handling + only trigger event on left clicksin-ack
This commit moves a couple more special cases in mouse event handling to handle_mouseup. Additionally, it gets rid of the special casing with should_dispatch_event and only fires a click event to the EventTarget when the left mouse button is clicked. Finally it restores the link context menu callback that was lost during 0fc8c65.
2022-03-30LibWeb: Fix sizing of flex child that has flex-basis 0Enver Balalic
Before if an element didn't have a main min size we would clamp it to a literal zero. If that element also had a flex-basis 0 it's width would end up being 0. This patch adds a determine_min_main_size_of_child function that will calculate the minimum main size for the box based on the content of the box. We use the result of that function now instead of clamping the element main min size to 0. This also adds one more box to the flex.html test page, which is the same flex: 0 0 0 box but with flex-direction: column.
2022-03-30LibWeb: Fix calculating the intrinsic height of a boxEnver Balalic
For computing height in FormattingContext::calculate_intrinsic_sizes we were calling into BlockFormattingContext::compute_theoretical_height which will check if the CSS height property was defined and calculate the height based on that instead of calculating the intrinsic height This patch adds a new function calculate_intrinsic_height, which will call into compute_auto_height_for_block_level_element for a block element, or into compute_height_for_replaced_element for a replaced element.
2022-03-30LibWeb: Add Crypto.randomUUID()stelar7
2022-03-30LibWeb: Remove redundant `[[nodiscard]]` from CSS Parser methodsSam Atkins
Optional and smart-pointers are already `[[nodiscard]]` so functions returning them do not need to be declared as such.
2022-03-30LibWeb: Implement and use `parse_a_style_blocks_contents()`Sam Atkins
2022-03-30LibWeb: Tidy up StyleRule APISam Atkins
Constantly accessing private `m_foo` fields feels uncomfortable and doesn't fit well with our code style.
2022-03-30LibWeb: Spec-comment `consume_a_function()`Sam Atkins
2022-03-30LibWeb: Spec-comment `consume_a_simple_block()`Sam Atkins
2022-03-30LibWeb: Comment discrepancy from spec in `consume_a_declaration()`Sam Atkins
We're calling this in a way that is incorrect, and so the algorithm's assumption that the next token is an `<ident-token>` is wrong, and we have to handle that failing. Ideally we would just stop calling this incorrectly, but until then, let's actually document what is happening.
2022-03-30LibWeb: Spec-comment `consume_a_component_value()`Sam Atkins
2022-03-30LIbWeb: Spec-comment `consume_a_list_of_declarations()`Sam Atkins
2022-03-30LibWeb: Spec-comment `consume_a_qualified_rule()`Sam Atkins
2022-03-30LibWeb: Spec-comment `consume_an_at_rule()`Sam Atkins
2022-03-30LibWeb: Spec-comment `consume_a_list_of_rules()`Sam Atkins
2022-03-30LibWeb: Spec-comment `parse_a_comma_separated_list_of_component_values`Sam Atkins
The code had to change a bit to match. Previously, we appended an empty sub-list immediately, but now we append it at the end. The difference is that if there are no tokens, we now correctly return an empty list-of-lists, instead of a list containing an empty list.
2022-03-30LibWeb: Spec-comment `parse_a_list_of_component_values()`Sam Atkins
2022-03-30LibWeb: Spec-comment `parse_a_component_value()`Sam Atkins
2022-03-30LibWeb: Spec-comment `parse_a_list_of_declarations()`Sam Atkins
The `parse_as_list_of_declarations()` public method is unused and will not be used by any user code so has been removed.
2022-03-30LibWeb: Bring `parse_a_declaration()` to spec and add commentsSam Atkins
User code now calls `parse_as_supports_condition()` which actually does the conversion to a StyleProperty.
2022-03-30LibWeb: Spec-comment `parse_a_rule()`Sam Atkins
We now correctly call convert_to_rule() outside of this function. As before, I've renamed `parse_as_rule()` -> `parse_as_css_rule()` to match the free function that calls it.
2022-03-30LibWeb: Use parse_a_list_of_rules() for `@media` and `@supports`Sam Atkins
From the spec: > "Parse a list of rules" is intended for the content of at-rules such > as @media. It differs from "Parse a stylesheet" in the handling of > <CDO-token> and <CDC-token>. - https://www.w3.org/TR/css-syntax-3/#ref-for-parse-a-list-of-rules