fune/tools/lint/mscom-init.yml
Shazib Summar 20cb0cdcb7 Bug 1617283 - Shifted AudioSession to MTA and removed COM violations r=handyman
Cleans up the interface to AudioSession and brings in line with COM best practices.  Uses background threads that are implicitly MTA and asserts proper thread behavior.  This also removes AudioSession's Co[Un]Initialize static analysis violations.

Differential Revision: https://phabricator.services.mozilla.com/D140741
2022-04-07 18:39:49 +00:00

46 lines
1.9 KiB
YAML

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
---
forbid-mscom-init:
description: >-
New calls to CoInitialize, CoInitializeEx, OleInitialize, RoInitialize,
CoUninitialize, OleUninitialize, or RoUninitialize are forbidden. If you
have questions, please consult a peer of the IPC: MSCOM module.
level: error
include: ['.']
type: regex
payload: ([CR]o|Ole)(Uni|I)nitialize(Ex)?
ignore-case: false
extensions:
- h
- c
- cc
- cpp
exclude:
# These files are the only allowable locations
- ipc/mscom/ApartmentRegion.h
- ipc/mscom/COMWrappers.cpp
- ipc/mscom/COMWrappers.h
- ipc/mscom/ProcessRuntime.cpp
- ipc/mscom/EnsureMTA.cpp
# These files are existing locations that must eventually be fixed.
- browser/components/migration/nsIEHistoryEnumerator.cpp
- browser/components/migration/tests/unit/insertIEHistory/InsertIEHistory.cpp
- browser/components/shell/nsWindowsShellService.cpp
- gfx/thebes/gfxWindowsPlatform.cpp
- image/DecodePool.cpp
- ipc/glue/BrowserProcessSubThread.cpp
- netwerk/system/win32/nsNotifyAddrListener.cpp
- toolkit/components/parentalcontrols/nsParentalControlsServiceWin.cpp
- toolkit/crashreporter/google-breakpad/src/common/windows/pdb_source_line_writer.cc
- toolkit/mozapps/defaultagent/main.cpp
- uriloader/exthandler/win/nsOSHelperAppService.cpp
- widget/windows/InkCollector.cpp
- widget/windows/TaskbarPreview.cpp
- widget/windows/WinTaskbar.cpp
- widget/windows/nsAppShell.cpp
- widget/windows/nsWindow.cpp
- widget/windows/nsWindow.h
- widget/windows/tests/TestUriValidation.cpp
- xpcom/io/nsLocalFileWin.cpp