Frame Associated Task Types

Blink uses a series of task types defined in task_type.h. For each task type that can be frame-attributed, the table below indicates whether the task queue associated with this task type can be paused, throttled, frozen or deferred. All specified (in W3C, HTML, DOM, etc) task types are pausable. Some internal task queues are not.

Queue TypeThrottlableDeferrableFreezablePausableVirtual time
DOMManipulationNoYesYesYesYes
UserInteractionNoNoYesYesYes
NetworkingNoYesYesYesNo
NetworkingWithURLLoaderAnnotNoYesYesYesNo
NetworkingControlNoYesYesYesNo
HistoryTraversalNoYesYesYesYes
EmbedNoYesYesYesYes
MediaElementEventNoNoYesYesYes
CanvasBlobSerializationNoYesYesYesYes
MicrotaskNoYesYesYesYes
JavascriptTimerYesYesYesYesYes
RemoteEventNoYesYesYesYes
WebSocketNoYesYesYesYes
PostedMessageNoNoYesYesYes
UnshippedPortMessageNoYesYesYesYes
FileReadingNoYesYesYesYes
DatabaseAccessNoNoYesYesYes
PresentationNoYesYesYesYes
SensorNoYesYesYesYes
PerformanceTimelineNoYesYesYesYes
WebGLNoYesYesYesYes
IdleTaskNoYesYesYesYes
MiscPlatformAPINoYesYesYesYes
WorkerAnimationNoNoYesYesYes
FontLoadingNoYesYesYesYes
ApplicationLifeCycleNoYesYesYesYes
BackgroundFetchNoYesYesYesYes
PermissionNoYesYesYesYes
ServiceWorkerClientMessageNoNoYesYesYes
WebLocksNoNoNoNoYes
InternalDefaultNoYesYesYesYes
InternalLoadingNoYesYesYesNo
InternalTestNoNoNoNoYes
InternalWebCryptoNoNoYesYesYes
InternalMediaNoNoYesYesYes
InternalMediaRealTimeNoNoYesYesYes
InternalIPCNoNoNoNoYes
InternalUserInteractionNoNoYesYesYes
InternalInspectorNoNoNoNoNo
InternalTranslationYesYesYesYesYes
InternalIntersectionObserverNoNoYesYesYes
InternalContentCaptureYesYesYesYesYes
InternalNavigationAssociatedNoNoNoNoNo
InternalFreezableIPCNoNoYesNoNo
InternalContinueScriptLoadinNoNoYesYesYes

Internal Translation queue supports concept of it running only in the foreground. It is disabled if the page that owns it goes in background.