summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2022-04-01LibGfx: Return kerning values as a `float` instead of `int`Jelle Raaijmakers
This allows for a more precise rounding of glyph positions.
2022-04-01LibGfx: Implement font kerning for `Painter::draw_text_run`Jelle Raaijmakers
2022-03-31LibWeb: Flex fix minimum main size in min/max violations calculationEnver Balalic
While calculating the minimum size for main min/max size violations we were flooring the min size to 0 if the item doesn't have a min main size. Instead of that determine the intrinsic min main size of that element. This fixes the flex: 80% 0 4/1/0 test case in the flex.html test page. This case was missed in a previous commit that added the determine_min_main_size_of_child function
2022-03-31LanguageServers/Cpp: Add SemanticType::PreprocessorMacroItamar
This adds a new semantic token type, PreprocessorMacro. Calls to preprocessor macros will now be highlighted when semantic highlighting is enabled in Hack Studio.
2022-03-31LibCpp: Fix parsing of macro callsItamar
Previously, macro calls with 0 arguments where incorrectly parsed as calls to a macro with a single argument that doesn't contain any tokens.
2022-03-31LibGUI: Add AutocompleteProvider::TokenInfo::type_to_string()Itamar
2022-03-31PixelPaint: Draw layer thumbnails with bilinear filteringAndreas Kling
This makes them look a little nicer than basic nearest-neighbor.
2022-03-31LibJS: Allow JS::make_handle(T*) to be called with nullptrAndreas Kling
Instead of asserting, just return an empty Handle.
2022-03-31LibJS: Don't assume that for-in/of target is a variable on LHS::AssignAli Mohammad Pur
e.g. `for ([foo.bar] in ...)` is actually a binding pattern.
2022-03-31LibJS: Implement codegen for MemberExpression binding patternsAli Mohammad Pur
2022-03-31LibJS: Implement bytecode generation for all ObjectExpression propertiesAli Mohammad Pur
2022-03-31LibPDF: Fix security-handler-related nullptr regressionMatthew Olsson
2022-03-31LibPDF: Fix mismatched class/struct declarationMatthew Olsson
2022-03-31PDFViewer: Use ArgsParserMatthew Olsson
2022-03-31LibPDF: Rename Command to OperatorMatthew Olsson
This is the correct name, according to the spec
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.