bug 1328964 restore fix for stack use after scope bug 1415086 r?jib draft
authorKarl Tomlinson <karlt+@karlt.net>
Wed, 29 Nov 2017 18:49:21 +1300
changeset 769214 067bcccfcb031b8e3c44e63d8c8024d07cac2fb3
parent 769213 28e0653c262fe0d76206a5817aad7218e3fd5e2a
child 769215 ad28a55d4e1fbdfbd041b0da5111949759d5d14f
push id103070
push userktomlinson@mozilla.com
push dateMon, 19 Mar 2018 05:04:09 +0000
reviewersjib
bugs1328964, 1415086, 199424
milestone59.0a1
bug 1328964 restore fix for stack use after scope bug 1415086 r?jib Lost in rebase of "part 2 - WorkletThread" across https://hg.mozilla.org/mozilla-central/rev/90a7bc300af3 Addresses https://reviewboard.mozilla.org/r/199424/#comment296306 MozReview-Commit-ID: ITtCQP3g0ly
dom/worklet/Worklet.cpp
--- a/dom/worklet/Worklet.cpp
+++ b/dom/worklet/Worklet.cpp
@@ -385,19 +385,21 @@ ExecutionRunnable::RunOnWorkletThread()
     Worklet::CreateGlobalScope(jsapi.cx(), mWorkletType);
   MOZ_ASSERT(globalScope);
 
   AutoEntryScript aes(globalScope, "Worklet");
   cx = aes.cx();
 
   JS::Rooted<JSObject*> globalObj(cx, globalScope->GetGlobalJSObject());
 
+  NS_ConvertUTF16toUTF8 url(mHandler->URL());
+
   JS::CompileOptions compileOptions(cx);
   compileOptions.setIntroductionType("Worklet");
-  compileOptions.setFileAndLine(NS_ConvertUTF16toUTF8(mHandler->URL()).get(), 0);
+  compileOptions.setFileAndLine(url.get(), 0);
   compileOptions.setVersion(JSVERSION_DEFAULT);
   compileOptions.setIsRunOnce(true);
   compileOptions.setNoScriptRval(true);
 
   JSAutoCompartment comp(cx, globalObj);
 
   JS::Rooted<JS::Value> unused(cx);
   if (!JS::Evaluate(cx, compileOptions, mBuffer, &unused)) {