fix: trust iframe urls

This commit is contained in:
ajnart committed 2026-08-26 17:35:39 +02:00
1 parent c34629d39e
commit 55b62a6e2b
5 files changed
+15 -69

No files matched your search

+11 -12
View File
@@ -2,7 +2,6 @@ import { IconBrowser, IconExternalLink } from "@tabler/icons-react";
import { createWidgetDefinition } from "../definition";
import { optionsBuilder } from "../options";
import { getSafeIframeUrl } from "./url";
const createOptions = () =>
optionsBuilder.from((factory) => ({
@@ -23,17 +22,17 @@ export const { definition, componentLoader } = createWidgetDefinition("iframe",
supportsAdvancedFocus: false,
icon: IconBrowser,
contextActions: ({ options }) => {
const embedUrl = getSafeIframeUrl(options.embedUrl);
return embedUrl
? [
{
key: "open-iframe",
label: "widget.common.openInNewTab.label",
icon: IconExternalLink,
onClick: () => window.open(embedUrl, "_blank", "noopener,noreferrer"),
},
]
: [];
const embedUrl = options.embedUrl;
if (typeof embedUrl !== "string" || embedUrl.trim() === "") return [];
return [
{
key: "open-iframe",
label: "widget.common.openInNewTab.label",
icon: IconExternalLink,
onClick: () => window.open(embedUrl, "_blank", "noopener,noreferrer"),
},
];
},
createOptions,
}).withDynamicImport(() => import("./component"));