summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-11-08LibGUI: Rename GEventLoop.{cpp,h} => GWindowServerConnectionAndreas Kling
The GEventLoop class is long gone, and the only class in these files is GWindowServerConnection, so let's update the file names. :^)
2019-11-07LibHTML: Update the removed node's siblings in TreeNode::remove_child()Andreas Kling
Oops, we forgot to update the node's siblings' sibling pointers when removing a node from the tree. Thanks to Owlinated for pointing this out! :^)
2019-11-07TextEditor: Added redo functionality & proper stack manipulationrhin123
Added redo functionality & added m_undo_stack_index that moves back & forth on the stack depending on the undo's & redo's.
2019-11-07Base: Add a local copy of bettermotherfuckingwebsite.com for testingAndreas Kling
2019-11-07LibHTML: Ignore case in <!DOCTYPE> tags :^)Andreas Kling
2019-11-07LibHTML: Draw box borders even if we don't have a border-colorAndreas Kling
In those cases we should fall back to currentColor, which is hackishly implemented by falling back to "color" for now.
2019-11-07LibHTML: Fix the default style for <hr> elementsAndreas Kling
This was broken because we don't expand CSS shorthand properties (yet.)
2019-11-07LibHTML: Don't swallow '}' as part of CSS property valuesAndreas Kling
2019-11-07LibHTML: Turn "&mdash;" into "-" in the parser for nowAndreas Kling
Ultimately we should deal with all the various HTML entitites.
2019-11-07HackStudio: Make the project file list a little narrower by defaultAndreas Kling
2019-11-07AK: Add Vector::take(index)Andreas Kling
This removes an item from the vector and returns it.
2019-11-07IRCClient: Escape HTML entities in nicknames, too, just in caseAndreas Kling
2019-11-07AK: Delete operator!() and operator bool() from the Nonnull pointersAndreas Kling
Since NonnullRefPtr and NonnullOwnPtr cannot be null, it is pointless to convert them to a bool, since it would always be true. This patch makes it an error to null-check one of these pointers.
2019-11-07LibHTML: Make the CSS parser return RefPtr'sAndreas Kling
It should be possible for the CSS parser to fail, and we'll know it failed if it returns nullptr. Returning RefPtr's makes it actually possible to return nullptr. :^)
2019-11-07AK: Add Vector::prepend(T&&)Andreas Kling
2019-11-06LibHTML+IRCClient: Add an escape_html_entities() helperAndreas Kling
This simple helper escapes '<', '>' and '&' so they can be used in HTML text without interfering with the parser. Use this in IRCClient to prevent incoming messages from messing with the DOM :^)
2019-11-06Meta: Time for a new screenshot (Quake edition) :^)Andreas Kling
2019-11-06Meta: Move "Notes on WSL" to a separate file in Documentation/Andreas Kling
Since this is not relevant to the majority of people, let's move it out of the way.
2019-11-06Kernel: If a process is interrupted during usleep(), return -EINTRAndreas Kling
2019-11-06LibHTML: Make parse_html_document() return a RefPtrAndreas Kling
Parsing might not always succeed, so let's have a way to signal errors.
2019-11-06IRCClient: Use parse_html_fragment() to add messages to the HtmlViewAndreas Kling
HTML fragment strings are so much nicer to work with than raw DOM APIs. This makes it feel like we're using innerHTML :^)
2019-11-06LibHTML: Rename parse_html() => parse_html_document()Andreas Kling
2019-11-06Revert "LibHTML: Rename parse_html() => parse_html_document()"Andreas Kling
This reverts commit f6439789db9c02216baabb197017c7a79a63ba04. Oops, I committed unrelated changes here, let me clean that up..
2019-11-06LibHTML: Rename parse_html() => parse_html_document()Andreas Kling
2019-11-06LibHTML: Add parse_html_fragment()Andreas Kling
This function parses a partial DOM and returns it wrapped in a document fragment node (DocumentFragment.) There are now two entrances into the HTML parser, one for parsing full documents, and one for parsing fragments. Internally the both wrap the same parsing function.
2019-11-06LibHTML: Add DocumentFragmentAndreas Kling
Right now this is just a simple ParentNode subclass with its node type being DOCUMENT_FRAGMENT_NODE.
2019-11-06LibHTML: Add TreeNode::remove_child()Andreas Kling
This removes a child from the tree and returns it to the caller. It optionally (but by default) calls removed_from(parent) on the child.
2019-11-06AK: Always rebuild unit tests if AK headers changeAndreas Kling
This is a hack to avoid failing AK unit tests because it didn't even try to rebuild.
2019-11-06Kernel: A running process should keep its TTY aliveAndreas Kling
It's not safe to use a raw pointer for Process::m_tty. A pseudoterminal pair will disappear when file descriptors are closed, and we'd end up looking dangly. Just use a RefPtr.
2019-11-06Kernel: Rework Process::Priority into ThreadPriorityAndreas Kling
Scheduling priority is now set at the thread level instead of at the process level. This is a step towards allowing processes to set different priorities for threads. There's no userspace API for that yet, since only the main thread's priority is affected by sched_setparam().
2019-11-06AK: Remove unused AK::not_implemented()Andreas Kling
Whatever this was supposed to be, it was ironically... not implemented.
2019-11-06Kernel: Sort the C++ objects in the MakefileAndreas Kling
2019-11-06LibELF: Move AK/ELF/ into Libraries/LibELF/Andreas Kling
Let's arrange things like this instead. It didn't feel right for all of the ELF handling code to live in AK.
2019-11-06Kernel: Remove unnecessary init_ksyms() functionAndreas Kling
2019-11-06Kernel: Don't instantiate and throw away ProcFS + DevPtsFS on bootAndreas Kling
Oops, we were creating these and then throwing them away. They will get instantiated a bit later, when we bring up the mounts in /etc/fstab from userspace.
2019-11-06Kernel: Simplify kernel entry points slightlyAndreas Kling
It was silly to push the address of the stack pointer when we can also just change the callee argument to be a value type.
2019-11-06Kernel: Link with libgccAndreas Kling
This allows us to get rid of all the custom 64-bit division helpers. I wanted to do this ages ago but couldn't get it working. Turns out it was unstable due to libgcc using the regular ABI and the kernel being built with -mregparm=3. Now that we build the kernel with regular calls, we can just link with libgcc and get this stuff for free. :^)
2019-11-06Kernel: Don't build with -mregparm=3Andreas Kling
It was really confusing to have different calling conventions in kernel and userspace. Also this has prevented us from linking with libgcc.
2019-11-06Kernel: Use KParams::has() instead of !KParams::get().is_null()Andreas Kling
Also rename a local variable to be consistent with what it represents.
2019-11-06Kernel+SystemServer: Get rid of two virtual consolesAndreas Kling
Having four virtual (text) consoles by default seems really overkill for a system that can't even switch to them anyway (yet!)
2019-11-06AK: Get rid of TStyle (output styling helper for LogStream)Andreas Kling
This didn't end up getting used, so let's get rid of it.
2019-11-06Kernel: Remove unused SynthFS filesystemAndreas Kling
This used to be the base class of ProcFS and DevPtsFS but not anymore.
2019-11-05LibHTML: Build some foundation for text selectionAndreas Kling
Add LayoutPosition and LayoutRange classes. The layout tree root node now has a selection() LayoutRange. It's essentially a start and end LayoutPosition. A LayoutPosition is a LayoutNode, and an optional index into that node. The index is only relevant for text nodes, where it's the character index into the rendered text. HtmlView now updates the selection start/end of the LayoutDocument when clicking and dragging with the left mouse button. We don't paint the selection yet, and there's no way to copy what's selected. It only exists as a LayoutRange.
2019-11-05HackStudio: Update the "remove current editor" action enabled stateAndreas Kling
This action should not be enabled when there is only one editor open, since you are not allowed to be editor-less.
2019-11-05HackStudio: Allow removing the current editor with Alt+Shift+EAndreas Kling
Note that you are not allowed to remove the very last editor. These keybinds are all temporary while I figure out what the right ones should be. I'm not exactly sure how, but it'll reveal itself. :^)
2019-11-05HackStudio: Allow switching between editors with Ctrl+E / Ctrl+Shift+EAndreas Kling
2019-11-05HackStudio: Allow adding more editors by pressing Ctrl+Alt+EAndreas Kling
We also now start out with a single editor, instead of two. :^)
2019-11-05LibCore+LibGUI: Allow inserting a CObject/GWidget before anotherAndreas Kling
When adding a widget to a parent, you don't always want to append it to the set of existing children, but instead insert it before one of them. This patch makes that possible by adding CObject::insert_child_before() which also produces a ChildAdded event with an additional before_child pointer. This pointer is then used by GWidget to make sure that any layout present maintains the correct order. (Without doing that, newly added children would still be appended into the layout order, despite having a different widget sibling order.)
2019-11-05HackStudio: Put annoying debug spam behind EDITOR_DEBUGAndreas Kling
2019-11-05SoundPlayer: Changed some small cosmetic thingsTill Mayer
Renamed "Position" to "Elapsed". "channel/channels" automatically changes now when more than one channel exist. The current file name is now displayed in the window title.