From 3095daa7c8b9199ba7413a739d34ce9b7095caef Mon Sep 17 00:00:00 2001 From: Jamie Mansfield Date: Fri, 24 May 2024 00:08:03 +0100 Subject: [PATCH] LibWeb: Implement HTMLImageElement.currentSrc Removes some console noise from lner.co.uk :) --- Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp | 7 +++++++ Userland/Libraries/LibWeb/HTML/HTMLImageElement.h | 3 +++ Userland/Libraries/LibWeb/HTML/HTMLImageElement.idl | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp index a15ae9d3e1..7ae044cc51 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp @@ -269,6 +269,13 @@ bool HTMLImageElement::complete() const return false; } +// https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-currentsrc +String HTMLImageElement::current_src() const +{ + // The currentSrc IDL attribute must return the img element's current request's current URL. + return MUST(m_current_request->current_url().to_string()); +} + Optional HTMLImageElement::default_role() const { // https://www.w3.org/TR/html-aria/#el-img diff --git a/Userland/Libraries/LibWeb/HTML/HTMLImageElement.h b/Userland/Libraries/LibWeb/HTML/HTMLImageElement.h index 6f22535766..5ef975c794 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLImageElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLImageElement.h @@ -57,6 +57,9 @@ public: // https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-complete bool complete() const; + // https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-currentsrc + String current_src() const; + virtual Optional default_role() const override; // https://html.spec.whatwg.org/multipage/images.html#img-environment-changes diff --git a/Userland/Libraries/LibWeb/HTML/HTMLImageElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLImageElement.idl index 762a93a78e..6b80732bc9 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLImageElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLImageElement.idl @@ -19,7 +19,7 @@ interface HTMLImageElement : HTMLElement { readonly attribute unsigned long naturalWidth; readonly attribute unsigned long naturalHeight; readonly attribute boolean complete; - [FIXME] readonly attribute USVString currentSrc; + readonly attribute USVString currentSrc; [FIXME, CEReactions] attribute DOMString referrerPolicy; [FIXME, CEReactions] attribute DOMString decoding; [CEReactions, Enumerated=LazyLoadingAttribute, Reflect] attribute DOMString loading;