Age | Commit message (Collapse) | Author |
|
This way you can always see the cursor as long (as you can see the text
you are editing.)
|
|
From the Web IDL spec: https://heycam.github.io/webidl/#idl-undefined
[...]
undefined constant values in IDL are represented with the `undefined`
token.
[...]
Note: This value was previously spelled `void`, and more limited in how
it was allowed to be used.
|
|
From the Web IDL spec: https://heycam.github.io/webidl/#prod-Namespace
Namespace ::
namespace identifier { NamespaceMembers } ;
|
|
This matches some other libc's.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
add_constructor() will already allocate an XMLHttpRequestConstructor and
update m_xhr_constructor accordingly, we don't have to do it ourselves.
This is now in line with how all the LibJS constructors work. Also make
the XHR constructor responsible for setting its "prototype" property
itself, for consistency and fail-proofing.
Previously we would only set it on the constructor we allocated manually
but which was then thrown away, leading to the property never being set
properly.
|
|
The XMLHttpRequest interface only has a constructor and isn't supposed
to be callable as a function.
https://xhr.spec.whatwg.org/#constructors
|
|
|
|
|
|
|
|
This loads a page and, dumps the layout tree to stdout, and exits.
|
|
|
|
This isn't entirely symmetrical with on_load_start as it will also fire
on reloads and back/forward navigations. However, it's good enough for
some basic use cases, and we can do more sophisticated notifications
later on when we need them.
|
|
|
|
|
|
This was used for a feature where you could pass a vector of arguments
to enter_scope(). Since that way of passing arguments was not GC-aware
(as vectors use C++ heap storage), let's avoid using it and make sure
everything that needs to stay alive is either on the stack or in traced
storage instead.
|
|
|
|
We were scoping the arguments twice, first in execute_function_body(),
and then again in enter_scope().
|
|
We were basing the src attribute's cross-origin check on whatever was
currently loaded in the iframe, instead of the surrounding document.
Fixes #4236.
|
|
|
|
It's okay to add nullptr to the conservative roots set. We'll just
ignore it later on anyway.
|
|
This allows us to get rid of IndexedProperties::values_unordered().
|
|
We were building up a vector with all the values in an object's indexed
property storage, and then iterating over the vector to mark values.
Instead of this, simply iterate over the property storage directly. :^)
|
|
|
|
|
|
|
|
Remove ACCURATE_GAMMA_ADJUSTMENT, since it makes the implementation
uglier, isn't guaranteed to make gamma adjustment accurate and is much
slower. gamma_accurate_blend4 should either be always used or not
exist based on compilation flags, so there is no need to have it in
its own function. Finally, we should use AK/SIMD.h instead of defining
our own f32x4 type.
|
|
|
|
It's just more attack surface, and can be deduced from the format anyway.
|
|
We were doing this after every fragment instead of after every line.
|
|
We were only using the content box width for inline-block fragments,
which caused them to not to claim the space needed for padding+border.
|
|
40px is a lot of padding in our small-fonted world. :^)
|
|
This matches what other engines do.
|
|
|
|
Element-relative width units like em, ex, etc. should be resolved
against the inline block itself, not against its containing block.
|
|
The width of a line box is the distance from the left edge of the first
fragment to the right edge of the last fragment. We don't have to loop
over all the fragments to figure this out. :^)
|
|
|
|
Instead of invoking the CSS parser every time we compute the style for
an element that has a "style" attribute, we now cache the result of
parsing the inline style whenever the "style" attribute is set.
This is a nice boost to relayout performance since we no longer hit the
CSS parser at all.
|
|
This makes focus policies show up in the inspector which is helpful.
|