summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-05-11LibC: Implement new strtod, accurate up to 8 epsBen Wiederhake
This strtod implementation is not perfectly accurate, as evidenced by the test (accuracy_strtod.cpp), but it is sufficiently close (up to 8 eps). The main sources of inaccuracy are: - Highly repeated division/multiplication by 'base' (Each operation brings a multiplicative error of 1+2^-53.) - Loss during the initial conversion from long long to double (most prominently, 69294956446009195 should first be rounded to 69294956446009200 and then converted to 69294956446009200.0 and then divided by ten, yielding 6929495644600920.0. Currently, it converts first to double, can't represent 69294956446009195.0, and instead represents 69294956446009190, which eventually yields 6929495644600919.0. Close, but technically wrong.) I believe that these issues can be fixed by rewriting the part at and after double value = digits.number(); and that the loss before that is acceptable. Specifically, losing the exact exponent on overflow is obviously fine. The only other loss occurs when the significant digits overflow a 'long long'. But these store 64(-7ish) bits, and the mantissa of a double only stores 52 bits. With a bit more thinking, one could probably get the error down to 1 or 2 eps. (But not better.) Fixes #1979.
2020-05-11LibC: Demonstrate strtod inaccuracyBen Wiederhake
See also #1979.
2020-05-11LibWeb: Add very basic handling of "font-family" font stacksLinus Groh
2020-05-11AK: Add String::trim_spaces()Linus Groh
2020-05-11LibWeb: Ignore parsed pseudo-element selectors & empty complex selectorsLinus Groh
Currently we don't deal with them, so they shouldn't return a SimpleSelector - that'd be a false positive. Also don't produce a ComplexSelector if no SimpleSelector was parsed. This fixes a couple of rendering issues on awesomekling.github.io: link colours, footer size, content max-width (and possibly more!)
2020-05-11LibWeb: Don't paint borders with width <= 0pxLinus Groh
Previously we would only check if the border width property is empty and skip drawing in that case, and enforcing a minimum width of 1px otherwise - but "border: 0;" should not paint a border :^)
2020-05-11LibWeb: Set nav, main, article, aside, section to "display: block"Linus Groh
This makes the blog posts on awesomekling.github.io show up :^)
2020-05-11LibWeb: Draw the inspected node rect last in LayoutBox::render()Linus Groh
2020-05-11Travis: Fix Cache spamBen Wiederhake
Back in 36ba0a35eecec73c3347c43aeb18f3ea4849117d I thought that Travis would automagically delete theoldest files. Apparently it does not. Note that no dummy changes are needed, because BuildIt.sh lists itself as a dependency for the Toolchain. Hooray for something that works!
2020-05-11Ports: Add preliminary dropbear portYonatan Goldschmidt
This is very basic and doesn't support many features. Instead of describing what it *doesn't* support, I'll describe what I have tested: 1. Public key authentication (password is not supported) 2. Single command execution 3. PTY-less interactive bash shell (/bin/sh doesn't work) 4. Multi-user (i.e you can ssh as 'anon' as well as root)
2020-05-11LibC: Add minimal <netinet/ip.h>Yonatan Goldschmidt
It's based on <netinet/in.h> and more definitions might be required here (e.g, IP header).
2020-05-11LibC: Add missing <sys/time.h> include in <utmp.h>Yonatan Goldschmidt
This file uses 'struct timeval' without including relevant header.
2020-05-11LibC: Add inet_aton, based on inet_ptonYonatan Goldschmidt
2020-05-11Kernel+LibC: Add AF_MAXYonatan Goldschmidt
Will be updated as we add more protocols (e.g AF_INET6)
2020-05-11LibC: Return nullptr in fgets for size=0Yonatan Goldschmidt
I had this assert trigger, I believe in a legitimate case. This is the behavior glic and musl follow.
2020-05-11LibGfx: Eliminate conditional branch in ditherBen Wiederhake
In theory, this should make dithering a teensy bit faster.
2020-05-11LibLine: Show suggestions in pages if they don't fit on the screenAnotherTest
We can now cycle pages of suggestions when there are more suggestions than we can fit on one screen. This does not inculude a visual indicator that more pages exist, however.
2020-05-11LibVT: Update the terminal buffer based on visible linesAnotherTest
Lines in the history should not be considered for update at all. Fixes #2185
2020-05-11FontEditor: Fix link to icon after it movedBen Wiederhake
Fixup for 6f2837cb130261da5747716bddaaefc75793c8ab
2020-05-10Ports: Build ncurses --without-ada to avoid potential build failures.Brian Callahan
2020-05-10LibWeb: Render content based on MIME type provided by server (or guess)Andreas Kling
We now look at the Content-Type HTTP header when deciding how to render some loaded content. If there is no Content-Type header (which will always be the case when loading local files, for example), we make a guess based on the URL filename.
2020-05-10LibProtocol: Pass response headers in a case insensitive HashMapAndreas Kling
HTTP headers are case-insensitive, so just add CaseInsensitiveTraits to the HashMap and we're good to go! :^)
2020-05-10Browser: Allow opening URLs by dropping them on the HtmlView :^)Andreas Kling
2020-05-10LibWeb: Add a hook for when an URL is dropped on an HtmlViewAndreas Kling
Embedders of HtmlView can now react to this by hooking on_url_drop.
2020-05-10LibWeb: Teach HtmlView how to render Markdown files :^)Andreas Kling
2020-05-10LibWeb: Teach HtmlView how to open a .txt fileAndreas Kling
When encountering a text file, we now put it in a wrapper document with the file contents in a <pre> tag. This works really nicely :^)
2020-05-10LibWeb: Add Document create_element() and create_text_node() helpersAndreas Kling
2020-05-10LibWeb: Add Text to the forwarding headerAndreas Kling
2020-05-10WindowServer: Shade the bottom of the menu bar like a buttonAndreas Kling
This adds a row of secondary (darker) shade to the menubar, giving it a more buttonish look to match the highlight added to the Taskbar. :^)
2020-05-10Taskbar: Let's custom paint the background instead of using GUI::FrameAndreas Kling
Previously we were wasting the bottom pixel row on darkness. Use the base button color all the way to the bottom row and offset the top highlight by one pixel instead.
2020-05-10Ports: Add dash shellBrian Callahan
2020-05-10Ports: Add tr utilityBrian Callahan
2020-05-10Ports: Fix binutils runtimeBrian Callahan
2020-05-10LibWeb: Add basic support for "border-style: {dotted,dashed}"Linus Groh
2020-05-10LibGfx: Add support for dashed linesLinus Groh
Non-configurable for now.
2020-05-10ls: Emit hyperlinks for files outside the current directoryAndreas Kling
2020-05-10LibVT: Clear the hovered hyperlink after completing a dragAndreas Kling
2020-05-10LibVT: Allow dragging hyperlinks :^)Andreas Kling
You can now drag a hyperlink as a text/uri-list. This allows you to drag a file from "ls" output and drop it on a FileManager to copy the file there. Truly futuristic stuff!
2020-05-10LibVT: Make selection follow terminal history scrollback :^)Andreas Kling
The buffer positions referred to by a VT::Position now include history scrollback, meaning that a VT::Position with row=0 is at the start of the history. The active terminal buffer keeps moving in VT::Position coordinates whenever we scroll. This allows selection to follow history. It also allows us to click hyperlinks in history. Fixes #957.
2020-05-10Shell: Hyperlink output from "pwd" and "dirs" built-ins :^)Andreas Kling
2020-05-10LibVT: Use the "ActiveLink" theme color for links being clickedAndreas Kling
Okay, links are finally starting to feel visually intuitive. :^)
2020-05-10LibVT: Don't commit to opening a hyperlink until mouseupAndreas Kling
It felt too rushed to open links when simply mousedown'ing on them. Improve this by implementing basic "click" semantics instead. This patch also introduces the ability to prevent link opening if you want to force selection instead. Hold shift and we will not open links.
2020-05-10WindowServer: Add 2px of tasteful space above maximized windowsAndreas Kling
This makes the visual interaction between the menu bar and the window a lot less janky looking.
2020-05-10DisplaySettings: Tweak app iconAndreas Kling
2020-05-10LibGfx: Make buttons slightly chunkier on the top/left sideAndreas Kling
2020-05-10Base: Open .font files in FontEditor againAndreas Kling
This broke when we introduced LaunchServer.
2020-05-10LibVT: Open hyperlinks on plain left-click instead of Ctrl+ClickAndreas Kling
2020-05-10LibVT: Always draw hyperlinks with a dotted underlineAndreas Kling
The dotted line is custom painted to put some more distance between the dots than what Painter::draw_line() does.
2020-05-10Demos: Add LibGfx Demo :^)Linus Groh
2020-05-10LibGfx: Replace 'bool dotted' with a LineStyle::{Solid,Dotted} enumLinus Groh
Just a bool is insufficient as we'll have to support dashed lines as well.