summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibWeb/URL/URL.cpp
AgeCommit message (Collapse)Author
2023-02-18LibWeb: Make factory method of URL::URL fallibleKenneth Myhra
2023-01-29LibJS+Everywhere: Propagate Cell::initialize errors from Heap::allocateTimothy Flynn
Callers that are already in a fallible context will now TRY to allocate cells. Callers in infallible contexts get a FIXME.
2023-01-29LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errorsTimothy Flynn
Note that as of this commit, there aren't any such throwers, and the call site in Heap::allocate will drop exceptions on the floor. This commit only serves to change the declaration of the overrides, make sure they return an empty value, and to propagate OOM errors frm their base initialize invocations.
2023-01-10LibWeb: Move setting of Web object prototypes to initialize()Timothy Flynn
This needs to happen before prototype/constructor intitialization can be made lazy. Otherwise, GC could run during the C++ constructor and try to collect the object currently being created.
2022-12-15LibJS: Convert Heap::allocate{,_without_realm}() to NonnullGCPtrLinus Groh
2022-12-06AK+Everywhere: Rename String to DeprecatedStringLinus Groh
We have a new, improved string type coming up in AK (OOM aware, no null state), and while it's going to use UTF-8, the name UTF8String is a mouthful - so let's free up the String name by renaming the existing class. Making the old one have an annoying name will hopefully also help with quick adoption :^)
2022-10-30LibWeb: Implement 'host is domain' concept from the URL specLinus Groh
2022-10-29LibWeb: Use StringView literals for all `WebIDL::SimpleException`sLinus Groh
2022-10-24LibWeb: Move url_origin() to URL/URL.{cpp,h}Linus Groh
2022-10-01LibWeb: Remove unecessary dependence on Window from assorted classesAndrew Kaster
These classes only needed Window to get at its realm. Pass a realm directly to construct Crypto, Encoding, HRT, IntersectionObserver, NavigationTiming, Page, RequestIdleCallback, Selection, Streams, URL, and XML classes.
2022-09-25LibWeb: Move ExceptionOr from DOM/ to WebIDL/Linus Groh
This is a concept fully defined in the Web IDL spec and doesn't belong in the DOM directory/namespace - not even DOMException, despite the name :^)
2022-09-06LibWeb: Make URL, URLSearchParams & URLSearchParamsIterator GC-allocatedAndreas Kling
2022-09-06LibWeb+LibJS: Make the EventTarget hierarchy (incl. DOM) GC-allocatedAndreas Kling
This is a monster patch that turns all EventTargets into GC-allocated PlatformObjects. Their C++ wrapper classes are removed, and the LibJS garbage collector is now responsible for their lifetimes. There's a fair amount of hacks and band-aids in this patch, and we'll have a lot of cleanup to do after this.
2022-04-01Everywhere: Run clang-formatIdan Horowitz
2022-03-22LibWeb: Convert URL to use TRY for error propagationLinus Groh
2021-10-03LibWeb: Make the URL.port setter return after assigning the empty stringAndreas Kling
This matches the spec ("3. Otherwise, ...")
2021-09-14LibWeb: Add the URL::{protocol, pathname, search, hash} attributesIdan Horowitz
2021-09-14LibWeb: Add the URL::host, URL::hostname & URL:port attributesIdan Horowitz
2021-09-14LibWeb: Add the URL::username, URL::password & URL::origin attributesIdan Horowitz
2021-09-14LibWeb: Add the URL::searchParams attributeIdan Horowitz
2021-09-14LibWeb: Add the URL::href attribute and URL::to_json methodIdan Horowitz
2021-09-14LibWeb: Add a bare implementation of the URL built-inIdan Horowitz
This only has the constructor implemented for now.
2021-09-14LibWeb: Move url_{encode, decode} to URL/URLSearchParams.{h, cpp}Idan Horowitz
The new URL built-in that will reside in URL.{h, cpp} will have an URLSearchParams member, which means it has to include its header, and as such URLSearchParams.h can't include URL's header, which it needs as it uses the url_{encode, decode} functions.
2021-09-13LibWeb: Add URL::url_decode for decoding form url encoded parametersIdan Horowitz
2021-09-13LibWeb: Add the Web::URL namespace and move URLEncoder to itIdan Horowitz
This namespace will be used for all interfaces defined in the URL specification, like URL and URLSearchParams. This has the unfortunate side-effect of requiring us to use the fully qualified AK::URL name whenever we want to refer to the AK class, so this commit also fixes all such references.