Age | Commit message (Collapse) | Author |
|
The GEventLoop class is long gone, and the only class in these files is
GWindowServerConnection, so let's update the file names. :^)
|
|
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! :^)
|
|
Added redo functionality & added m_undo_stack_index that moves back &
forth on the stack depending on the undo's & redo's.
|
|
|
|
|
|
In those cases we should fall back to currentColor, which is hackishly
implemented by falling back to "color" for now.
|
|
This was broken because we don't expand CSS shorthand properties (yet.)
|
|
|
|
Ultimately we should deal with all the various HTML entitites.
|
|
|
|
This removes an item from the vector and returns it.
|
|
|
|
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.
|
|
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. :^)
|
|
|
|
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 :^)
|
|
|
|
Since this is not relevant to the majority of people, let's move it
out of the way.
|
|
|
|
Parsing might not always succeed, so let's have a way to signal errors.
|
|
HTML fragment strings are so much nicer to work with than raw DOM APIs.
This makes it feel like we're using innerHTML :^)
|
|
|
|
This reverts commit f6439789db9c02216baabb197017c7a79a63ba04.
Oops, I committed unrelated changes here, let me clean that up..
|
|
|
|
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.
|
|
Right now this is just a simple ParentNode subclass with its node type
being DOCUMENT_FRAGMENT_NODE.
|
|
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.
|
|
This is a hack to avoid failing AK unit tests because it didn't even
try to rebuild.
|
|
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.
|
|
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().
|
|
Whatever this was supposed to be, it was ironically... not implemented.
|
|
|
|
Let's arrange things like this instead. It didn't feel right for all of
the ELF handling code to live in AK.
|
|
|
|
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.
|
|
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.
|
|
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. :^)
|
|
It was really confusing to have different calling conventions in kernel
and userspace. Also this has prevented us from linking with libgcc.
|
|
Also rename a local variable to be consistent with what it represents.
|
|
Having four virtual (text) consoles by default seems really overkill
for a system that can't even switch to them anyway (yet!)
|
|
This didn't end up getting used, so let's get rid of it.
|
|
This used to be the base class of ProcFS and DevPtsFS but not anymore.
|
|
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.
|
|
This action should not be enabled when there is only one editor open,
since you are not allowed to be editor-less.
|
|
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. :^)
|
|
|
|
We also now start out with a single editor, instead of two. :^)
|
|
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.)
|
|
|
|
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.
|