summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-26LibJS: Implement basic support for the "delete" operatorAndreas Kling
It turns out "delete" is actually a unary op :) This patch implements deletion of object properties, it doesn't yet work for casually deleting properties from the global object. When deleting a property from an object, we switch that object to having a unique shape, no longer sharing shapes with others. Once an object has a unique shape, it no longer needs to care about shape transitions.
2020-04-26FileManager: Disable open_parent_directory_action if the new path is "/"Andres Vieira
2020-04-26WebServer: Add optional positional port agumentLinus Groh
This allows us to start WebServer on a port other than 8000, or multiple instances of it at the same time :^) Also print out what port was being used in the end.
2020-04-26LibJS: Implement Object.is()Linus Groh
Basically === with two particularities: comparing NaN to itself is considered equal and comparing +0 and -0 is not.
2020-04-26Kernel: Added the ability to set the hostname via new syscallLuke Payne
Userland/hostname: Now takes parameter to set the hostname LibC/unistd: Added sethostname function
2020-04-26Userland: Add arp utility (#1962)bcoles
2020-04-26Kernel: Support signaling all processes with pid == -1Brian Gianforcaro
This is a special case that was previously not implemented. The idea is that you can dispatch a signal to all other processes the calling process has access to. There was some minor refactoring to make the self signal logic into a function so it could easily be easily re-used from do_killall.
2020-04-26Userland: Fix kill to support negative pid values.Brian Gianforcaro
The kill system call accepts negative pids, as they have special meaning: pid == -1 means all processes the calling process has access to. pid < -1 means every process who's process group ID is -pid. I don't see any reason why the user space program should mask this.
2020-04-26Kernel: Implement FUTEX_WAKE of arbitrary count.Brian Gianforcaro
Previously we just woke all waiters no matter how many were requested. Fix this by implementing WaitQueue::wake_n(..).
2020-04-26LibGUI: Use filetype-text icon for .md filesLinus Groh
2020-04-26LibGUI: Use filetype-header icon for .h filesLinus Groh
2020-04-26Base+LibGUI: Add icon for Python filesLinus Groh
2020-04-26LibGUI: Use enumerator macros for filetype iconsLinus Groh
2020-04-26Emoji: Rename U+1F600.png to U+1F41E.png (ladybug)Linus Groh
The image for U+1F600 "GRINNING FACE" shows a ladybug, but the codepoint of that emoji is actually U+1F41E "LADY BEETLE" :^)
2020-04-25LibJS: Stop using Optional<Value> in favor of Value's empty stateAndreas Kling
JS::Value already has the empty state ({} or Value() gives you one.) Use this instead of wrapping Value in Optional in some places. I've also added Value::value_or(Value) so you can easily provide a fallback value when one is not present.
2020-04-25LibGfx: Fix crash on decoding small gifsPeter Nelson
The LZW decode step will now copy and pad LZW data out to 4 bytes if there are less than 4 bytes remaining in the buffer. This means it will now also work when the total size of the LZW image data is less than 4 bytes.
2020-04-25Browser: Rejig the "on_load_counter_change" hook when switching tabsAndreas Kling
This feels a little shoddy, but we need to make sure that updates end up on the right statusbar (since there is one statusbar per tab.)
2020-04-25Browser: Unveil /etc/passwd so we can find our home directory if neededAndreas Kling
Fixes #1952.
2020-04-25Browser: Share one BookmarksBarWidget between all TabsAndreas Kling
2020-04-25LibGUI: Add ToolBar and ToolBarContainer to Forward.hAndreas Kling
2020-04-25LibGUI: Make ToolBarContainer better at reacting to child eventsAndreas Kling
Now you can remove a ToolBar from a ToolBarContainer and it will update its own preferred size automatically.
2020-04-25LibGfx: Don't proceed with GIF format sniffing if stream read failsAndreas Kling
2020-04-25LibJS: Add String.prototype.includesKesse Jones
2020-04-25LibPthread: implicitly call pthread_exit on return from start routine.Drew Stratford
Previously, when returning from a pthread's start_routine, we would segfault. Now we instead implicitly call pthread_exit as specified in the standard. pthread_create now creates a thread running the new pthread_create_helper, which properly manages the calling and exiting of the start_routine supplied to pthread_create. To accomplish this, the thread's stack initialization has been moved out of sys$create_thread and into the userspace function create_thread.
2020-04-25LibGfx: Remove unnecessary castsPeter Nelson
2020-04-25LibGfx: Minor changes to adhere to code style guidelinesPeter Nelson
2020-04-25LibWeb: Handle .gifs as images and use ImageDecoder to decode themPeter Nelson
2020-04-25LibGfx: Remove debug outputPeter Nelson
2020-04-25LibGfx: Use content sniffing to choose which ImageDecoder plugin to usePeter Nelson
2020-04-25LibGfx: Add a sniff method to ImageDecoder and implement for GIF and PNGPeter Nelson
The sniff method is intended to be used for content sniffing. It should be a cheap test to rapidly rule out whether a candidate image can be successfully decoded. For the GIF and PNG implementations it simply attempts to decode the image header, returning true if successful and false if not.
2020-04-25LibGfx: Extract GIF header decoding into separate functionPeter Nelson
2020-04-25LibGfx: implement remaining GIFImageDecoderPlugin methodsPeter Nelson
2020-04-25LibGfx: decode first frame of GIF LZW dataPeter Nelson
Also: - Define the GIFLoadingContext structure. - The load_gif_impl function now returns load operation success, and takes a reference to a GIFLoadingContext as input. - Implement GIFImageDecoderPlugin::bitmap which calls onto load_gif_impl.
2020-04-25LibGfx: Implement GIF LZW decodingPeter Nelson
Add an LZWDecoder class that can decode GIF LZW data.
2020-04-25HackStudio: Toolbar icon overhaulAndreas Kling
2020-04-25HackStudio: Add cpp debuggerItamar
The HackStudio debugger integrates with LibDebug to provide source-level debugging. The user can set breakpoints at various positions in the source code, and then run the program in debug mode. When the program is stopped, the current execution position is displayed, and the user can insert/remove breakpoints, continue execution, or single step the program.
2020-04-25HackStudio: GUI support for setting breakpoints on source code linesItamar
2020-04-25LibDebug: Add remove_breakpointItamar
Also, change the interface of all breakpoint management functions to only take the address of the breakpoint as an argument.
2020-04-25 Userland/ls: Remove unnecessary outputHüseyin ASLITÜRK
2020-04-25Browser: Add Browser.ini configuration fileBrendan Coles
The Browser can now load a home page URL from the user's Browser.ini configuration file rather than using a hard-coded URL.
2020-04-24LibGUI: Tweak TabWidget tab icon placementAndreas Kling
2020-04-24Browser: Use the active tab's favicon as the window icon :^)Andreas Kling
2020-04-24LibGUI: Use bold font for the currently active TabWidget tabAndreas Kling
2020-04-24LibGUI: Add "uniform tabs" mode to TabWidget (all tabs have same width)Andreas Kling
...and enable this in the main Browser UI. :^)
2020-04-24Browser: React to favicon notifications and put favicons in the tabs!Andreas Kling
2020-04-24LibGUI: Allow TabWidget tabs to have icons and custom text alignmentAndreas Kling
2020-04-24LibWeb: Try fetching a favicon when loading a non-file URL in HtmlViewAndreas Kling
If valid and decodable, the favicon will be provided to clients via the on_favicon_change hook. :^)
2020-04-24Browser: Move the "About" action to WindowActionsAndreas Kling
2020-04-24Base: New "cut" action iconAndreas Kling
2020-04-24Browser: Remove padding from the main TabWidgetAndreas Kling
This makes the active tab "take over" the whole window UI, even though it's actually inside a TabWidget.