# This file is ingested by `ThreadAllows.py` to produce a list of thread names
# which our clang plugin will allow to be used with `NS_NewNamedThread`.
#
# Permitted thread names are a maximum of 15 characters in length, and must be
# string literals at their point-of-use in the code -- i.e., in the invocation
# of `NS_NewNamedThread`.
#
# Within this file, each permitted thread name is on a separate line. Comments
# begin with `#`, as seen here. Leading and trailing whitespace, trailing
# comments, and blank lines are ignored, and may be used freely.
#
# Please explain the addition of any new thread names in comments, preferably
# with a pointer to a relevant bug. (Do not add thread names only used in tests
# to this file; instead, add the test file to `ThreadFileAllows.txt`.)

######
# Gecko/Firefox thread names
# (See also "Unsorted thread names", below.)

# Used by `nsUpdateProcessor` to check for updates. May also be used for polling
# the update process.
UpdateProcessor

######
# Thunderbird-only thread names
IMAP

######
# Other
Checker Test  # used only as part of tests for the thread-checker itself
Testing Thread  # used only as part of tests for toolkit/components/url-classifier/tests/gtest/

######
# Unsorted thread names
#
# Thread names below this point are grandfathered in. Please do not add new
# thread names to this list -- and please remove any that you can, whether by
# documenting and moving them or by confirming that they are no longer required.
#
# In particular, if a thread name is only used for testing, please consider
# moving its declarator to `ThreadFileAllows.txt`.

BGReadURLs
BHMgr Monitor
BHMgr Processor
COM Intcpt Log
COM MTA
Cache I/O
Cameras IPC
CanvasRenderer
Compositor
Cookie
CrashRep Inject
DDMediaLogs
DOMCacheThread
DataChannel IO
DataStorage
DesktopCapture
File Dialog
FileWatcher IO
Font Loader
FontEnumThread
Function Broker
GMPThread
Gamepad
GraphRunner
HTML5 Parser
ICS parser
IPC Launch
IPDL Background
IdentityCrypto
ImageBridgeChld
LS Thread
MDCDMThread
MediaCache
MediaTelemetry
MediaTrackGrph
MemoryPoller
mtransport
NamedPipeSrv
Netlink Monitor
OSKeyStore
OutputDrain
PaintThread
Permission
PlayEventSound
ProcessHangMon
ProfSymbolTable
ProfilerChild
ProxyResolution
RemoteLzyStream
RemVidChild
Renderer
ResetCleanup
SaveScripts
Socket Thread
SpeechWorker
StressRunner
SuicideManager
System Proxy
TelemetryModule
Timer
ToastBgThread
TRR Background
URL Classifier
VideoCapture
VRService
VsyncIOThread
Wifi Monitor
Worker Launcher
speechd init
thread
thread shutdown
wifi tickler
WMFCDMThread
