Skip to content

Commit 0f13e06

Browse files
committed
Remove unnecessary error handling from non-erroring netsurf event functions
1 parent 9b2b35e commit 0f13e06

File tree

12 files changed

+69
-76
lines changed

12 files changed

+69
-76
lines changed

src/browser/ScriptManager.zig

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -649,10 +649,7 @@ const Script = struct {
649649
defer parser.eventDestroy(loadevt);
650650

651651
var result: Env.Function.Result = undefined;
652-
const iface = Event.toInterface(loadevt) catch |err| {
653-
log.err(.browser, "SM event interface", .{ .err = err });
654-
return;
655-
};
652+
const iface = Event.toInterface(loadevt);
656653
f.tryCall(void, .{iface}, &result) catch {
657654
log.warn(.user_script, "script callback", .{
658655
.url = self.url,

src/browser/dom/MessageChannel.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ pub const MessageEvent = struct {
252252
const event = try parser.eventCreate();
253253
defer parser.eventDestroy(event);
254254
try parser.eventInit(event, "message", .{});
255-
try parser.eventSetInternalType(event, .message_event);
255+
parser.eventSetInternalType(event, .message_event);
256256

257257
return .{
258258
.proto = event.*,

src/browser/dom/mutation_observer.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ const Observer = struct {
278278
var mutation_observer = self.mutation_observer;
279279

280280
const node = blk: {
281-
const event_target = try parser.eventTarget(event) orelse return;
281+
const event_target = parser.eventTarget(event) orelse return;
282282
break :blk parser.eventTargetToNode(event_target);
283283
};
284284

src/browser/events/event.zig

Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ pub const Event = struct {
6464
pub const _AT_TARGET = 2;
6565
pub const _BUBBLING_PHASE = 3;
6666

67-
pub fn toInterface(evt: *parser.Event) !Union {
68-
return switch (try parser.eventGetInternalType(evt)) {
67+
pub fn toInterface(evt: *parser.Event) Union {
68+
return switch (parser.eventGetInternalType(evt)) {
6969
.event, .abort_signal, .xhr_event => .{ .Event = evt },
7070
.custom_event => .{ .CustomEvent = @as(*CustomEvent, @ptrCast(evt)).* },
7171
.progress_event => .{ .ProgressEvent = @as(*ProgressEvent, @ptrCast(evt)).* },
@@ -89,41 +89,41 @@ pub const Event = struct {
8989
}
9090

9191
pub fn get_target(self: *parser.Event, page: *Page) !?EventTargetUnion {
92-
const et = try parser.eventTarget(self);
92+
const et = parser.eventTarget(self);
9393
if (et == null) return null;
9494
return try EventTarget.toInterface(et.?, page);
9595
}
9696

9797
pub fn get_currentTarget(self: *parser.Event, page: *Page) !?EventTargetUnion {
98-
const et = try parser.eventCurrentTarget(self);
98+
const et = parser.eventCurrentTarget(self);
9999
if (et == null) return null;
100100
return try EventTarget.toInterface(et.?, page);
101101
}
102102

103-
pub fn get_eventPhase(self: *parser.Event) !u8 {
104-
return try parser.eventPhase(self);
103+
pub fn get_eventPhase(self: *parser.Event) u8 {
104+
return parser.eventPhase(self);
105105
}
106106

107-
pub fn get_bubbles(self: *parser.Event) !bool {
108-
return try parser.eventBubbles(self);
107+
pub fn get_bubbles(self: *parser.Event) bool {
108+
return parser.eventBubbles(self);
109109
}
110110

111-
pub fn get_cancelable(self: *parser.Event) !bool {
112-
return try parser.eventCancelable(self);
111+
pub fn get_cancelable(self: *parser.Event) bool {
112+
return parser.eventCancelable(self);
113113
}
114114

115-
pub fn get_defaultPrevented(self: *parser.Event) !bool {
116-
return try parser.eventDefaultPrevented(self);
115+
pub fn get_defaultPrevented(self: *parser.Event) bool {
116+
return parser.eventDefaultPrevented(self);
117117
}
118118

119-
pub fn get_isTrusted(self: *parser.Event) !bool {
120-
return try parser.eventIsTrusted(self);
119+
pub fn get_isTrusted(self: *parser.Event) bool {
120+
return parser.eventIsTrusted(self);
121121
}
122122

123123
// Even though this is supposed to to provide microsecond resolution, browser
124124
// return coarser values to protect against fingerprinting. libdom returns
125125
// seconds, which is good enough.
126-
pub fn get_timeStamp(self: *parser.Event) !u64 {
126+
pub fn get_timeStamp(self: *parser.Event) u64 {
127127
return parser.eventTimestamp(self);
128128
}
129129

@@ -143,19 +143,19 @@ pub const Event = struct {
143143
}
144144

145145
pub fn _stopPropagation(self: *parser.Event) !void {
146-
return try parser.eventStopPropagation(self);
146+
return parser.eventStopPropagation(self);
147147
}
148148

149149
pub fn _stopImmediatePropagation(self: *parser.Event) !void {
150-
return try parser.eventStopImmediatePropagation(self);
150+
return parser.eventStopImmediatePropagation(self);
151151
}
152152

153153
pub fn _preventDefault(self: *parser.Event) !void {
154-
return try parser.eventPreventDefault(self);
154+
return parser.eventPreventDefault(self);
155155
}
156156

157157
pub fn _composedPath(self: *parser.Event, page: *Page) ![]const EventTargetUnion {
158-
const et_ = try parser.eventTarget(self);
158+
const et_ = parser.eventTarget(self);
159159
const et = et_ orelse return &.{};
160160

161161
var node: ?*parser.Node = switch (try parser.eventTargetInternalType(et)) {
@@ -326,11 +326,7 @@ pub const EventHandler = struct {
326326
}
327327

328328
fn handle(node: *parser.EventNode, event: *parser.Event) void {
329-
const ievent = Event.toInterface(event) catch |err| {
330-
log.err(.app, "toInterface error", .{ .err = err });
331-
return;
332-
};
333-
329+
const ievent = Event.toInterface(event);
334330
const self: *EventHandler = @fieldParentPtr("node", node);
335331
var result: Function.Result = undefined;
336332
self.callback.tryCall(void, .{ievent}, &result) catch {
@@ -342,7 +338,7 @@ pub const EventHandler = struct {
342338
};
343339

344340
if (self.once) {
345-
const target = (parser.eventTarget(event) catch return).?;
341+
const target = parser.eventTarget(event).?;
346342
const typ = parser.eventType(event) catch return;
347343
parser.eventTargetRemoveEventListener(
348344
target,

src/browser/events/keyboard_event.zig

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const std = @import("std");
2020
const log = @import("../../log.zig");
2121
const builtin = @import("builtin");
2222

23-
const netsurf = @import("../netsurf.zig");
23+
const parser = @import("../netsurf.zig");
2424
const Event = @import("event.zig").Event;
2525
const JsObject = @import("../env.zig").JsObject;
2626

@@ -30,13 +30,13 @@ const UIEvent = Event;
3030

3131
// https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent
3232
pub const KeyboardEvent = struct {
33-
pub const Self = netsurf.KeyboardEvent;
33+
pub const Self = parser.KeyboardEvent;
3434
pub const prototype = *UIEvent;
3535

3636
pub const ConstructorOptions = struct {
3737
key: []const u8 = "",
3838
code: []const u8 = "",
39-
location: netsurf.KeyboardEventOpts.LocationCode = .standard,
39+
location: parser.KeyboardEventOpts.LocationCode = .standard,
4040
repeat: bool = false,
4141
isComposing: bool = false,
4242
// Currently not supported but we take as argument.
@@ -51,13 +51,13 @@ pub const KeyboardEvent = struct {
5151
metaKey: bool = false,
5252
};
5353

54-
pub fn constructor(event_type: []const u8, maybe_options: ?ConstructorOptions) !*netsurf.KeyboardEvent {
54+
pub fn constructor(event_type: []const u8, maybe_options: ?ConstructorOptions) !*parser.KeyboardEvent {
5555
const options: ConstructorOptions = maybe_options orelse .{};
5656

57-
var event = try netsurf.keyboardEventCreate();
58-
try netsurf.eventSetInternalType(@ptrCast(&event), .keyboard_event);
57+
var event = try parser.keyboardEventCreate();
58+
parser.eventSetInternalType(@ptrCast(&event), .keyboard_event);
5959

60-
try netsurf.keyboardEventInit(
60+
try parser.keyboardEventInit(
6161
event,
6262
event_type,
6363
.{
@@ -122,19 +122,19 @@ pub const KeyboardEvent = struct {
122122
// Getters.
123123

124124
pub fn get_altKey(self: *Self) bool {
125-
return netsurf.keyboardEventKeyIsSet(self, .alt);
125+
return parser.keyboardEventKeyIsSet(self, .alt);
126126
}
127127

128128
pub fn get_ctrlKey(self: *Self) bool {
129-
return netsurf.keyboardEventKeyIsSet(self, .ctrl);
129+
return parser.keyboardEventKeyIsSet(self, .ctrl);
130130
}
131131

132132
pub fn get_metaKey(self: *Self) bool {
133-
return netsurf.keyboardEventKeyIsSet(self, .meta);
133+
return parser.keyboardEventKeyIsSet(self, .meta);
134134
}
135135

136136
pub fn get_shiftKey(self: *Self) bool {
137-
return netsurf.keyboardEventKeyIsSet(self, .shift);
137+
return parser.keyboardEventKeyIsSet(self, .shift);
138138
}
139139

140140
pub fn get_isComposing(self: *Self) bool {
@@ -146,7 +146,7 @@ pub const KeyboardEvent = struct {
146146
}
147147

148148
pub fn get_key(self: *Self) ![]const u8 {
149-
return netsurf.keyboardEventGetKey(self);
149+
return parser.keyboardEventGetKey(self);
150150
}
151151

152152
pub fn get_repeat(self: *Self) bool {

src/browser/events/mouse_event.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ pub const MouseEvent = struct {
5656
const opts = opts_ orelse MouseEventInit{};
5757

5858
var mouse_event = try parser.mouseEventCreate();
59-
try parser.eventSetInternalType(@ptrCast(&mouse_event), .mouse_event);
59+
parser.eventSetInternalType(@ptrCast(&mouse_event), .mouse_event);
6060

6161
try parser.mouseEventInit(mouse_event, event_type, .{
6262
.x = opts.clientX,

src/browser/html/AbortController.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ pub const AbortSignal = struct {
9191
self.reason = reason_ orelse DEFAULT_REASON;
9292

9393
const abort_event = try parser.eventCreate();
94-
try parser.eventSetInternalType(abort_event, .abort_signal);
94+
parser.eventSetInternalType(abort_event, .abort_signal);
9595

9696
defer parser.eventDestroy(abort_event);
9797
try parser.eventInit(abort_event, "abort", .{});

src/browser/html/error_event.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ pub const ErrorEvent = struct {
4242
const event = try parser.eventCreate();
4343
defer parser.eventDestroy(event);
4444
try parser.eventInit(event, event_type, .{});
45-
try parser.eventSetInternalType(event, .event);
45+
parser.eventSetInternalType(event, .event);
4646

4747
const o = opts orelse ErrorEventInit{};
4848

src/browser/netsurf.zig

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -456,87 +456,87 @@ pub fn eventType(evt: *Event) ![]const u8 {
456456
return strToData(s.?);
457457
}
458458

459-
pub fn eventTarget(evt: *Event) !?*EventTarget {
459+
pub fn eventTarget(evt: *Event) ?*EventTarget {
460460
var et: ?*EventTarget = null;
461461
const err = c._dom_event_get_target(evt, &et);
462-
try DOMErr(err);
462+
std.debug.assert(err == c.DOM_NO_ERR);
463463
return et;
464464
}
465465

466-
pub fn eventCurrentTarget(evt: *Event) !?*EventTarget {
466+
pub fn eventCurrentTarget(evt: *Event) ?*EventTarget {
467467
var et: ?*EventTarget = null;
468468
const err = c._dom_event_get_current_target(evt, &et);
469-
try DOMErr(err);
469+
std.debug.assert(err == c.DOM_NO_ERR);
470470
return et;
471471
}
472472

473-
pub fn eventPhase(evt: *Event) !u8 {
473+
pub fn eventPhase(evt: *Event) u8 {
474474
var phase: c.dom_event_flow_phase = undefined;
475475
const err = c._dom_event_get_event_phase(evt, &phase);
476-
try DOMErr(err);
476+
std.debug.assert(err == c.DOM_NO_ERR);
477477
return @as(u8, @intCast(phase));
478478
}
479479

480-
pub fn eventBubbles(evt: *Event) !bool {
480+
pub fn eventBubbles(evt: *Event) bool {
481481
var res: bool = undefined;
482482
const err = c._dom_event_get_bubbles(evt, &res);
483-
try DOMErr(err);
483+
std.debug.assert(err == c.DOM_NO_ERR);
484484
return res;
485485
}
486486

487-
pub fn eventCancelable(evt: *Event) !bool {
487+
pub fn eventCancelable(evt: *Event) bool {
488488
var res: bool = undefined;
489489
const err = c._dom_event_get_cancelable(evt, &res);
490-
try DOMErr(err);
490+
std.debug.assert(err == c.DOM_NO_ERR);
491491
return res;
492492
}
493493

494-
pub fn eventDefaultPrevented(evt: *Event) !bool {
494+
pub fn eventDefaultPrevented(evt: *Event) bool {
495495
var res: bool = undefined;
496496
const err = c._dom_event_is_default_prevented(evt, &res);
497-
try DOMErr(err);
497+
std.debug.assert(err == c.DOM_NO_ERR);
498498
return res;
499499
}
500500

501-
pub fn eventIsTrusted(evt: *Event) !bool {
501+
pub fn eventIsTrusted(evt: *Event) bool {
502502
var res: bool = undefined;
503503
const err = c._dom_event_get_is_trusted(evt, &res);
504-
try DOMErr(err);
504+
std.debug.assert(err == c.DOM_NO_ERR);
505505
return res;
506506
}
507507

508-
pub fn eventTimestamp(evt: *Event) !u64 {
508+
pub fn eventTimestamp(evt: *Event) u64 {
509509
var ts: u64 = 0;
510510
const err = c._dom_event_get_timestamp(evt, &ts);
511-
try DOMErr(err);
511+
std.debug.assert(err == c.DOM_NO_ERR);
512512
return ts;
513513
}
514514

515-
pub fn eventStopPropagation(evt: *Event) !void {
515+
pub fn eventStopPropagation(evt: *Event) void {
516516
const err = c._dom_event_stop_propagation(evt);
517-
try DOMErr(err);
517+
std.debug.assert(err == c.DOM_NO_ERR);
518518
}
519519

520-
pub fn eventStopImmediatePropagation(evt: *Event) !void {
520+
pub fn eventStopImmediatePropagation(evt: *Event) void {
521521
const err = c._dom_event_stop_immediate_propagation(evt);
522-
try DOMErr(err);
522+
std.debug.assert(err == c.DOM_NO_ERR);
523523
}
524524

525-
pub fn eventPreventDefault(evt: *Event) !void {
525+
pub fn eventPreventDefault(evt: *Event) void {
526526
const err = c._dom_event_prevent_default(evt);
527-
try DOMErr(err);
527+
std.debug.assert(err == c.DOM_NO_ERR);
528528
}
529529

530-
pub fn eventGetInternalType(evt: *Event) !EventType {
530+
pub fn eventGetInternalType(evt: *Event) EventType {
531531
var res: u32 = undefined;
532532
const err = c._dom_event_get_internal_type(evt, &res);
533-
try DOMErr(err);
533+
std.debug.assert(err == c.DOM_NO_ERR);
534534
return @enumFromInt(res);
535535
}
536536

537-
pub fn eventSetInternalType(evt: *Event, internal_type: EventType) !void {
537+
pub fn eventSetInternalType(evt: *Event, internal_type: EventType) void {
538538
const err = c._dom_event_set_internal_type(evt, @intFromEnum(internal_type));
539-
try DOMErr(err);
539+
std.debug.assert(err == c.DOM_NO_ERR);
540540
}
541541

542542
pub const EventType = enum(u8) {

src/browser/page.zig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -881,7 +881,7 @@ pub const Page = struct {
881881
}
882882

883883
fn _windowClicked(self: *Page, event: *parser.Event) !void {
884-
const target = (try parser.eventTarget(event)) orelse return;
884+
const target = parser.eventTarget(event) orelse return;
885885
const node = parser.eventTargetToNode(target);
886886
const tag = (try parser.nodeHTMLGetTagType(node)) orelse return;
887887
switch (tag) {
@@ -958,7 +958,7 @@ pub const Page = struct {
958958
}
959959

960960
fn _keydownCallback(self: *Page, event: *parser.Event) !void {
961-
const target = (try parser.eventTarget(event)) orelse return;
961+
const target = parser.eventTarget(event) orelse return;
962962
const node = parser.eventTargetToNode(target);
963963
const tag = (try parser.nodeHTMLGetTagType(node)) orelse return;
964964

0 commit comments

Comments
 (0)