summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-19LibWeb: Move QualifiedName.h into LibWeb/DOM/Andreas Kling
2022-02-19LibWeb: Shrink DOM::EventTarget by 80 bytesAndreas Kling
Do this by converting two Function members into virtual functions: - legacy_pre_activation_behavior - legacy_cancelled_activation_behavior
2022-02-19LibWeb: Cache and reuse some very common StyleValue objectsAndreas Kling
Length values: auto, 0px, 1px Color values: black, white, transparent
2022-02-19LibWeb: Turn StyleProperties::m_property_values into an ArrayAndreas Kling
After style computation, every StyleProperties has a value for every PropertyID. Given this, it's simpler, faster and less memory-heavy to use an Array instead of a HashMap. :^)
2022-02-19Kernel: Increase i8042 IO attempt counts, againLinus Groh
This is very similar to the change that was done in 32053e8, except it turned out that the new limit of 50 iterations was not enough when testing on bare metal - most IO operations would succeed in the first or second iteration, but two of them took 140 and 150 iterations respectively. Increase the limit from 50 to 250 to account for this, and have some additional headroom.
2022-02-19Kernel: Only do i8042 existence check via probing as a fallbackLinus Groh
This caused an initialization failure of the i8042 when I tested on bare metal. We cannot entirely get rid of this method as QEMU for example doesn't indicate the existence of an i8042 via ACPI, but we can get away with only doing the manual probing if ACPI is disabled or we didn't get a 'yes' from it. Increasing the number of maximum loops did eventually lead to a successful return from the function, but would later fail the actual self test.
2022-02-19Meta: Use correct variable for checking if the mold linker is usedDaniel Bertalan
This variable was originally called USE_MOLD_LINKER, but it was changed to ENABLE_MOLD_LINKER during review to be consistent with other configuration options. I branched off the commits that added RELR support before this change, and I failed to update the variable name there.
2022-02-19Base: Add some Supplemental Arrows C to KaticaRegular/Bold 10Maciej
They are used by fonts.serenityos.net title :^) Codepoints added: U+1F800-U+1F80B, U+1F810-U+1F813 PDF: https://www.unicode.org/charts/PDF/U1F800.pdf
2022-02-19Meta: Explicitly set number of available inodes for genext2fsGunnar Beutner
According to its manpage genext2fs tries to create the file system with as few inodes as possible. This causes SerenityOS to fail at boot time when creating temporary files.
2022-02-19AK: Don't use x86 assembly when building for non-x86 targetsGunnar Beutner
This allows Lagom to be built successfully for Apple M1. Fixes #12644.
2022-02-19LibWeb: Inspector content_size tooltip in document viewVrins
This adds a small tooltip in the browser showing the size of the element that currently selected in the inspector view. This allows for easier debugging since you dont have to dump the layout tree :^).
2022-02-19Documentation: Add Userland/ to qtcreator include pathDebdut Chakraborty
2022-02-19LibWeb: Add support for CSS image-rendering propertyMaciej
Currently only "auto" and "pixelated" values are supported.
2022-02-19LibGUI: Guard against use-after-free in Clipboard::the()Itamar
We now make sure that a VERIFY will fail if Clipboard::the() is called after the destruction of its static-local variables.
2022-02-19HackStudio: Don't store a global RefPtr to the HackStudioWidgetItamar
Previously, we stored a RefPtr to the HackStudioWidget in the global scope. This led to a destruction-order related use-after-free bug, where the global HackStudioWidget instance destructed after the static-local GUI::Clipboard instance. When HackStudioWidget destructs it attempts to use the global Clipboard instance, which had already been freed. This caused the Hack Studio process to spin endlessly on exit because it attempted to access the HashTable of the freed Clipboard object. We now store a global WeakPtr to the HackStudioWidget instead, and limit the lifetime of the object to the main function scope.
2022-02-19Kernel: Fixed argument passing for profiling_enable syscallJakub Berkop
Arguments larger than 32bit need to be passed as a pointer on a 32bit architectures. sys$profiling_enable has u64 event_mask argument, which means that it needs to be passed as an pointer. Previously upper 32bits were filled by garbage.
2022-02-19Meta: Make `serenity.sh gdb` work with the Clang toolchainDaniel Bertalan
We now pass along the toolchain type to all subcommands. This ensures that gdb will load the correct debug information for kernels compiled with Clang, and the following warning won't appear with the GNU toolchain: > WARNING: unknown toolchain 'gdb'. Defaulting to GNU. > Valid values are 'Clang', 'GNU' (default)
2022-02-19Filemanager: Only enable rename if availableSimon Danner
2022-02-19Shell: Use an opaque default color for BarewordLiteralkperdlich
Use an opaque default color for BarewordLiteral in Syntax Highlighter to avoid transparent barewords.
2022-02-19LibWeb: Return current document URL if form action missing or emptyAdam Plumb
2022-02-19LibWeb: Refresh text-<input> contents when pressing backspace or deleteKenneth Myhra
Make sure to refresh the contents of text-<input> when pressing backspace or delete key. The methods 'handle_insert()' and 'handle_delete()' already had the call to 'm_browsing_context.active_document()->force_layout()' so let us also add it to 'handle_delete_character_after()'.
2022-02-19gml-format: Exit with non-0 exit code when the file formatting changesIdan Horowitz
This let's CI detect when the changes include incorrect GML formatting. We now also print a message to make it obvious why CI failed.
2022-02-18Core: Remove non-existent classes from `Forward.h`James Puleo
2022-02-18LibJS: Ensure we only call toString on computed properties onceAnonymous
2022-02-18LibJS: Unify exponentiation logic for ** operator and Math.powAnonymous
The JS behaviour of exponentiation on two number typed values is not a simple matter of forwarding to ::pow(double, double). So, this factors out the Math.pow logic to allow it to be shared with Value::exp.
2022-02-18LibArchive: Use designated initializersLenny Maiorani
Benefits: - Braced-initialization prevents unknown narrowing conversions. - Using designated initializers will result in a compiler error when a member is skipped or forgotten.
2022-02-18LibArchive: Refactor zip header handlingLenny Maiorani
The directory headers have some common code for reading.
2022-02-18Spreadsheets: Add range functions to the Position classu9g
Adds functions to get range of non-empty cells in a direction.
2022-02-18LibWeb: Use more relevant WebSocket spec linksLinus Groh
Having almost everything point to "3. The WebSocket interface" is kind of pointless.
2022-02-18LibWeb: Move WebSocket into the Web::WebSockets namespaceLinus Groh
WebSockets got moved from the HTML standard to their own, the new WebSockets Standard (https://websockets.spec.whatwg.org). Move the IDL file and implementation into a new WebSockets directory and C++ namespace accordingly.
2022-02-18BrowserSettings: Run gml-format on ContentFilterSettingsWidget.gmlAndreas Kling
2022-02-18LibWeb: Add missing is_length() check in FFC::is_cross_auto()Andreas Kling
We can't access LengthPercentage::length() before verifying that it's indeed a length.
2022-02-18LibWeb: Resolve Lengths to pixels earlierSam Atkins
2022-02-18LibWeb: Remove Length::Type::Undefined! :^)Sam Atkins
2022-02-18LibWeb: Remove redundant Length::resolved() callsSam Atkins
Now that calc() is also resolved in to_px(), code in the form `foo.resolved(bar).to_px(bar)` can be simplified to `foo.to_px(bar)`.
2022-02-18LibWeb: Calculate calc() lengths in to_px()Sam Atkins
to_px() has the layout node available, so let's use it.
2022-02-18LibWeb: Remove fallback value from Length::resolved()Sam Atkins
Nobody makes undefined Lengths now, (although actually removing Undefined will come in a later commit) so we can remove this parameter, and `resolved_or_auto()`/`resolved_or_zero()`.
2022-02-18LibWeb: Use Optional instead of undefined-lengths for widths/heightsSam Atkins
2022-02-18LibWeb: VERIFY when getting a length from an invalid StyleValueSam Atkins
2022-02-18LibWeb: Initialize BoxShadowData lengths to 0px instead of undefinedSam Atkins
2022-02-18LibWeb: Use a Variant for calc() percentage_basisSam Atkins
Depending on the type of the calc() expression, the percentage_basis has to be the same dimension type. Several places were already passing ` {}` for this, so let's make that an empty Variant instead of an undefined Length. :^)
2022-02-18Browser: Add option to open BrowserSettings from Browser :^)Maciej
2022-02-18BrowserSettings: Implement GUI for setting up content filters :^)Maciej
2022-02-18Browser: Add support for disabling content filteringMaciej
Just for completeness.
2022-02-18Browser: Implement listener for most config optionsMaciej
The only option leaved as TODO is ColorScheme.
2022-02-18Browser: Call url_from_user_input for home URLMaciej
This allows omitting HTTP scheme in home URLs.
2022-02-18Browser: Update content filters if the config file changesMaciej
2022-02-18LibJS: Add a spec link for Iterator RecordsTimothy Flynn
This is an editorial change to the spec to strongly define this record: https://github.com/tc39/ecma262/commit/85d910c
2022-02-18LibJS: Allow methods in classes named 'async'davidot
Also add tests for all static, setter and getter cases.
2022-02-18LibJS: Allow CallExpression as left hand side of for-of/for-in loopsdavidot
Although this will fail with a ReferenceError it should pass the parser and only fail if actually assigned to.