no bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
[gecko.git] / tools / lint / mscom-init.yml
blobd818aa4ab9e5b227171c33dd0621b8cf3aaf4863
1 # This Source Code Form is subject to the terms of the Mozilla Public
2 # License, v. 2.0. If a copy of the MPL was not distributed with this
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
4 ---
5 forbid-mscom-init:
6     description: >-
7         New calls to CoInitialize, CoInitializeEx, OleInitialize, RoInitialize,
8         CoUninitialize, OleUninitialize, or RoUninitialize are forbidden. If you
9         have questions, please consult a peer of the IPC: MSCOM module.
10     level: error
11     include: ['.']
12     type: regex
13     payload: ([CR]o|Ole)(Uni|I)nitialize(Ex)?
14     ignore-case: false
15     extensions:
16         - h
17         - c
18         - cc
19         - cpp
20     exclude:
21         # These files contain utilities for using COM more safely.
22         - ipc/mscom/ApartmentRegion.h
23         - ipc/mscom/COMWrappers.cpp
24         - ipc/mscom/COMWrappers.h
25         - ipc/mscom/EnsureMTA.cpp
26         # These files have been reviewed by MSCOM peers, and the use of
27         # CoInitialize within them has been confirmed to be necessary and
28         # proper.
29         - ipc/mscom/ProcessRuntime.cpp
30         # These files are existing legacy uses of CoInitialize (and so forth)
31         # that must eventually be fixed -- probably by converting them to use
32         # ApartmentRegion and moving them to _that_ lint's exception-list.
33         - browser/components/migration/nsIEHistoryEnumerator.cpp
34         - browser/components/migration/tests/unit/insertIEHistory/InsertIEHistory.cpp
35         - browser/components/shell/nsWindowsShellService.cpp
36         - gfx/thebes/gfxWindowsPlatform.cpp
37         - image/DecodePool.cpp
38         - ipc/glue/BrowserProcessSubThread.cpp
39         - netwerk/system/win32/nsNotifyAddrListener.cpp
40         - toolkit/components/parentalcontrols/nsParentalControlsServiceWin.cpp
41         - toolkit/crashreporter/google-breakpad/src/common/windows/pdb_source_line_writer.cc
42         - toolkit/mozapps/defaultagent/proxy/main.cpp
43         - uriloader/exthandler/win/nsOSHelperAppService.cpp
44         - widget/windows/TaskbarPreview.cpp
45         - widget/windows/WinTaskbar.cpp
46         - widget/windows/nsAppShell.cpp
47         - widget/windows/nsWindow.cpp
48         - widget/windows/nsWindow.h
49         - widget/windows/tests/TestUriValidation.cpp
50         - xpcom/io/nsLocalFileWin.cpp
52 forbid-apartment-region:
53     description: >-
54         New uses of ApartmentRegion, ApartmentRegionT, MTARegion, or STARegion
55         require approval by a peer of the IPC: MSCOM module.
56     level: error
57     include: ['.']
58     type: regex
59     payload: ApartmentRegion(T)?|[MS]TARegion
60     ignore-case: false
61     extensions:
62         - h
63         - c
64         - cc
65         - cpp
66     exclude:
67         # ApartmentRegion's definition.
68         - ipc/mscom/ApartmentRegion.h
69         # These files have been reviewed and approved by MSCOM peers.
70         - ipc/mscom/ProcessRuntime.cpp
71         - ipc/mscom/ProcessRuntime.h
72         - widget/windows/filedialog/WinFileDialogCommands.cpp
73         # These files are existing uses that must eventually be fixed.
74         - widget/windows/LegacyJumpListBuilder.cpp