mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-03-21 20:24:42 +00:00
fix(cdp): add noop Emulation.setUserAgentOverride to prevent Playwright crash
Playwright calls Emulation.setUserAgentOverride when creating a browser context with a custom user agent. Without this handler, Lightpanda returns UnknownMethod which crashes the Playwright driver. Add a noop handler matching the existing pattern for other Emulation methods (setDeviceMetricsOverride, setEmulatedMedia, etc.) so the CDP handshake can proceed. Fixes #1436 Signed-off-by: JiangNan <1394485448@qq.com>
This commit is contained in:
@@ -24,6 +24,7 @@ pub fn processMessage(cmd: anytype) !void {
|
||||
setFocusEmulationEnabled,
|
||||
setDeviceMetricsOverride,
|
||||
setTouchEmulationEnabled,
|
||||
setUserAgentOverride,
|
||||
}, cmd.input.action) orelse return error.UnknownMethod;
|
||||
|
||||
switch (action) {
|
||||
@@ -31,6 +32,7 @@ pub fn processMessage(cmd: anytype) !void {
|
||||
.setFocusEmulationEnabled => return setFocusEmulationEnabled(cmd),
|
||||
.setDeviceMetricsOverride => return setDeviceMetricsOverride(cmd),
|
||||
.setTouchEmulationEnabled => return setTouchEmulationEnabled(cmd),
|
||||
.setUserAgentOverride => return setUserAgentOverride(cmd),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,3 +66,8 @@ fn setDeviceMetricsOverride(cmd: anytype) !void {
|
||||
fn setTouchEmulationEnabled(cmd: anytype) !void {
|
||||
return cmd.sendResult(null, .{});
|
||||
}
|
||||
|
||||
// TODO: noop method
|
||||
fn setUserAgentOverride(cmd: anytype) !void {
|
||||
return cmd.sendResult(null, .{});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user