LibWeb/Bindings: Qualify generated C++ type names

Derive C++ namespaces from each IDL module's location and use those
qualified names when generating binding code.

Also Teach dictionaries their owning IDL module path so dictionary C++
types can be qualified the same way as interfaces. This removes the need
for the generated `using namespace Web::*` hack and the hard-coded
namespace list.

Also fix DOMURL.idl to refer to the IDL interface name `URL`, not the
C++ implementation name `DOMURL`.
This commit is contained in:
Shannon Booth
2026-04-22 20:41:06 +02:00
committed by Shannon Booth
parent 4178ec0af4
commit 535b8f5b9b
Notes: github-actions[bot] 2026-04-24 18:10:04 +00:00
6 changed files with 106 additions and 156 deletions

View File

@@ -7,7 +7,7 @@
interface URL {
constructor(USVString url, optional USVString base);
[ImplementedAs=parse_for_bindings] static DOMURL? parse(USVString url, optional USVString base);
[ImplementedAs=parse_for_bindings] static URL? parse(USVString url, optional USVString base);
static boolean canParse(USVString url, optional USVString base);
stringifier attribute USVString href;