summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-14LibWeb: Add 'PseudoElement' as a CSS SimpleSelector::TypeSam Atkins
Same reasoning again! This is the last one. While I was at it, I added the two remaining CSS2.2 pseudo-elements, ::first-line and ::first-letter. All 4 are handled in the new CSS parser, including with the compatibility single-colon syntax. I have not added support to the old parser.
2021-07-14LibWeb: Add 'PseudoClass' as a CSS SimpleSelector::TypeSam Atkins
Same reasoning as the previous commit.
2021-07-14LibWeb: Add 'Attribute' as a CSS SimpleSelector::TypeSam Atkins
Previously, SimpleSelectors optionally had Attribute-selector data as well as their main type. Now, they're either one or the other, which better matches the spec, and makes parsing and matching more straightforward.
2021-07-14LibWeb: Convert CSS Dump, Selector, & SelectorEngine to east constSam Atkins
2021-07-14LibJS: Use `AK::abs` in TimeZoneDaniel Bertalan
This fixes a `-Wabsolute-value` warning emitted because of our use of `abs()` on arguments of type `long long`.
2021-07-14Tests: Fix compile errors on ClangDaniel Bertalan
Since Clang enables a couple of warnings that we don't have in GCC, these were not caught before. Included fixes: - Use correct printf format string for `size_t` - Don't compare Nonnull(Ref|Own)Ptr` to nullptr - Fix unsigned int& => unsigned long& conversion
2021-07-14LibC: Use our implementation of `crti.o` and `crtn.o`Daniel Bertalan
We have had these for quite a while, but we didn't compile them, and used GCC's version instead. Clang does not come with these, so we have to provide our own implementation. Our implementation follows what `musl` and `FreeBSD` do, so this should work fine, even if documentation can hardly be found for them.
2021-07-14Meta: Remove obsolete `-fconcepts` CFLAGDaniel Bertalan
The GCC documentation says that since it's officially a part of C++20, this flag does nothing. Clang, however, does complain that it does not recognize it, so it's better to just remove it.
2021-07-14LibWeb: Add missing `typeinfo` includeDaniel Bertalan
This code worked with GCC because libstdc++ pulls in `type_info`'s definition through the `cxxabi` header included by `AK/Demangle.h`. In contrast, `libc++` only forward-declares it, so this code failed to compile with it.
2021-07-14Kernel: Don't mix AT&T and Intel ASM syntax in `boot.S`Daniel Bertalan
The rest of the file is in AT&T syntax, so for the time being, I'll switch these instructions to AT&T too to make Clang shut up.
2021-07-14Kernel: Allow passing null pointer to deleteDaniel Bertalan
The C++ standard says that it's legal to call the `delete` operator with a null pointer argument, in which case it should be a no-op. I encountered this issue when running a kernel that's compiled with Clang. I assume this fact was used for some kind of optimization.
2021-07-14WindowServer: Don't use GNU-style designatorDaniel Bertalan
Clang throws a fit when it encounters this code, since we already have the standardized designated initializer syntax in C++20, which we should use.
2021-07-14Base+LibGUI: Add icon to the Rename actionjakubiakdev
2021-07-14Meta: Change QEMU options in run.sh to use SPICEx-yl
If QEMU has the qemu_vdagent chardev (should be present in QEMU 6.1) then we use that as the SPICE client. If qemu_vdagent is not present, no SPICE client will be launched by default because it makes the display a bit choppy. Set SERENITY_SPICE to override the default behavior and use your default SPICE client.
2021-07-14SpiceAgent: Support copying and pasting imagesx-yl
2021-07-14SpiceAgent: Add a new spice agent service :^)x-yl
A SPICE agent communicates with the host OS to provide nifty features like clipboard sharing :^) This patch implements only plain-text clipboard sharing. See: github.com/freedesktop/spice-protocol/blob/master/spice/vd_agent.h
2021-07-14Kernel: Fix inverted check in VirtIOConsolePortx-yl
We should really only try to open if we're closed. Oops :P
2021-07-14Kernel: Ignore subsequent calls to Process::dieTom
It's possible that another thread might try to exit the process just about the same time another thread does the same, or a crash happens. Also, we may not be able to kill all other threads instantly as they may be blocked in the kernel (though in this case they would get killed before ever returning back to user mode. So keep track of whether Process::die was already called and ignore it on subsequent calls. Fixes #8485
2021-07-14LibCore: Convert File to east-const styleTimothy
2021-07-14LibCore: Add File method to determine absolute pathTimothy
This will generate absolute paths lexically rather than through a call to realpath. The motivation for this is to generate absolute paths for non-existent files in unveil calls, as realpath will not work if the file does not exist.
2021-07-14LibCore: Add File method to determine current working directoryTimothy
2021-07-14Utilities: Add an implementation of 'comm'TheFightingCatfish
Add an implementation of 'comm' -- compare files line by line
2021-07-14Piano: Add Play/Pause, Forward and Back buttonsJJ Roberts-White
Piano now has a toolbar allowing the playback to be paused, or to be stepped forward or back a note.
2021-07-14UserpaceEmulator: Handle possibly unaligned IOHendiadyoin1
We also should add some UB warnings for that in the future
2021-07-14AK: Generalize ByteReaderHendiadyoin1
Also use it instead of CPU.h's possibly_unaligned_data interface
2021-07-14Tests: Change test-filtering mechanismHendiadyoin1
We have a new config argument to add space separated exclude regex' This is separate from "NotTestsPattern", because these are still Tests, although they are not supposed to be run by the runner This also adds the test for a working UserspaceEmulator to the tests run
2021-07-14Tests: Rename write-oobHendiadyoin1
The "ue-" prefix makes it clearer that it should be run with the UserspaceEmulator
2021-07-14Tests: Assure that UE does not regress via `ue ls`Hendiadyoin1
2021-07-14LibCore: Generate new passwd file by checking pw_namebrapru
LibCore::Account::generate_passwd_file should follow generate_shadow_file by conditionally checking for the username. Previously, usermod's set_uid changes would not reflect in the updated passwd file as m_uid had already been changed to the updated value.
2021-07-14Utilities: Implement usermod commandbrapru
Previously there was no way to modify existing user accounts.
2021-07-14LibCore: Add setters for all user account propertiesbrapru
2021-07-14Ports: Add epsilon 15.5.0Joachim Le Fournis
2021-07-14Kernel: Remove debug spam when PhysicalRegion::take_free_page() failsAndreas Kling
We can have multiple PhysicalRegions (often the case when there is a huge amount of RAM) so we really shouldn't print a debug message any time someone tries to allocate from one. They will move on to another region anyway.
2021-07-14Kernel: Fix logic error in PhysicalRegion::contains()Andreas Kling
This was incorrectly returning true for the address one byte past the end of the region.
2021-07-13Kernel: Cut allocation size for physical buddy bitmaps in halfAndreas Kling
We were allocating twice as much memory as we needed for these bitmaps due to a silly typo. Found by tomuta trying to boot with 24 GiB of RAM.
2021-07-13Ports: Add vlang weekly.2021.28 packagepancake
2021-07-13KeyboardPreferenceLoader: Use correct default Num Lock config valueForLoveOfCats
2021-07-13Meta: Remove options of explicit command line runners in run scriptLiav A
Let's remove the qcmd and q35_cmd options and instead have a simple "q35" run option. Specifiying the kernel command line was a neat trick I personally used for many debug sessions, but it seems better to stick to setting it internally in the kernel or modifying the shell SERENITY_KERNEL_CMDLINE environment variable to do this.
2021-07-13Meta: Tweak qemu run script to use pcie-root-portsLiav A
With this change, we use 6 PCIe root ports in the Q35 machine, and plug the bochs-display device into one of those PCIe ports. We plug the bochs-display as function 0 of that device, because otherwise SeaBIOS and also the kernel will not detect its presence.
2021-07-13LibGUI: Handle KeyDown when checking for Key_Escape in Dialog tooLuK1337
This makes 'escaping' the dialogs seem bit faster :^) It also follows what RunWindow and probably others do.
2021-07-13Kernel: Re-add accidentally removed friendshipAndreas Kling
PageDirectory and MemoryManager need to remain friends, for now..
2021-07-13DynamicLoader: Add RELA support for self-relocationsGunnar Beutner
GCC doesn't seem to rely on those to work, but Clang does.
2021-07-13LibCpp: Don't store entire ASTNode vector in each parser stateItamar
We previously stored the entire ASTNode vector in each parser state, and this vector was copied whenever a state was loaded or saved. We don't actually need to store the whole nodes list in each state because a new state can only add new nodes to this list, and won't mutate existing nodes. It would suffice to only hold a vector of the nodes that were created while parsing in the current state to keep a reference to them. This reduces the time it takes on my machine for the c++ language server to handle a file that #includes <LibGUI/Widget.h> from ~4sec to ~0.7sec.
2021-07-13LibCpp: Only store error messages for the main parser stateItamar
There's no need to store parser error messages for states with depth > 0, as they will eventually be popped from the states stack and their error messages will never be displayed to the user. Profiling shows that this change reduces the % of backtraces that contain the store_state & load_state functions from ~95% to ~70%. Empirically this change reduces the time it takes on my machine for the c++ language server to handle a file that #includes <LibGUI/Widget.h> from ~14sec to ~4sec.
2021-07-13LibDebug: Implement symbolication for x86_64Gunnar Beutner
2021-07-13LibDebug: Fix spelling mistakeGunnar Beutner
2021-07-13Userland: Prefer using ARCH() over __LP64__Gunnar Beutner
2021-07-13Kernel: Remove some friendships and make some classes non-copy/moveableAndreas Kling
2021-07-13Kernel: Remove some unnecessary includes in VM/Physical*Andreas Kling
2021-07-13Kernel: Print a summary of physical zones during bootAndreas Kling
Let's not print out every single zone, since that gets very noisy on machines with a lot of RAM. :^)