The proposal reached stage 4 and was merged into the ECMA-262 spec. See:
https://github.com/tc39/ecma262/commit/2006dea
(cherry picked from commit 9f1517492cc85c5f12cb52436dc72ec21e594b7a)
The proposal reached stage 4 and was merged into the ECMA-262 spec. See:
https://github.com/tc39/ecma262/commit/44bb0e0
(cherry picked from commit bf3e7d3ac43a16a8183b03c299b88702f493af82)
When working on the Inspector's HTML, it's often kind of tricky to debug
when an element is styled / positioned incorrectly. We don't have a way
to inspect the Inspector itself.
This adds a button to the Inspector to export its HTML/CSS/JS contents
to the downloads directory. This allows for more easily testing changes,
especially by opening the exported HTML in another browser's dev tools.
We will ultimately likely remove this button (or make it hidden) by the
time we are production-ready. But it's quite useful for now.
(cherry picked from commit 3ec5c1941f25041c6bf073f2940f6035e084a4e2)
After the refactor to use CSS variables for dark-mode colors in commit
ae25146b898ce8900d04c4911f1f0835681aac4e, we had duplicated blocks for
some CSS rules. This patch just unites them into one block.
(cherry picked from commit cde7c91c54574a97ec73a441669cd6dfd07e6f8f)
This adds another tab to the bottom tabs providing information
regarding the fonts computed for the currently selected DOM node.
(cherry picked from commit c3e69f2fc6ced035f59f3c78f54556a372d2fd14)
This patch adds all the needed plumbing to transfer information
regarding fonts of the selected DOM node to the inspector.
(cherry picked from commit 5621f34062f744086b9dc378212af35efe597c74)
The media queries for the different themes were all over the place,
they got consolidated in one place specifying all the colors. :^)
(cherry picked from commit ae25146b898ce8900d04c4911f1f0835681aac4e)
This appears to have been a bug in the spec which was later corrected -
so to fix the crash we can simply remove this assertion.
Fixes: #868
(cherry picked from commit 07940a89cad5ecfa21c2d1d8e055941bdb097ef9)
This implements the `preload` reflected attribute. No actual preloading
is going on yet.
(cherry picked from commit fe933b2057eee8eb65d6e43a97b934bbe85d03bb)
`BrowsingContext::m_parent` has been removed from the spec,
and previously `m_parent` was always null.
`BrowsingContext::is_top_level` was already always returning
true before because of that, and the updated spec algorithm
causes assertions to fail.
This fixes the following example:
```html
<a href="about:blank" target="test">a
<iframe name="test">
```
clicking the link twice no longer causes it to open in a new tab.
(cherry picked from commit e6a668ad913f0755840954c188c255fc5fc66606)
There is no need to force repaint when client is ready for the next
frame. We simply need to make sure HTML event loop processing is
scheduled.
(cherry picked from commit 3edd22143d7ed96ca979604828ec9059d8700fc4)
None of HTML event loop processing steps are relevant for decoded SVGs,
so we can simply skip them while collecting documents for processing.
(cherry picked from commit c87214d79cf834ee9b7b4da65e902e5233c0a5cc)
The values of attribute selectors are now compared case insensitively
by default if the attribute's document is not a HTML document, or the
element is not in the HTML namespace.
(cherry picked from commit 00f03f3e900d6f5c0196db9a9d7eb352ec516b44)
Previously, 0 was returned if `HTMLProgressElement.max` was set to a
negative value.
(cherry picked from commit 353e3e75dcff05f05a65cfc3c70d1cff8db5d50c)
This change causes HTTP status codes to be set on cached HTTP responses.
Otherwise, without this change, no status codes at all are set on cached
HTTP responses — which causes all cached responses to default to being
loaded/served with a 200 status code. And as a result of that, if the
cached response is from a 30x redirect, then without this change, when
that cached 30x response is loaded, we don’t follow the redirect —
because we see a 200 status, rather than the expected/original 30x.
Fixes https://github.com/LadybirdBrowser/ladybird/issues/863
Note that this change also reverts the temporary workaround added in
https://github.com/LadybirdBrowser/ladybird/commit/f735c464d3f
(https://github.com/LadybirdBrowser/ladybird/pull/899).
(cherry picked from commit 23da1752b50568f2c49b1c63c2777ddffddaf6f5)
If a HTTP 401 response we get does not contain a `WWW-Authenticate`
header, we should not trigger the logic to ask the user for credentials
and retry the request.
This part is hinted at in a TODO / 'Needs testing' remark in the spec
but needs to be fleshed out. Raised an upstream issue to do so:
https://github.com/whatwg/fetch/issues/1766
This fixes login forms triggering an infinite fetch loop when providing
incorrect credentials.
Co-Authored-By: Victor Tran <vicr12345@gmail.com>
(cherry picked from commit e7984a77116d47fde150f81f6e18cae6aaa147ad)
This change disables caching for 301, 302, 303, 307, and 308 responses.
This is just for now, ad-hoc — not adhering to any particular spec.
Fixes https://github.com/LadybirdBrowser/ladybird/issues/863
(cherry picked from commit f735c464d3fe02ac43a1fa46c82ae9a3bb5de8b1)
This early exit prevents to show the current DOM in the inspector, when
the inspector was already opened.
Fixes#990
(cherry picked from commit dd5550dde39f177d44cd776ebca033ea99ce5749)
This PR stops the cursor from disappearing while typing trailing spaces
in a text input box.
(cherry picked from commit b3a67ee088d5bd2fb8d76d3e6f9adeff2cb8a6b6)
We completely missed this step, which made setters not actually do
anything!
Fixes 336 test failures on:
https://wpt.live/url/url-setters-a-area.window.html
(cherry picked from commit deff8df2c79af718f08f16bc47f5a22ac6add553)
`m_needs_repaint = true` is not enough because it doesn't schedule
repaint of a parent navigable.
Fixes the bug when an iframe is not repainted after scrolling.
(cherry picked from commit 40742d95e66c98857fa43ea1c6632dbe75ecb3b3)
This call is used to inform the chrome that it should display a tooltip
now and avoid any hovering timers. This is used by <video> tags to
display the volume percentage when it is changed.
(cherry picked from commit ceb9c3b79746e5499dce781e1fc81a9107c86f84;
amended to add a FIXME: to OutOfProcessWebView for these new hooks)
Now instead of sending the position in which the user entered the
tooltip area, send just the text, and let the chrome figure out how to
display it.
In the case of Qt, wait for 600 milliseconds of no mouse movement, then
display it under the mouse cursor.
(cherry picked from commit 0f7623dd8322f0fd5ef6ee0e27e1295e11f276e6;
amended to update OutOfProcessWebView.cpp for on_enter_tooltip_area
API change)
This change makes find-in-page ignore content that’s been added to the
document using CSS ::after or ::before pseudo-elements. Ignoring such
pseudo-element content for find-in-page matches the behavior in Chrome
and Safari (though not in Firefox).
Otherwise, without this change, find-in-page doesn’t ignore the
pseudo-element content, and we instead crash in
DOM::Range::common_ancestor_container after hitting an assert, due to
the start container and end container for the matched range not having a
common ancestor.
Fixes https://github.com/LadybirdBrowser/ladybird/issues/514
(cherry picked from commit 0a55e36403416dbf2ec3c3ce4ede9d241eed20ef)
The `deepEquals` algorithm used for testing was naive, and incorrectly
evaluated equality of objects in some cases. The new algorithm considers
that the second object could have more keys than the first, and compares
the prototypes of the objects.
(cherry picked from commit cb629e18bbcb8f5a6c6fd535e290a34da7a5cfb6)