1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 21:47:45 +00:00

LibWeb: Add LocationObject::url()

https://html.spec.whatwg.org/multipage/history.html#concept-location-url

> A Location object has an associated url, which is this Location
> object's relevant Document's URL, if this Location object's relevant
> Document is non-null, and about:blank otherwise.
This commit is contained in:
Linus Groh 2022-03-05 00:17:47 +01:00 committed by Andreas Kling
parent da8525279e
commit 7fb9f431ea
2 changed files with 11 additions and 0 deletions

View file

@ -56,6 +56,15 @@ DOM::Document const* LocationObject::relevant_document() const
return browsing_context ? browsing_context->active_document() : nullptr;
}
// https://html.spec.whatwg.org/multipage/history.html#concept-location-url
AK::URL LocationObject::url() const
{
// A Location object has an associated url, which is this Location object's relevant Document's URL,
// if this Location object's relevant Document is non-null, and about:blank otherwise.
auto const* relevant_document = this->relevant_document();
return relevant_document ? relevant_document->url() : "about:blank"sv;
}
// https://html.spec.whatwg.org/multipage/history.html#dom-location-href
JS_DEFINE_NATIVE_FUNCTION(LocationObject::href_getter)
{

View file

@ -7,6 +7,7 @@
#pragma once
#include <AK/URL.h>
#include <LibJS/Runtime/Completion.h>
#include <LibJS/Runtime/Object.h>
#include <LibWeb/Forward.h>
@ -31,6 +32,7 @@ public:
private:
DOM::Document const* relevant_document() const;
AK::URL url() const;
JS_DECLARE_NATIVE_FUNCTION(reload);
JS_DECLARE_NATIVE_FUNCTION(replace);