mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-05 15:28:39 +09:00
Issue #2321 - Fall back to 0 if setInterval interval not supplied
This commit is contained in:
parent
bb1974cebc
commit
e0e1542913
5 changed files with 14 additions and 39 deletions
|
|
@ -299,28 +299,25 @@ WorkerGlobalScope::ClearTimeout(int32_t aHandle)
|
|||
int32_t
|
||||
WorkerGlobalScope::SetInterval(JSContext* aCx,
|
||||
Function& aHandler,
|
||||
const Optional<int32_t>& aTimeout,
|
||||
const int32_t aTimeout,
|
||||
const Sequence<JS::Value>& aArguments,
|
||||
ErrorResult& aRv)
|
||||
{
|
||||
mWorkerPrivate->AssertIsOnWorkerThread();
|
||||
|
||||
bool isInterval = aTimeout.WasPassed();
|
||||
int32_t timeout = aTimeout.WasPassed() ? aTimeout.Value() : 0;
|
||||
|
||||
nsCOMPtr<nsIScriptTimeoutHandler> handler =
|
||||
NS_CreateJSTimeoutHandler(aCx, mWorkerPrivate, aHandler, aArguments, aRv);
|
||||
if (NS_WARN_IF(aRv.Failed())) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return mWorkerPrivate->SetTimeout(aCx, handler, timeout, isInterval, aRv);
|
||||
return mWorkerPrivate->SetTimeout(aCx, handler, aTimeout, true, aRv);
|
||||
}
|
||||
|
||||
int32_t
|
||||
WorkerGlobalScope::SetInterval(JSContext* aCx,
|
||||
const nsAString& aHandler,
|
||||
const Optional<int32_t>& aTimeout,
|
||||
const int32_t aTimeout,
|
||||
const Sequence<JS::Value>& /* unused */,
|
||||
ErrorResult& aRv)
|
||||
{
|
||||
|
|
@ -328,12 +325,9 @@ WorkerGlobalScope::SetInterval(JSContext* aCx,
|
|||
|
||||
Sequence<JS::Value> dummy;
|
||||
|
||||
bool isInterval = aTimeout.WasPassed();
|
||||
int32_t timeout = aTimeout.WasPassed() ? aTimeout.Value() : 0;
|
||||
|
||||
nsCOMPtr<nsIScriptTimeoutHandler> handler =
|
||||
NS_CreateJSTimeoutHandler(aCx, mWorkerPrivate, aHandler);
|
||||
return mWorkerPrivate->SetTimeout(aCx, handler, timeout, isInterval, aRv);
|
||||
return mWorkerPrivate->SetTimeout(aCx, handler, aTimeout, true, aRv);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue