/* * Copyright (c) 2025, Luke Wilde * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Web::ContentSecurityPolicy::Directives { GC::Ref create_directive(GC::Heap& heap, String name, Vector value) { if (name == Names::ConnectSrc) return heap.allocate(move(name), move(value)); if (name == Names::FontSrc) return heap.allocate(move(name), move(value)); if (name == Names::FrameSrc) return heap.allocate(move(name), move(value)); if (name == Names::ImgSrc) return heap.allocate(move(name), move(value)); if (name == Names::ManifestSrc) return heap.allocate(move(name), move(value)); if (name == Names::MediaSrc) return heap.allocate(move(name), move(value)); if (name == Names::ObjectSrc) return heap.allocate(move(name), move(value)); if (name == Names::ScriptSrcAttr) return heap.allocate(move(name), move(value)); if (name == Names::ScriptSrc) return heap.allocate(move(name), move(value)); if (name == Names::ScriptSrcElem) return heap.allocate(move(name), move(value)); if (name == Names::StyleSrcAttr) return heap.allocate(move(name), move(value)); if (name == Names::StyleSrc) return heap.allocate(move(name), move(value)); if (name == Names::StyleSrcElem) return heap.allocate(move(name), move(value)); return heap.allocate(move(name), move(value)); } }