b26df7f7c26372ea6523daa18982bc265fa3b6ee
[WebKit-https.git] / Tools / Scripts / webkitpy / common / config / watchlist
1 #  -*- mode: Python;-*-
2 #
3 # When editing this file, please run the following command to make sure you
4 # haven't introduced any syntax errors:
5 #
6 # ./Tools/Scripts/check-webkit-style
7 #
8 # If you want to test your regular expressions, you can edit various files and
9 # then try following command:
10 #
11 # ./Tools/Scripts/webkit-patch apply-watchlist-local
12 #
13 {
14     "DEFINITIONS": {
15         "ChromiumDumpRenderTree": {
16             "filename": r"Tools/DumpRenderTree/chromium/",
17         },
18         "ChromiumGraphics": {
19             "filename": r"Source/WebCore/platform/graphics/chromium/",
20         },
21         "ChromiumPublicApi": {
22             "filename": r"Source/WebKit/chromium/public/"
23         },
24         "Forms": {
25             "filename": r"Source/WebCore/html/HTML(FieldSet|Form|FormControl|Input|Label"
26                         r"|OptGroup|Option|Select|TextArea|TextFormControl)Element\."
27                         r"|Source/WebCore/html/\w*InputType\."
28                         r"|Source/WebCore/rendering/Render(ListBox|MenuList|Slider|TextControl"
29                         r"|TextControlMultiLine|TextControlSingleLine)\."
30         },
31         "GStreamerGraphics": {
32             "filename": r"Source/WebCore/platform/graphics/gstreamer/",
33         },
34         "WebIDL": {
35             "filename": r"Source/WebCore/(?!inspector)(?!testing).*\.idl"
36         },
37         "ThreadingFiles": {
38             "filename": r"Source/JavaScriptCore/wtf/ThreadSpecific\."
39                         r"|Source/JavaScriptCore/wtf/ThreadSafeRefCounted\."
40                         r"|Source/JavaScriptCore/wtf/ThreadingPrimitives\."
41                         r"|Source/JavaScriptCore/wtf/Threading\."
42                         r"|Source/WebCore/dom/CrossThreadTask\."
43                         r"|Source/WebCore/platform/CrossThreadCopier\.",
44         },
45         "ThreadingUsage": {
46             # The intention of this regex is to detect places where people are using common threading mechanisms,
47             # so that one can look them over for common mistakes. This list is long and likely to get longer over time.
48             # Note the negative look-ahead to avoid new mentions of the files (for builds or includes).
49             "more": r"(AllowCrossThreadAccess|AtomicallyInitialize|CrossThreadCopier|CrossThreadRefCounted|Mutex|ReadWriteLock|ThreadCondition|ThreadSafeRefCounted|ThreadSpecific"
50                     r"|createCallbackTask|crossThreadString|deprecatedTurnOffVerifier|threadsafeCopy)(?!\.(h|cpp))",
51         },
52         "WatchListScript": {
53             "filename": r"Tools/Scripts/webkitpy/common/watchlist/",
54         },
55         "webkitpy": {
56             "filename": r"Tools/Scripts/webkitpy/",
57         },
58         "TestFailures": {
59             "filename": r"Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/",
60         },
61         "SecurityCritical": {
62             "more": r"[Ss]ecurityOrigin(?!\.(h|cpp))",
63             "less": r"[Ss]ecurityOrigin(?!\.(h|cpp))",
64             "filename": r"XSS|[Ss]ecurity",
65         },
66         "V8Bindings": {
67             "filename": r"Source/WebCore/bindings/v8/",
68         },
69         "BindingsScripts": {
70             "filename": r"Source/WebCore/bindings/scripts/",
71         },
72         "FrameLoader": {
73             "more": r"FrameLoader\.(cpp|h)",
74         },
75         "Loader": {
76             "filename": r"Source/WebCore/loader/",
77         },
78         "StyleChecker": {
79             "filename": r"Tools/Scripts/webkitpy/style/",
80         },
81         "GtkWebKit2PublicAPI": {
82             "filename": r"Source/WebKit2/UIProcess/API/gtk/",
83         },
84         "QtWebKit2PublicAPI": {
85             "filename": r"Source/WebKit2/UIProcess/API/qt/"
86                         r"|Source/WebKit2/UIProcess/API/cpp/qt/"
87                         r"|Source/WebKit2/UIProcess/API/C/qt/",
88         },
89         "QtWebKit2PlatformSpecific": {
90             "filename": r"Source/WebKit2/.*\.(pri|pro)"
91                         r"|Source/WebKit2/Platform/qt/"
92                         r"|Source/WebKit2/qt/"
93                         r"|Source/WebKit2/PluginProcess/qt/"
94                         r"|Source/WebKit2/Platform/qt/"
95                         r"|Source/WebKit2/Shared/API/c/qt/"
96                         r"|Source/WebKit2/Shared/qt/"
97                         r"|Source/WebKit2/WebProcess/InjectedBundle/qt/"
98                         r"|Source/WebKit2/WebProcess/FullScreen/qt/"
99                         r"|Source/WebKit2/WebProcess/WebPage/qt/"
100                         r"|Source/WebKit2/WebProcess/qt/"
101                         r"|Source/WebKit2/WebProcess/Plugins/Netscape/qt/"
102                         r"|Source/WebKit2/WebProcess/Downloads/qt/"
103                         r"|Source/WebKit2/WebProcess/WebCoreSupport/qt/"
104                         r"|Source/WebKit2/WebProcess/Cookies/qt/"
105                         r"|Source/WebKit2/UIProcess/qt/"
106                         r"|Source/WebKit2/UIProcess/Plugins/qt/"
107                         r"|Source/WebKit2/UIProcess/Launcher/qt/",
108         },
109         "CSS": {
110             "filename": r"Source/WebCore/css/",
111         },
112     },
113     "CC_RULES": {
114         # Note: All email addresses listed must be registered with bugzilla.
115         # Specifically, levin@chromium.org and levin+threading@chromium.org are
116         # two different accounts as far as bugzilla is concerned.
117         "ChromiumDumpRenderTree": [ "tkent@chromium.org", ],
118         "ChromiumGraphics": [ "jamesr@chromium.org", "cc-bugs@google.com" ],
119         "ChromiumPublicApi": [ "fishd@chromium.org", ],
120         "Forms": [ "tkent@chromium.org", ],
121         "GStreamerGraphics": [ "pnormand@igalia.com", "gns@gnome.org" ],
122         "WebIDL": [ "abarth@webkit.org", "ojan@chromium.org" ],
123         "StyleChecker": [ "levin@chromium.org", ],
124         "ThreadingFiles|ThreadingUsage": [ "levin+threading@chromium.org", ],
125         "WatchListScript": [ "levin+watchlist@chromium.org", ],
126         "V8Bindings|BindingsScripts": [ "abarth@webkit.org", "japhet@chromium.org" ],
127         "FrameLoader": [ "abarth@webkit.org", "japhet@chromium.org" ],
128         "Loader": [ "japhet@chromium.org" ],
129         "SecurityCritical": [ "abarth@webkit.org" ],
130         "webkitpy": [ "abarth@webkit.org", "ojan@chromium.org" ],
131         "TestFailures": [ "abarth@webkit.org", "dglazkov@chromium.org" ],
132         "GtkWebKit2PublicAPI": [ "cgarcia@igalia.com", "gns@gnome.org" ],
133         "QtWebKit2PublicAPI": [ "zoltan@webkit.org", ],
134         "QtWebKit2PlatformSpecific": [ "zoltan@webkit.org", ],
135         "CSS": [ "macpherson@chromium.org", ],
136     },
137     "MESSAGE_RULES": {
138         "ChromiumPublicApi": [ "Please wait for approval from fishd@chromium.org before submitting "
139                                "because this patch contains changes to the Chromium public API.", ],
140         "GtkWebKit2PublicAPI": [ "Thanks for the patch. If this patch contains new public API "
141                                  "please make sure it follows the guidelines for new WebKit2 GTK+ API. "
142                                  "See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API", ],
143     },
144 }