summaryrefslogtreecommitdiff
path: root/Userland/Libraries
AgeCommit message (Collapse)Author
2021-05-01LibGUI: Improve a FIXME comment in TextDocumentAndreas Kling
2021-05-01WindowServer+LibGfx: Automatic "modified" markers in window titlesAndreas Kling
You can now add the string "[*]" to a window title and it will be replaced with " (*)" if the window is modified, and with "" otherwise.
2021-05-01LibGUI: Track modified state in GUI::TextDocumentAndreas Kling
Until now, this has been hackishly tracked by the TextEditor app's main widget. Let's do it in GUI::TextDocument instead, so that anyone who uses this class can know whether it's modified or not.
2021-05-01LibGUI: Add getter/setter for GUI::Window modified stateAndreas Kling
This state lives in WindowServer and has no local copy in the client process for now. This may turn out to be a performance issue, and if it does we can easily cache it.
2021-05-01LibTextCodec: Implement a Windows-1251 decoderIdan Horowitz
This encoding (a superset of ascii that adds in the cyrillic alphabet) is currently the third most used encoding on the web, and because cyrillic glyphs were added by Dmitrii Trifonov recently, we can now support it as well :^)
2021-05-01LibCore: Fix building the library on macOSGunnar Beutner
2021-05-01LibC: Make sure that parse_pwddb_entry doesn't write to stderrGunnar Beutner
Library functions shouldn't write to stdout/stderr as that might not be expected by the caller.
2021-05-01LibC: Implement support for getspnam() and friendsGunnar Beutner
2021-05-01LibC: Move crypt() and crypt_r() to the right header fileGunnar Beutner
According to POSIX.1 these should be in <crypt.h>.
2021-05-01LibC: Make EWOULDBLOCK an alias for EAGAINGunnar Beutner
According to POSIX.1 all error codes have to be distinct - with the exception for EAGAIN and EWOULDBLOCK. Other libcs including eglibc and newlib define EWOULDBLOCK as an alias for EAGAIN and some software including OpenTTD expect this behavior.
2021-05-01LibX86+UserspaceEmulator: Add MMX insns prototypesHendiadyoin1
2021-05-01LibWeb: Use new way of generating list-style-type: *-alphaTobias Christiansen
Removed the local conversion from number to alphabet and used the one offered in AK/String instead.
2021-04-30LibGUI: Bump up common locations width from 90 to 95Valtteri Koskivuori
The Documents directory shows up properly now when selected. Previously the bold text would not fit horizontally, causing an ellipsis at the end.
2021-04-30LibC: Implement openpty(), forkpty() and login_tty()Gunnar Beutner
These are used by OpenSSH.
2021-04-30LibLine: Fix writing to temporary file in ^X^E handlerAli Mohammad Pur
I have no idea how this _ever_ worked, and I also have no idea why past me didn't use FileStream to begin with. Fixes the issue where lots of junk data would be written to the temp file, causing the external editor to crash.
2021-04-30LibELF: Perform verification of TLS data in dlopenItamar
When loading a library at runtime with dlopen(), we now check that: 1. The library's TLS size does not overflow the size of the allocated TLS block. 2. The Library's TLS data is all zeroed. We check for both of these cases because we currently do not support them correctly. When we do add support for them, we can remove these checks.
2021-04-30LibELF: Change TLS offset calculationItamar
This changes the TLS offset calculation logic to be based on the symbol's size instead of the total size of the TLS. Because of this change, we no longer need to pipe "m_tls_size" to so many functions. Also, After this patch, the TLS data of the main program exists at the "end" of the TLS block (Highest addresses). This fixes a part of #6609.
2021-04-30Kernel+LibELF: Support initializing values of TLS dataItamar
Previously, TLS data was always zero-initialized. To support initializing the values of TLS data, sys$allocate_tls now receives a buffer with the desired initial data, and copies it to the master TLS region of the process. The DynamicLinker gathers the initial TLS image and passes it to sys$allocate_tls. We also now require the size passed to sys$allocate_tls to be page-aligned, to make things easier. Note that this doesn't waste memory as the TLS data has to be allocated in separate pages anyway.
2021-04-30LibELF: Rename tls_size to tls_size_of_current_objectItamar
2021-04-30LibELF: Extract TLS offset calculation logic to separate functionItamar
2021-04-30LibELF: Fix TLS offset calculation for librariesItamar
This fixes a regression that was introduced in f40ee1b and caused the tls_offset of all objects other than the main program to be 0. After this fix map_library's is_program argument is no longer used, so it was removed.
2021-04-30LibWeb: Position absolute boxes relative to the containing blockEgor Ananyin
In the absolute positioning model, a box is explicitly offset with respect to its containing block (CSS 2.1 section 9.6).
2021-04-30LibWeb: Use min-height in calculating block box heightEgor Ananyin
Now we use min-height for calculating the height of block boxes. Besides, now we check if min-height/max-height are percentage values and don't use them if parent's height isn't explicitly set (CSS 2.1 section 10.7).
2021-04-30LibWeb: Fix floating box position calculationEgor Ananyin
Now we set margins, borders and paddings for floating boxes and include them into calculating floating box positions by using margin_box() and margin_box_as_relative_rect().
2021-04-30Kernel/LibC: Implement `setreuid`Jesse Buhagiar
2021-04-30LibWeb: Add selector support to the new CSSParserstelar7
This is stolen from the old parser, but it seems to parse fine :^)
2021-04-30LibC: Add missing initialization for the FILE mutexGunnar Beutner
2021-04-29LibC: Implement fgetc_unlocked(), fread_unlocked() and getc_unlocked()Gunnar Beutner
2021-04-29LibC: Make rewind() ignore errors as it shouldGunnar Beutner
POSIX says that rewind() should ignore errors and reset the stream's error indicator. So let's do that.
2021-04-29LibC: Make stdio thread-safeGunnar Beutner
2021-04-29Everywhere: "indexes" => "indices"Andreas Kling
I've wasted a silly amount of time in the past fretting over which of these words to use. Let's just choose one and use it everywhere. :^)
2021-04-29Everywhere: "file name" => "filename"Andreas Kling
2021-04-29LibC: Fix validation logic error in construct_pwd()Ali Mohammad Pur
Previously this would've always succeeded, even if a copy failed. Oops...
2021-04-29LibCore: Support Vector<String> positional argumentsAndreas Kling
We already supported Vector<char const*>, so let's add Vector<String> as well. :^)
2021-04-29LibWeb: Add list-style-type: upper-latin and upper-alpha supportTobias Christiansen
2021-04-29LibWeb: Add list-style-type: lower-alpha and lower-latin supportTobias Christiansen
They achieve the same, a list which markers are lowercase (latin) characters.
2021-04-29LibWeb: Conversion from number to bijective-base with alphabet.Tobias Christiansen
This allows us to convert a number to a String given a bijective (zero-less) alphabet. So you count A,B,C,...,Y,Z,AA,AB,... This was surprisingly very tricky! This allows the ListItemMarker to be displayed with different (simple) alphabets in the future.
2021-04-29LibWeb: Add list-style-type: decimal-leading-zero supportTobias Christiansen
This doesn't exactly do what you would think from its name: It surely adds an extra leading zero to the front of a number, but only if the number is less than 10. CSS is weird sometimes.
2021-04-29LibTest: Add EXPECT_NE(..) test assertion.Brian Gianforcaro
2021-04-29Tests: Unify LibC tests to single location.Brian Gianforcaro
In a1720eed2a8e744f2cd6d99adae4dff1fbab309e I added this new test, but missed that there were already some "unit tests" for LibC over in Userland/Tests/LibC. So lets unify these two locations.
2021-04-29Build: Remove unused ${REGEX_SOURCES} from the tests CMakeLists.txtBrian Gianforcaro
2021-04-29LibGfx: Add basic support for bidirectional text renderingIdan Horowitz
This adds a *very* simplified version of the UNICODE BIDIRECTIONAL ALGORITHM (https://www.unicode.org/reports/tr9/), that can render most bidirectional text but also produces awkward results in a large amount of edge cases, and as such, this should probably be replaced with a fully spec compliant implementation at some point.
2021-04-29iLibC: Fix some missed camelCase => snake_caseAndreas Kling
2021-04-29LibWeb: Move Layout::TextNode whitespace collapse to separate functionAndreas Kling
2021-04-29Userland: Fix new GCC warningsGunnar Beutner
2021-04-29Implemented llabs() in stdlib.h/cpp.Holden Green
2021-04-29LibC: added a bunch of macros in inttypes.h for use in formating strings ↵Holden Green
being passed to sscanf.
2021-04-29Kernel: Add MSG_PEEK support for the IPv4SocketJustin
This commit will add MSG_PEEK support, which allows a package to be seen without taking it from the buffer, so that a subsequent recv() without the MSG_PEEK flag can pick it up.
2021-04-29LibDebug: Implement support for AttributeDataForm::ImplicitConstGunnar Beutner
While symbolicating a crash dump for UserspaceEmulator I came across another data form we didn't support. ImplicitConst encodes a LEB128 value in the abbreviation record rather than - like all other values - in the .debug_info section.
2021-04-29LibGUI: Fix issue where buttons with a menu sometimes stayed depressedMart G
When a Button has a menu, the AbstractButton behaviour will now not be used in the mousemove_event. This was already the case for mousedown_event. Why only sometimes? Normally the presence of the menu prevents mousemove_events from being delivered to the button. But the menu doesn't spawn immediately. So sometimes mousemove events got through to the AbstractButton after the menu was told to spawn but before it appeared. This caused the m_being_pressed field of AbstractButton to be set to true. But there was never a mouseup_event because the menu got those instead.