Age | Commit message (Collapse) | Author |
|
This patch adds color formatting to markdown viewed in the terminal.
This also increases readability.
|
|
This patch adds spacing to give a sense of structure to markdown
documents viewed in the terminal. This also makes the content easier
to read.
|
|
This patch calculates how many spaces are needed to center the top
title of "SerenityOS manual".
|
|
This makes React react to checkboxes. Apparently they ignore the
"change" event in favor of "click" on checkboxes. This is a
compatibility hack for IE8.
|
|
This makes React react to change events on text <input> elements. :^)
|
|
This isn't entirely on-spec, but will hopefully allow us to make
progress in other areas.
|
|
By storing count as an Optional<size_t>, we can leverage count's empty
state to proceed with pinging indefinitely, and ensure a proper value is
passed when count does have a value.
This returns pings expected behavior to send infinite packets when a
count is not specified, stop after sending a specified count, and
disallow any count < 1.
Closes #12524
|
|
|
|
We would previously overwrite m_hovered_href with tooltip texts instead
of leaving it as an url as was expected by the context menu event
handler.
|
|
I forgot about this in the previous commit, which caused a compile
error.
|
|
|
|
|
|
|
|
As part of this, moved the call to `reparse()` out of the constructor
and into the factory methods, to allow the error to propagate.
|
|
Currently this method always succeeds, but that won't be true once we
switch to the Core::Stream API. :^)
Some of these places would ideally show an error message to the user,
since failure to save a file is significant, but let's not get
distracted right now.
|
|
This moves the fallible action of opening the file, from the
constructor, into the factory methods which can propagate any errors.
The wrinkle here is that failure to open a ConfigFile in read-only mode
is allowed (and expected, since the file may not exist), and treated as
if an empty file was successfully opened.
|
|
I've attempted to handle the errors gracefully where it was clear how to
do so, and simple, but a lot of this was just adding
`release_value_but_fixme_should_propagate_errors()` in places.
|
|
This was previously included via ConfigFile.h
|
|
This was previously included via ConfigFile.h
|
|
|
|
This is necessary for converting it to Core::Stream.
|
|
Once we paint, it's way too late for this check to happen anyway.
Additionally, the spec's steps for retrieving the content document
assume that both the browsing context's active document and the
container's node document are non-null, which evidently isn't always the
case here, as seen by crashes on the SerenityOS 2nd and 3rd birthday
pages (I'm not sure about the details though).
Fixes #12565.
|
|
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#cother-other-default-operation-rules
"The compiler is more likely to get the default semantics right and
you cannot implement these functions better than the compiler."
|
|
This is not a complete implementation of API, since we're also supposed
to accept an options dictionary as the third argument. However, a lot of
web content uses the boolean variant, and it's trivial to support.
|
|
I can't imagine how this happened, but it seems we've managed to
conflate the "event listener" and "EventListener" concepts from the DOM
specification in some parts of the code.
We previously had two things:
- DOM::EventListener
- DOM::EventTarget::EventListenerRegistration
DOM::EventListener was roughly the "EventListener" IDL type,
and DOM::EventTarget::EventListenerRegistration was roughly the "event
listener" concept. However, they were used interchangeably (and
incorrectly!) in many places.
After this patch, we now have:
- DOM::IDLEventListener
- DOM::DOMEventListener
DOM::IDLEventListener is the "EventListener" IDL type,
and DOM::DOMEventListener is the "event listener" concept.
This patch also updates the addEventListener() and removeEventListener()
functions to follow the spec more closely, along with the "inner invoke"
function in our EventDispatcher.
|
|
This basically copies some logic from FrameLoader to ImageLoader.
Ideally we'd share this code, but for now let's just get redirected
images to show up. :^)
|
|
|
|
This let's us avoid a heap allocation.
|
|
This API is only used by userland and it uses infallible Strings, so
let's just ifdef it out of the Kernel.
|
|
These are only used by userland, and are implemented using infallible
Strings, so let's just ifdef them out of the Kernel.
|
|
This API is only used by userland, and it uses infallible Strings, so
let's just ifdef it out of the Kernel.
|
|
These APIs return Strings, which are OOM-infallibe, and as such, not
appropriate for Kernel use. Since these APIs are only used by userland
at the moment, we can just ifdef them out of the Kernel.
|
|
This also let's us use a KString instead of a string when we're in the
Kernel, which opens the path for OOM-failure propagation.
|
|
This also let's us use a KString instead of a string when we're in the
Kernel, which opens the path for OOM-failure propagation.
|
|
This will allow us to eventually propagate allocation failure.
|
|
These are only used by Userland and contain infallible String
allocations, so let's just ifdef them out of the Kernel.
|
|
These use infallible Strings and are not actually used in the Kernel,
so let's just ifdef them out for now.
|
|
|
|
This let's us avoid heap allocations.
|
|
This had me confused for a while, but I am not smart enough today to
actually fix it properly. :^)
|
|
When converting this code to use Optional, I accidentally left in the
initialization, so it *always* had a value, and always created a Length
from it. Oops.
|
|
Everything functions fine without it. :^)
|
|
This fixes hit testing on SVG elements, with no obvious downsides.
|
|
This makes the selected-in-the-inspector outline appear in the right
place. We take the stroke-width into account when producing the
bounding box, which makes the fit nice and snug. :^)
|
|
This replaces the unused width() and height() methods. The size now
defaults to 100% by 100% as in the spec.
|
|
|
|
We no longer include all the things, so each generated IDL file only
depends on the things it actually needs now.
A possible downside is that all IDL files have to explicitly import
their dependencies.
Note that non-IDL dependencies still remain and are injected into all
generated files, this can be resolved later if desired by allowing IDL
files to import headers.
|
|
|
|
We were doing a number of things wrong:
- Switching to the parent context in the else meant that we couldn't
break out of the else section anymore
- We were not validating the resulting values, and so the stack was
in a relatively unknown state after 'else'
This commit fixes these issues :^)
|
|
This makes us capable of loading non-utf8 content via XHR.
|