mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-10-09 12:51:45 -04:00
Merge branch 'main' into stylesheet-scroll-container
This commit is contained in:
commit
2cc537fc8c
127 files changed
+6163
-4557
No files matched your search
@@ -341,7 +341,7 @@ fn locateNodes(cmd: *const BiDi.Command) !void {
|
||||
const list = Selector.querySelectorAll(root, selector, frame) catch |err| {
|
||||
return invalidSelector(cmd, "css", selector, err);
|
||||
};
|
||||
defer list.deinit(frame._page);
|
||||
defer list.deinit(frame.page);
|
||||
try appendNodes(&remotes, arena, &serializer, list._nodes, max);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -295,7 +295,7 @@ test "cdp Node: search list" {
|
||||
|
||||
{
|
||||
const l1 = try doc.querySelectorAll(.wrap("a"), frame);
|
||||
defer l1.deinit(frame._page);
|
||||
defer l1.deinit(frame.page);
|
||||
const s1 = try search_list.create(l1._nodes);
|
||||
try testing.expectEqual("1", s1.name);
|
||||
try testing.expectEqualSlices(u32, &.{ 1, 2 }, s1.node_ids);
|
||||
@@ -306,7 +306,7 @@ test "cdp Node: search list" {
|
||||
|
||||
{
|
||||
const l2 = try doc.querySelectorAll(.wrap("#a1"), frame);
|
||||
defer l2.deinit(frame._page);
|
||||
defer l2.deinit(frame.page);
|
||||
const s2 = try search_list.create(l2._nodes);
|
||||
try testing.expectEqual("2", s2.name);
|
||||
try testing.expectEqualSlices(u32, &.{1}, s2.node_ids);
|
||||
@@ -314,7 +314,7 @@ test "cdp Node: search list" {
|
||||
|
||||
{
|
||||
const l3 = try doc.querySelectorAll(.wrap("#a2"), frame);
|
||||
defer l3.deinit(frame._page);
|
||||
defer l3.deinit(frame.page);
|
||||
const s3 = try search_list.create(l3._nodes);
|
||||
try testing.expectEqual("3", s3.name);
|
||||
try testing.expectEqualSlices(u32, &.{2}, s3.node_ids);
|
||||
|
||||
@@ -66,9 +66,7 @@ pub fn consoleMessage(arena: Allocator, bc: *CDP.BrowserContext, event: *const N
|
||||
const w = &aw.writer;
|
||||
for (event.values, 0..) |v, i| {
|
||||
if (i != 0) try w.writeByte(' ');
|
||||
|
||||
const js_str = try v.toString();
|
||||
try js_str.format(w);
|
||||
try v.format(w);
|
||||
}
|
||||
|
||||
return bc.cdp.sendEvent("Console.messageAdded", ConsoleMessage{
|
||||
|
||||
@@ -171,7 +171,7 @@ fn performSearch(cmd: *CDP.Command) !void {
|
||||
}
|
||||
|
||||
const list = try Selector.querySelectorAll(root, params.query, frame);
|
||||
defer list.deinit(frame._page);
|
||||
defer list.deinit(frame.page);
|
||||
return finishSearch(cmd, bc, list._nodes);
|
||||
}
|
||||
|
||||
@@ -320,7 +320,7 @@ fn querySelectorAll(cmd: *CDP.Command) !void {
|
||||
};
|
||||
|
||||
const selected_nodes = try Selector.querySelectorAll(node.dom, params.selector, frame);
|
||||
defer selected_nodes.deinit(frame._page);
|
||||
defer selected_nodes.deinit(frame.page);
|
||||
|
||||
const nodes = selected_nodes._nodes;
|
||||
|
||||
@@ -673,9 +673,9 @@ fn setFileInputFiles(cmd: *CDP.Command) !void {
|
||||
// Files are created at refcount 0; selectFiles takes ownership. If a later
|
||||
// path fails to load, release the arenas of the ones already created.
|
||||
var created: usize = 0;
|
||||
errdefer for (files[0..created]) |f| f._proto.deinit(frame._page);
|
||||
errdefer for (files[0..created]) |f| f._proto.deinit(frame.page);
|
||||
for (params.files, 0..) |path, i| {
|
||||
files[i] = try fileFromDiskPath(path, frame._page);
|
||||
files[i] = try fileFromDiskPath(path, frame.page);
|
||||
created = i + 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -271,7 +271,7 @@ test "cdp.runtime: consoleAPICalled only carries values for primitives" {
|
||||
try testing.expectEqual(0, try probed.toF64());
|
||||
}
|
||||
|
||||
test "cdp.runtime: console calls made while a notification is being built" {
|
||||
test "cdp.runtime: console notifications run no page JS" {
|
||||
testing.silenceLog(&.{.js});
|
||||
|
||||
var ctx = try testing.context();
|
||||
@@ -285,19 +285,17 @@ test "cdp.runtime: console calls made while a notification is being built" {
|
||||
var ls: js.Local.Scope = undefined;
|
||||
frame.js.localScope(&ls);
|
||||
defer ls.deinit();
|
||||
// Legacy Console formatting can re-enter the notification handlers.
|
||||
_ = try ls.local.exec(
|
||||
\\const inner = 'x'.repeat(120);
|
||||
\\const probe = { toString() { console.log(inner); console.log(inner); return 'outer'; } };
|
||||
\\globalThis.probed = 0;
|
||||
\\const probe = { toString() { globalThis.probed++; console.log('inner'); return 'outer'; } };
|
||||
\\console.log('head-marker', probe, 'tail-marker-'.repeat(20));
|
||||
, null);
|
||||
|
||||
const inner = "x" ** 120;
|
||||
const tail = "tail-marker-" ** 20;
|
||||
try ctx.expectSentEvent("Console.messageAdded", .{ .level = "log", .text = inner }, .{});
|
||||
try ctx.expectSentEvent("Console.messageAdded", .{ .level = "log", .text = "head-marker outer " ++ tail }, .{});
|
||||
try ctx.expectSentEvent("Runtime.consoleAPICalled", .{ .type = "log", .args = .{.{ .type = "string", .value = inner }} }, .{});
|
||||
try ctx.expectSentEvent("Console.messageAdded", .{ .level = "log", .text = "head-marker [object Object] " ++ tail }, .{});
|
||||
try ctx.expectSentEvent("Runtime.consoleAPICalled", .{ .type = "log", .args = .{ .{ .type = "string", .value = "head-marker" }, .{ .type = "object", .className = "Object" }, .{ .type = "string", .value = tail } } }, .{});
|
||||
const probed = try ls.local.exec("globalThis.probed", null);
|
||||
try testing.expectEqual(0, try probed.toF64());
|
||||
try testing.expectEqual(0, ctx.cdp().notification_depth);
|
||||
try testing.expectEqual(0, ctx.cdp().link.send_depth);
|
||||
try ctx.processMessage(.{ .id = 62, .method = "Runtime.evaluate", .params = .{ .expression = "6 * 7" } });
|
||||
|
||||
Reference in new issue
Block a user