summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-12LibJS: Add the ToTemporalInstant Abstract Operation & its requirementsIdan Horowitz
This is Abstract Operation is required for the majority of InstantConstructor's and InstantPrototype's methods. The implementation is not entirely complete, (specifically 2 of the underlying required abstract operations, ParseTemporalTimeZoneString and ParseISODateTime are missing the required lexing, and as such are TODO()-ed) but the majority of it is done.
2021-07-12AK: Add a DateTimeLexerIdan Horowitz
This is an AK::GenericLexer that exposes helper methods for parsing date and time related literals (years, months, days, hours, minutes, seconds, fractional seconds & more)
2021-07-12AK: Add a retreat(count) method to GenericLexerIdan Horowitz
This method can be used to rewind a constant amount backwards in the source instead of one by one with retract()
2021-07-12HackStudio: Activate window only on file dropKarol Kosek
2021-07-12SoundPlayer: Activate window only on file dropKarol Kosek
2021-07-12ImageViewer: Activate window only on file dropKarol Kosek
2021-07-12HexEditor: Accept file dropsKarol Kosek
2021-07-12ls: Add option to list subdirectories recursivelyAriel Don
List subdirectories encountered using -R or --recursive flags with ls.
2021-07-12LibCore: Implement File::is_link()Ariel Don
It was already possible to check if a path was a directory or a device. Now, it is possible to check if a path is a link in a similar manner.
2021-07-12Meta: Skip WebAssembly loop test generationAndrew Kaster
This test hangs and times out.
2021-07-12LibWasm: Adjust signed integer operations to avoid UBAndrew Kaster
Perform signed integer shifts, addition, subtraction, and rotations using their corresponding unsigned type. Additionally, mod the right hand side of shifts and rotations by the bit width of the integer per the spec. This seems strange, but the spec is clear on the desired wrapping behavior of arithmetic operations.
2021-07-12LibWasm: Skip initializing active empty data sectionsAli Mohammad Pur
2021-07-12LibWasm: Use AK::StackInfo to track stack sizeAli Mohammad Pur
This way, we can make sure that it doesn't overflow when ASAN is enabled.
2021-07-12Meta+CI: Use wabt version 1.0.23 for all CI jobsAndrew Kaster
The WASM spec tests caused a stack overflow when generated with wat2wasm version 1.0.23, which ships with homebrew. To give feature parity, manually download the same version from GitHub packages for Ubuntu. Document the dependencies of the WASM spec tests option, as well.
2021-07-12LibCore: Tolerate misaligned addresses in struct hostentAndrew Kaster
macOS's C library is not a good neighbor and doesn't ensure that the entry in struct hostent's h_addr_list are aligned properly for a char const*. In Socket::connect, use ByteReader instead of a c-style cast to work around this possible misalignment.
2021-07-12AK: Add load64 and load_pointer to AK::ByteReaderAndrew Kaster
This lets us load misaligned 64 bit integers, and misaligned pointers in a platform agnostic way.
2021-07-12Utilities: Make `less` accept 'page up' and 'page down' keysBrandon van Houten
2021-07-12LibGUI: Ignore drop events by defaultKarol Kosek
Before this change, parent widgets such as Buttons or Labels were stealing drop events their parents. I noticed it during drag-n-dropping files into visualization widgets in Sound Player (which takes practically the entire application size and gave impression that drop events weren't supported in the app at all).
2021-07-12LibGUI: Use wrapped text rect for paint invalidationLuK1337
This fixes an issue where after anything past first line would not get invalidated after unhovering an icon.
2021-07-12Documentation: Condense the Windows build instructions some moreGunnar Beutner
2021-07-12Documentation: Remove obsolete CMake optionGunnar Beutner
2021-07-12Documentation: Show users how to build specific ninja targets directlyGunnar Beutner
2021-07-12Documentation: Shuffle around systems in the build instruction docsGunnar Beutner
The crowd has spoken and it's clear they want... Windows and Arch Linux.
2021-07-12UserspaceEmulator: Fix stack for new processesGunnar Beutner
Fixes #8646.
2021-07-12AK+Meta: Remove unused AUTOCOMPLETE_DEBUG flagAndrew Kaster
2021-07-12Meta+Documentation: Remove unused -DDEBUG from buildAndrew Kaster
2021-07-12IPCCompiler: Use GENERATE_DEBUG from AK/Debug instead of custom definesAndrew Kaster
The IPCCompiler was using GENERATE_DEBUG_CODE, which was missing from AK/Debug.h.in, and plain old DEBUG. Let's just use the one that was already in the debug header, but unused.
2021-07-12LibC: Use correct macro to disable assert()Andrew Kaster
The C standard doesn't say anything about DEBUG, just NDEBUG :^)
2021-07-12Breakout: Only paint areas that needs to be updatedKarol Kosek
2021-07-12Revert "LibThreading: Fix BackgroundAction result use-after-free"Andreas Kling
This reverts commit b2e6088bff209e8bbb838cc86233e7d3f24ed650. This was a speculative fix that ended up not fixing the issue.
2021-07-12Kernel: Allow Lock to block from BlockConditionTom
This enables the Lock class to block a thread even while the thread is working on a BlockCondition. A thread can still only be either blocked by a Lock or a BlockCondition. This also establishes a linked list of threads that are blocked by a Lock and unblocking directly unlocks threads and wakes them directly.
2021-07-12Kernel: Fix deadlock cancelling timerTom
It's possible that a timer may have been queued to be executed by the timer irq handler, but if we're in a critical section on the same processor and are trying to cancel that timer, we would spin forever waiting for it to be executed.
2021-07-12Kernel: Initialize threading and process management earlierTom
This re-arranges the order of how things are initialized so that we try to initialize process and thread management earlier. This is neccessary because a lot of the code uses the Lock class, which really needs to have a running scheduler in place so that we can properly preempt. This also enables us to potentially initialize some things in parallel.
2021-07-12Kernel: Remove "supervisor" bit from PhysicalPageAndreas Kling
Instead of each PhysicalPage knowing whether it comes from the supervisor pages or from the user pages, we can just check in both sets when freeing a page. It's just a handful of pointer range checks, nothing expensive.
2021-07-12TaskbarWindow: Redraw start button when default font changesLuK1337
2021-07-12LibGUI: Redraw widgets when default font changesLuK1337
2021-07-12LibGUI: Add FontsChanged event and deliver it to windows and widgetsLuK1337
2021-07-12Kernel: Fix allocating VMObject from page arrayTom
The VMObject constructor takes the size in bytes. Fixes #8670
2021-07-12Kernel: Move new process registration out of Space spinlock scopeBrian Gianforcaro
There appears to be no reason why the process registration needs to happen under the space spin lock. As the first thread is not started yet it should be completely uncontested, but it's still bad practice.
2021-07-12Kernel: Avoid unnecessary context switch when no other thread is readyTom
If no other thread is ready to be run we don't need to switch to the idle thread and wait for the next timer interrupt. We can just give the thread another timeslice and keep it running.
2021-07-12HackStudio: Disable debug specific context entriesMaurice Hieronymus
Context menu entries like evaluate expression and move execution to line action should only be enabled when a debug session is running. Otherwise they should be disabled.
2021-07-12HackStudio: Disable run button while debuggingMaurice Hieronymus
This commit disables the run button while we are in debug mode. Otherwise the stop button gets disabled when we run the program while we are in debug mode. This would prevent us from exiting the debug mode.
2021-07-11Meta: Only use -display sdl for multiple screens when it's availableGunnar Beutner
2021-07-11LibWeb: Correct parsing invalid list of declarationsSam Atkins
We were only discarding at most one token when a declaration is invalid, when we should discard all until we see a ; or EOF.
2021-07-11LibWeb: Correct escape handling in CSS TokenizerSam Atkins
Calling is_valid_escape_sequence() with no arguments hides what it is operating on, so I have removed that, so that you must explicitly tell it what you are testing. The call from consume_a_token() was using the wrong tokens, so it returned false incorrectly. This was resulting in corrupted output when faced with this code from Acid2. (Abbreviated) ```css .parser { error: \}; } .parser { } ```
2021-07-11LibWeb: Add more logging to CSS parserSam Atkins
2021-07-11LibWeb: Implement CSS::Parse::parse_nth_child_pattern()Sam Atkins
This is a modified copy of the code from Selector.cpp, to work on a TokenStream instead of a String.
2021-07-11LibWeb: Convert StyleFunctionRule.m_values to ComponentValuesSam Atkins
The input is ComponentValues, and the output is too, so storing as a String in the middle was inefficient and unnecessary.
2021-07-11LibWeb: Increase clarity with CSS token debug loggingSam Atkins
Had to adjust some places that were using Token.to_string() for non-debug-logging purposes. Changed its name to to_debug_string() to make the usage clearer.
2021-07-11LibWeb: Fix CSS attribute and ID selector parsingSam Atkins
There were several crashes here from out-of-bounds memory access.