@@ -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