mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-03-22 04:34:44 +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,
|
setFocusEmulationEnabled,
|
||||||
setDeviceMetricsOverride,
|
setDeviceMetricsOverride,
|
||||||
setTouchEmulationEnabled,
|
setTouchEmulationEnabled,
|
||||||
|
setUserAgentOverride,
|
||||||
}, cmd.input.action) orelse return error.UnknownMethod;
|
}, cmd.input.action) orelse return error.UnknownMethod;
|
||||||
|
|
||||||
switch (action) {
|
switch (action) {
|
||||||
@@ -31,6 +32,7 @@ pub fn processMessage(cmd: anytype) !void {
|
|||||||
.setFocusEmulationEnabled => return setFocusEmulationEnabled(cmd),
|
.setFocusEmulationEnabled => return setFocusEmulationEnabled(cmd),
|
||||||
.setDeviceMetricsOverride => return setDeviceMetricsOverride(cmd),
|
.setDeviceMetricsOverride => return setDeviceMetricsOverride(cmd),
|
||||||
.setTouchEmulationEnabled => return setTouchEmulationEnabled(cmd),
|
.setTouchEmulationEnabled => return setTouchEmulationEnabled(cmd),
|
||||||
|
.setUserAgentOverride => return setUserAgentOverride(cmd),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -64,3 +66,8 @@ fn setDeviceMetricsOverride(cmd: anytype) !void {
|
|||||||
fn setTouchEmulationEnabled(cmd: anytype) !void {
|
fn setTouchEmulationEnabled(cmd: anytype) !void {
|
||||||
return cmd.sendResult(null, .{});
|
return cmd.sendResult(null, .{});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: noop method
|
||||||
|
fn setUserAgentOverride(cmd: anytype) !void {
|
||||||
|
return cmd.sendResult(null, .{});
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user