diff --git a/dom/workers/WorkerPrefs.h b/dom/workers/WorkerPrefs.h index a8a1e61f4f..415435cf06 100644 --- a/dom/workers/WorkerPrefs.h +++ b/dom/workers/WorkerPrefs.h @@ -26,7 +26,6 @@ WORKER_SIMPLE_PREF("browser.dom.window.dump.enabled", DumpEnabled, DUMP) WORKER_SIMPLE_PREF("canvas.imagebitmap_extensions.enabled", ImageBitmapExtensionsEnabled, IMAGEBITMAP_EXTENSIONS_ENABLED) WORKER_SIMPLE_PREF("dom.caches.enabled", DOMCachesEnabled, DOM_CACHES) WORKER_SIMPLE_PREF("dom.caches.testing.enabled", DOMCachesTestingEnabled, DOM_CACHES_TESTING) -WORKER_SIMPLE_PREF("dom.min_timeout_value", DOMMinTimeoutValue, DOM_MIN_TIMEOUT_VALUE) WORKER_SIMPLE_PREF("dom.performance.enable_user_timing_logging", PerformanceLoggingEnabled, PERFORMANCE_LOGGING_ENABLED) WORKER_SIMPLE_PREF("dom.webnotifications.enabled", DOMWorkerNotificationEnabled, DOM_WORKERNOTIFICATION) WORKER_SIMPLE_PREF("dom.webnotifications.serviceworker.enabled", DOMServiceWorkerNotificationEnabled, DOM_SERVICEWORKERNOTIFICATION) diff --git a/dom/workers/WorkerPrivate.cpp b/dom/workers/WorkerPrivate.cpp index 9c52c789cc..85bcc2ffef 100644 --- a/dom/workers/WorkerPrivate.cpp +++ b/dom/workers/WorkerPrivate.cpp @@ -171,6 +171,8 @@ const nsIID kDEBUGWorkerEventTargetIID = { // The number of nested timeouts before we start clamping. HTML says 5. const uint32_t kClampTimeoutNestingLevel = 5u; +// The minimum interval we clamp timers in workers to. HTML says 4ms. +const uint32_t kClampTimeoutInterval = 4u; template class AutoPtrComparator @@ -1997,20 +1999,10 @@ struct WorkerPrivate::TimeoutInfo void CalculateTargetTime(JSContext* aCx) { auto target = mInterval; - int32_t minTimeoutValue; - - // We're on a worker thread; go through WorkerPrivate for the pref. - WorkerPrivate* workerPrivate = GetWorkerPrivateFromContext(aCx); - if (workerPrivate) { - minTimeoutValue = workerPrivate->DOMMinTimeoutValue(); - } else { - // fall back to default 4 ms - minTimeoutValue = 4; - } - + // Clamp timeout for workers, except chrome workers if (mNestingLevel >= kClampTimeoutNestingLevel && !mOnChromeWorker) { - target = TimeDuration::Max(mInterval,TimeDuration::FromMilliseconds(minTimeoutValue)); + target = TimeDuration::Max(mInterval, TimeDuration::FromMilliseconds(kClampTimeoutInterval)); } mTargetTime = TimeStamp::Now() + target; }