mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-03-22 04:34:44 +00:00
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:
@@ -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>
|
||||||
|
|||||||
@@ -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, .{});
|
||||||
|
|||||||
@@ -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, .{});
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user