about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorbptato <nincsnevem662@gmail.com>2024-12-09 20:00:23 +0100
committerbptato <nincsnevem662@gmail.com>2024-12-09 20:00:23 +0100
commit4c863452cdcb80a2272cb0a93f62768a69dbdd37 (patch)
tree84028ea99144e581b812a13e011cab7d54f6245a /src
parent8974f7deaaecd84b5f95e40bf935f735253521f3 (diff)
downloadchawan-4c863452cdcb80a2272cb0a93f62768a69dbdd37.tar.gz
buffer: skip a copy
Diffstat (limited to 'src')
-rw-r--r--src/server/buffer.nim6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/buffer.nim b/src/server/buffer.nim
index f4e1d1b2..f57a9184 100644
--- a/src/server/buffer.nim
+++ b/src/server/buffer.nim
@@ -1428,10 +1428,10 @@ proc baseURL(buffer: Buffer): URL =
   return buffer.document.baseURL
 
 proc evalJSURL(buffer: Buffer; url: URL): Opt[string] =
-  let encodedScriptSource = ($url)["javascript:".len..^1]
-  let scriptSource = percentDecode(encodedScriptSource)
+  let surl = $url
+  let source = surl.toOpenArray("javascript:".len, surl.high).percentDecode()
   let ctx = buffer.window.jsctx
-  let ret = ctx.eval(scriptSource, $buffer.baseURL, JS_EVAL_TYPE_GLOBAL)
+  let ret = ctx.eval(source, $buffer.baseURL, JS_EVAL_TYPE_GLOBAL)
   if JS_IsException(ret):
     ctx.writeException(buffer.estream)
     return err() # error