Skip to content

Commit 4ff978f

Browse files
authored
Merge pull request #762 from lightpanda-io/url_constructor
Url constructor
2 parents 8de57ec + b29e07f commit 4ff978f

File tree

5 files changed

+106
-500
lines changed

5 files changed

+106
-500
lines changed

src/browser/html/elements.zig

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -245,8 +245,7 @@ pub const HTMLAnchorElement = struct {
245245
}
246246

247247
inline fn url(self: *parser.Anchor, page: *Page) !URL {
248-
const href = try parser.anchorGetHref(self);
249-
return URL.constructor(href, null, page); // TODO inject base url
248+
return URL.constructor(.{ .element = @ptrCast(self) }, null, page); // TODO inject base url
250249
}
251250

252251
// TODO return a disposable string
@@ -391,23 +390,16 @@ pub const HTMLAnchorElement = struct {
391390
try parser.anchorSetHref(self, href);
392391
}
393392

394-
// TODO return a disposable string
395393
pub fn get_search(self: *parser.Anchor, page: *Page) ![]const u8 {
396394
var u = try url(self, page);
397395
return try u.get_search(page);
398396
}
399397

400398
pub fn set_search(self: *parser.Anchor, v: ?[]const u8, page: *Page) !void {
401-
const arena = page.arena;
402399
var u = try url(self, page);
400+
try u.set_search(v, page);
403401

404-
if (v) |vv| {
405-
u.uri.query = .{ .raw = vv };
406-
} else {
407-
u.uri.query = null;
408-
}
409-
const href = try u.toString(arena);
410-
402+
const href = try u.toString(page.call_arena);
411403
try parser.anchorSetHref(self, href);
412404
}
413405

0 commit comments

Comments
 (0)