add missing dom_exception flags to bridge declarations

atob, Performance.measure, and Navigation methods (back, forward,
navigate, traverseTo, updateCurrentEntry) return DOMException errors
but were missing the dom_exception flag, causing them to throw generic
Error objects instead of proper DOMException instances in JavaScript.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
egrs
2026-03-07 14:34:28 +01:00
parent 21313adf9c
commit 4f55a0f1d0
4 changed files with 8 additions and 8 deletions

View File

@@ -82,7 +82,7 @@
testing.expectEqual('ceil', atob('Y2VpbA')); // 6 chars, len%4==2, needs '==' testing.expectEqual('ceil', atob('Y2VpbA')); // 6 chars, len%4==2, needs '=='
// length % 4 == 1 must still throw // length % 4 == 1 must still throw
testing.expectError('Error: InvalidCharacterError', () => { testing.expectError('InvalidCharacterError: Invalid Character', () => {
atob('Y'); atob('Y');
}); });
</script> </script>

View File

@@ -268,7 +268,7 @@ pub const JsApi = struct {
pub const now = bridge.function(Performance.now, .{}); pub const now = bridge.function(Performance.now, .{});
pub const mark = bridge.function(Performance.mark, .{}); pub const mark = bridge.function(Performance.mark, .{});
pub const measure = bridge.function(Performance.measure, .{}); pub const measure = bridge.function(Performance.measure, .{ .dom_exception = true });
pub const clearMarks = bridge.function(Performance.clearMarks, .{}); pub const clearMarks = bridge.function(Performance.clearMarks, .{});
pub const clearMeasures = bridge.function(Performance.clearMeasures, .{}); pub const clearMeasures = bridge.function(Performance.clearMeasures, .{});
pub const getEntries = bridge.function(Performance.getEntries, .{}); pub const getEntries = bridge.function(Performance.getEntries, .{});

View File

@@ -798,7 +798,7 @@ pub const JsApi = struct {
pub const matchMedia = bridge.function(Window.matchMedia, .{}); pub const matchMedia = bridge.function(Window.matchMedia, .{});
pub const postMessage = bridge.function(Window.postMessage, .{}); pub const postMessage = bridge.function(Window.postMessage, .{});
pub const btoa = bridge.function(Window.btoa, .{}); pub const btoa = bridge.function(Window.btoa, .{});
pub const atob = bridge.function(Window.atob, .{}); pub const atob = bridge.function(Window.atob, .{ .dom_exception = true });
pub const reportError = bridge.function(Window.reportError, .{}); pub const reportError = bridge.function(Window.reportError, .{});
pub const getComputedStyle = bridge.function(Window.getComputedStyle, .{}); pub const getComputedStyle = bridge.function(Window.getComputedStyle, .{});
pub const getSelection = bridge.function(Window.getSelection, .{}); pub const getSelection = bridge.function(Window.getSelection, .{});

View File

@@ -474,12 +474,12 @@ pub const JsApi = struct {
pub const canGoForward = bridge.accessor(Navigation.getCanGoForward, null, .{}); pub const canGoForward = bridge.accessor(Navigation.getCanGoForward, null, .{});
pub const currentEntry = bridge.accessor(Navigation.getCurrentEntry, null, .{}); pub const currentEntry = bridge.accessor(Navigation.getCurrentEntry, null, .{});
pub const transition = bridge.accessor(Navigation.getTransition, null, .{}); pub const transition = bridge.accessor(Navigation.getTransition, null, .{});
pub const back = bridge.function(Navigation.back, .{}); pub const back = bridge.function(Navigation.back, .{ .dom_exception = true });
pub const entries = bridge.function(Navigation.entries, .{}); pub const entries = bridge.function(Navigation.entries, .{});
pub const forward = bridge.function(Navigation.forward, .{}); pub const forward = bridge.function(Navigation.forward, .{ .dom_exception = true });
pub const navigate = bridge.function(Navigation.navigate, .{}); pub const navigate = bridge.function(Navigation.navigate, .{ .dom_exception = true });
pub const traverseTo = bridge.function(Navigation.traverseTo, .{}); pub const traverseTo = bridge.function(Navigation.traverseTo, .{ .dom_exception = true });
pub const updateCurrentEntry = bridge.function(Navigation.updateCurrentEntry, .{}); pub const updateCurrentEntry = bridge.function(Navigation.updateCurrentEntry, .{ .dom_exception = true });
pub const oncurrententrychange = bridge.accessor( pub const oncurrententrychange = bridge.accessor(
Navigation.getOnCurrentEntryChange, Navigation.getOnCurrentEntryChange,