Age | Commit message (Collapse) | Author |
|
insertion_ptr() already includes the offset.
|
|
WebContentView now fires its on_title_change hook, like Web::PageView.
We use this in the WebView test app to update the window title. :^)
|
|
|
|
|
|
The WebContentView widget now passes content space coordinates along
with the various mouse events. :^)
|
|
The WebContentView widget now inherits from GUI::ScrollableWidget and
will pass its scroll offset over to the WebContent process as it's
changing. This is not super efficient and can get a bit laggy, but it
will do fine as an initial scrolling implementation.
Just like the single-process Web::PageView widget, WebContentView also
paints scrolled content by translating the Gfx::Painter.
|
|
|
|
|
|
This patch adds a PreviewMode enum with the following values:
- None
- Markdown
- HTML
This makes it a bit more logical to implement exclusive behavior.
|
|
I added this file while originally testing the kernel's file system
support. We have plenty of random files lying around these days. :^)
|
|
The WebContentView widgets reacts to this by requesting a repaint.
|
|
1 second is just too annoyingly jumpy when you're trying to grab
something in the list.
|
|
This just makes everything nicer.
|
|
Buttons turning deep blue when hovered was a bit too weird. :^)
|
|
This function relies on visible_content_rect() which could previously
return rectangles with negative size. This was causing TableViews to
scroll down a little bit when assigning a model to them.
Also tweak the logic so we scroll a 0x0 rect into view, giving a
slightly nicer final position.
|
|
|
|
This actually looks a lot nicer without the [] and I'm not sure that
the visual cue about minimization state was actually useful.
|
|
|
|
|
|
In keeping with the slightly-higher-contrast theme.
|
|
Use the new API to avoid duplicating code in the RunningProcessesModel.
|
|
This makes it look nicer with wide window icons.
|
|
This allows you to specify a role to sort by. Defaults to Role::Sort.
Also reordered the Role enum so that Role::Custom is last.
|
|
|
|
|
|
During app teardown, the Application object may be destroyed before
something else, and so having Application::the() return a reference was
obscuring the truth about its lifetime.
This patch makes the API more honest by returning a pointer. While
this makes call sites look a bit more sketchy, do note that the global
Application pointer only becomes null during app teardown.
|
|
This allows you to clear all the WeakPtrs pointing at a Weakable *now*
instead of waiting until the Weakable is destroyed.
|
|
Having this on the stack makes whole-program teardown iffy. Turning it
into a Core::Object allows anyone who needs it to extends its lifetime.
|
|
The child name is not yet accessible to userspace, but will be in a
future patch.
|
|
|
|
This makes the selected (currently shown in bold) item in HackStudio's
project file view show up at the correct position.
|
|
|
|
|
|
|
|
This change was partially introduced in 861eb8d, which changed the
constant in LibC without changing the one in the kernel.
|
|
|
|
To make the plain text we copy out from LibWeb look at least somewhat
like its original form, let's insert newlines at <br> elements and when
we exit a block-level element.
This is far from perfect, but seems to work pretty okay.
|
|
This works by finding the very first and very last LayoutText nodes
in the layout tree and then setting the selection bounds to those two
nodes. For some reason it gets glitchy if we set the very first and
very last *LayoutNode* as the selection bounds, but I didn't feel like
investigating that too closely right now.
|
|
|
|
Not all LayoutNodes have a corresponding DOM node.
|
|
You can now press Ctrl+C to copy the selected text in a Web::PageView
to the system clipboard. Very cool!
|
|
I'm always starting text editors by opening a Terminal and typing "te"
which is a bit silly when I can have an icon for it instead!
|
|
There isn't an easy way to retreive all register contents anymore,
so remove this functionality. We do have the ability to trace
processes, so it shouldn't really be needed anymore.
|
|
If we're trying to walk the stack for another thread, we can
no longer retreive the EBP register from Thread::m_tss. Instead,
we need to look at the top of the kernel stack, because all threads
not currently running were last in kernel mode. Context switches
now always trigger a brief switch to kernel mode, and Thread::m_tss
only is used to save ESP and EIP.
Fixes #2678
|
|
|
|
|
|
Also add an overview page that explains the general concepts.
|
|
This allows us to consolidate printing out all the CPU features
into one log statement. Also expose them in /proc/cpuinfo
|
|
When delivering urgent signals to the current thread
we need to check if we should be unblocked, and if not
we need to yield to another process.
We also need to make sure that we suppress context switches
during Process::exec() so that we don't clobber the registers
that it sets up (eip mainly) by a context switch. To be able
to do that we add the concept of a critical section, which are
similar to Process::m_in_irq but different in that they can be
requested at any time. Calls to Scheduler::yield and
Scheduler::donate_to will return instantly without triggering
a context switch, but the processor will then asynchronously
trigger a context switch once the critical section is left.
|
|
This allows printing in the case e.g. a page fault happens
during a log statement
|