Andreas Kling
3ff81dcb65
LibWeb: Make Web::Namespace::Foo strings be FlyString
...
This required dealing with a *lot* of fallout, but it's all basically
just switching from DeprecatedFlyString to either FlyString or
Optional<FlyString> in a hundred places to accommodate the change.
2023-11-04 21:28:30 +01:00
Andreas Kling
f052823f5f
LibWeb: Use FlyString for create_element() namespace strings
2023-11-04 21:28:30 +01:00
Aliaksandr Kalenik
895ec6ad09
LibWeb: Remove unused append_child and remove_child in BrowsingContext
...
A part of post navigables cleanup.
2023-10-27 07:14:04 +02:00
Aliaksandr Kalenik
46254101f7
LibWeb: Change DOM::Position to be GC-allocated
2023-09-26 21:25:54 +02:00
Andrew Kaster
7e277797ad
LibWeb: Add about base url to the various AOs that construct documents
...
And some assorted cleanup along the way. The browsing context and
document AOs in particular need re-alignment with the spec.
2023-09-22 19:45:11 -06:00
Andreas Kling
413cc1774e
LibWeb: Remove unused BrowsingContext::scroll_offset_did_change()
2023-09-20 18:29:17 +02:00
Andreas Kling
93e4a0de16
LibWeb: Move has_a_rendering_opportunity() to Navigable
2023-09-20 18:29:17 +02:00
Andreas Kling
8e669c14c8
LibWeb: Remove unused BrowsingContext::document_family*()
2023-09-20 18:29:17 +02:00
Andreas Kling
38cb15ff49
LibWeb: Move system visibility state to TraversableNavigable
...
This no longer belongs in BrowsingContext.
2023-09-20 18:29:17 +02:00
Andreas Kling
046ae7fe86
LibWeb: Remove unused BrowsingContext::scroll_to_anchor()
2023-09-20 18:29:17 +02:00
Andreas Kling
94236c2532
LibWeb: Remove unused "frame nesting" tracking from BrowsingContext
2023-09-20 18:29:17 +02:00
Andreas Kling
51caa14381
LibWeb: Remove FrameLoader
...
This class is no longer used, now that we've moved to navigables.
2023-09-20 18:29:17 +02:00
Shannon Booth
b603e860af
LibWeb: Port CharacterData from DeprecatedString to String
...
The existing implementation has some pre-existing issues where it is
incorrectly assumes that byte offsets are given through the IDL instead
of UTF-16 code units. While making these changes, leave some FIXMEs for
that.
2023-09-19 10:54:07 +02:00
Aliaksandr Kalenik
8e832a174e
LibWeb: Update determine_the_origin
to match the latest spec
2023-09-17 21:08:59 +02:00
Aliaksandr Kalenik
cd75b1de3d
LibWeb: Delete discard() in Document and BrowsingContext
...
Those are not used anymore after moving to navigables.
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
180c3e2fef
LibWeb: Remove unused BrowsingContext::close()
...
Was replaced by close_top_level_traversable()
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
bf785fee34
LibWeb: Remove unused BrowsingContext::container_document()
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
1f2ed7effc
LibWeb: Remove outdated version of determine_the_origin()
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
7b91f79817
LibWeb: Delete unused BrowsingContext::is_child_of()
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
6942bdcfce
LibWeb: Update top_level_browsing_context() to use navigables
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
fda420875d
LibWeb: Delete BrowsingContext::set_active_document()
...
Superseded by Document::make_active()
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
4532584b3a
LibWeb: Remove unused BrowsingContext::create_a_new_browsing_context()
...
Became unused after introducing
create_a_new_browsing_context_and_document() used in navigables.
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
6665f0db43
LibWeb: Delete unused document_tree_child_browsing_context_count()
...
The function is no longer needed with navigables.
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
7daa462ef8
LibWeb: Remove BrowsingContext::create_a_new_top_level_browsing_context
...
This call has been replaced by
`create_a_new_top_level_browsing_context_and_document`
after specification was refactored to use navigables.
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
3171abe92a
LibWeb: Call Document::set_window() from Document::make_active()
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
24b3e315a0
LibWeb: Remove unused navigation methods in BrowsingContext
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
dd7bba66ed
LibWeb: Change viewport ownership from BrowsingContext
to Navigable
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
ce9af96f78
LibWeb: Use document from DocumentState in navigation
...
New navigables spec assumes that document pointer is located in
DocumentState instead of SessionHistoryEntry like it was in the
old navigation spec.
2023-09-16 16:53:32 +02:00
Aliaksandr Kalenik
ee50d9b2b5
LibWeb: Update Page to use navigables
2023-09-16 16:53:32 +02:00
Shannon Booth
e74031a396
LibWeb: Port Document interface from DeprecatedString to String
2023-09-16 11:17:19 +02:00
Shannon Booth
c3e6077cfc
LibWeb: Make Document::{visibility,read}_state return a StringView
...
Also using the visibility state enum to change strcmp to a simple
enum state check :^)
2023-09-13 07:26:35 +02:00
Sam Atkins
4897643ffb
LibWeb: Allow non-HTMLInputElements to have did_edit_text_node() called
...
HTMLTextAreaElement also needs to be told when its contained text node
has been edited, so let's make this functionality work for anyone who
extends the new EditableTextNodeOwner interface class.
2023-09-09 07:45:05 +02:00
Shannon Booth
41928c2902
LibWeb: Port DOMException interface from DeprecatedString to String
2023-09-06 11:44:45 -04:00
Andrew Kaster
5f0fb84379
LibWeb: Stub out determine_the_creation_sandboxing_flags
2023-08-29 09:39:57 +02:00
Andrew Kaster
a565021147
LibWeb: De-duplicate definition of url_matches_about_blank
...
We don't need two static methods for this.
2023-08-29 09:39:57 +02:00
Andrew Kaster
d97b09693e
LibWeb: Convert SandboxingFlagSet into a enum class
...
Instead of having a nested enum within a struct, use the macro
AK_ENUM_BITWISE_OPERATORS to add all the convienent has_flag free
functions and such for ease of use.
2023-08-29 09:39:57 +02:00
Andrew Kaster
d3a8ee6e4b
LibWeb: Remove unused SessionHistoryEntry::serialized_state
...
We never implemented this for History::pushState/popState, and now that
we're working on the Navigable changes, we don't need this legacy entry
with its legacy name.
2023-08-24 11:03:57 -06:00
Aliaksandr Kalenik
5ff7448fee
LibWeb: Move viewport subscriptions from BrowsingContext to Document
...
With this change, elements that want to receive viewport rect updates
will need to register on document instead of the browsing context.
This change solves the problem where a browsing context for a document
is guaranteed to exist only while the document is active so browsing
context might not exit by the time DOM node that want to register is
constructed.
This is a part of preparation work before switching to navigables where
this issue becomes more visible.
2023-08-23 20:14:20 +02:00
Aliaksandr Kalenik
b2b99aba95
LibWeb: Use Core::Timer
for cursor blink timer in BrowsingContext
...
Using `Core::Timer` that doesn't implicitly convert callback to
`JS::SafeFunction` fixes the bug when `BrowsingContext` is never
destroyed because of cyclic dependency between callback and
`BrowsingContext`.
2023-08-19 16:41:53 +02:00
Shannon Booth
9d60f23abc
AK: Port URL::m_fragment from DeprecatedString to String
2023-08-13 15:03:53 -06:00
Shannon Booth
55a01e72ca
AK: Port URL username/password from DeprecatedString to String
...
And for cases that just need to check whether the password/username is
empty, add a raw_{password,username} helper to avoid any allocation.
2023-08-13 15:03:53 -06:00
Andreas Kling
72c9f56c66
LibJS: Make Heap::allocate<T>() infallible
...
Stop worrying about tiny OOMs. Work towards #20449 .
While going through these, I also changed the function signature in many
places where returning ThrowCompletionOr<T> is no longer necessary.
2023-08-13 15:38:42 +02:00
Sam Atkins
8bd3b74e3a
LibWeb: Implement and use "scroll to the fragment" algorithm
...
This will eventually be used by Navigable but for now, it's just when
traversing the history.
2023-08-12 08:39:04 +02:00
Lucas CHOLLET
3f35ffb648
Userland: Prefer _string
over _short_string
...
As `_string` can't fail anymore (since 3434412
), there are no real
benefits to use the short variant in most cases.
2023-08-08 07:37:21 +02:00
Lucas CHOLLET
a5edc9cdfc
Userland: Prefer _short_string
over String::from_utf8_short_string
...
This user-defined literal is a strictly equivalent but shorter alias to
`String::from_utf8_short_string`.
2023-08-08 07:37:21 +02:00
Shannon Booth
8751be09f9
AK: Serialize URL hosts with 'concept-host-serializer'
...
In order to follow spec text to achieve this, we need to change the
underlying representation of a host in AK::URL to deserialized format.
Before this, we were parsing the host and then immediately serializing
it again.
Making that change resulted in a whole bunch of fallout.
After this change, callers can access the serialized data through
this concept-host-serializer. The functional end result of this
change is that IPv6 hosts are now correctly serialized to be
surrounded with '[' and ']'.
2023-07-31 05:18:51 +02:00
Andreas Kling
8f927eaa68
LibWeb: Add HTMLDocument class
...
This class is currently not in the spec, but it *is* still in all the
major browser engines. For compatibility reasons, let's do what other
engines do.
There is discussion about bringing HTMLDocument back into specs:
- https://github.com/whatwg/html/issues/4792
- https://github.com/whatwg/dom/issues/221
2023-06-21 16:30:27 +02:00
Luke Wilde
bd62fe9c33
LibWeb: Set method, headers and Content-Length in BC navigation
...
This is all ad-hoc, but will disappear when we switch to navigables.
2023-06-19 06:12:26 +02:00
Hendiadyoin1
eeb15fc10b
LibWeb: Stop lying about string types
2023-06-13 01:49:02 +02:00
stelar7
266d4a3553
LibWeb: Implement step 7 of choose_a_browsing_context
2023-06-01 14:28:52 +02:00