From b110e4649e292869c9d8a81519d989bd98bb21aa Mon Sep 17 00:00:00 2001 From: Kemal Zebari Date: Tue, 19 Sep 2023 23:46:31 -0700 Subject: [PATCH] LibWeb/MimeSniff: Add `MimeType::is_scriptable()` --- Userland/Libraries/LibWeb/MimeSniff/MimeType.cpp | 7 +++++++ Userland/Libraries/LibWeb/MimeSniff/MimeType.h | 1 + 2 files changed, 8 insertions(+) diff --git a/Userland/Libraries/LibWeb/MimeSniff/MimeType.cpp b/Userland/Libraries/LibWeb/MimeSniff/MimeType.cpp index 5ac43eab40..e327d9bded 100644 --- a/Userland/Libraries/LibWeb/MimeSniff/MimeType.cpp +++ b/Userland/Libraries/LibWeb/MimeSniff/MimeType.cpp @@ -306,6 +306,13 @@ bool MimeType::is_html() const return essence().is_one_of("text/html"sv); } +// https://mimesniff.spec.whatwg.org/#scriptable-mime-type +bool MimeType::is_scriptable() const +{ + // A scriptable MIME type is an XML MIME type, HTML MIME type, or any MIME type whose essence is "application/pdf". + return is_xml() || is_html() || essence() == "application/pdf"sv; +} + // https://mimesniff.spec.whatwg.org/#javascript-mime-type bool MimeType::is_javascript() const { diff --git a/Userland/Libraries/LibWeb/MimeSniff/MimeType.h b/Userland/Libraries/LibWeb/MimeSniff/MimeType.h index 8d22153110..5fd01918e6 100644 --- a/Userland/Libraries/LibWeb/MimeSniff/MimeType.h +++ b/Userland/Libraries/LibWeb/MimeSniff/MimeType.h @@ -33,6 +33,7 @@ public: bool is_archive() const; bool is_xml() const; bool is_html() const; + bool is_scriptable() const; bool is_javascript() const; ErrorOr set_parameter(String name, String value);