1# Copyright (c) 2013 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5# Watchlist Rules
6# Refer: http://dev.chromium.org/developers/contributing-code/watchlists
7
8# IMPORTANT: The regular expression filepath is tested against each path using
9# re.search, so it is not usually necessary to add .*.
10
11{
12  'WATCHLIST_DEFINITIONS': {
13    'accessibility': {
14      'filepath': 'Source/core/accessibility' \
15                  '|LayoutTests/accessibility',
16    },
17    'animations': {
18      'filepath': '[Aa]nimat|[Tt]ransition',
19    },
20    'audio': {
21      'filepath': 'Source/platform/audio' \
22                  '|Source/modules/webaudio',
23    },
24    'bidi': {
25      'filepath': 'Source/platform/text/.*Bidi' \
26                  '|Source/core/rendering/.*Bidi',
27    },
28    'bindings': {
29      'filepath': 'Source/bindings',
30    },
31    'test_runner': {
32      'filepath': 'Tools/DumpRenderTree/chromium/TestRunner',
33    },
34    'canvas': {
35      'filepath': 'Source/core/html/canvas/'
36    },
37    'clipboard': {
38      'filepath': 'Source/core/clipboard' \
39                  '|Source/core/page/.*Drag' \
40                  '|Source/platform/.*Drag' \
41                  '|Source/platform/clipboard' \
42                  '|Source/web/.*Drag' \
43                  '|public/platform/.*Drag' \
44                  '|public/web/.*Drag',
45    },
46    'css': {
47      'filepath': 'Source/core/css',
48    },
49    'custom_elements': {
50      'filepath': 'Source/core/dom/CustomElement' \
51                  '|Source/bindings/v8/.*CustomElement',
52    },
53    'devtools': {
54      'filepath': 'inspector|DevTools|devtools',
55    },
56    'dom': {
57      'filepath': 'Source/core/dom/'
58    },
59    'events': {
60      'filepath': 'Source/core/page/.*Event' \
61                  '|Source/core/dom/.*Event' \
62                  '|Source/core/css/.*Event' \
63                  '|Source/platform/.*Event'
64    },
65    'fetch': {
66      'filepath': 'Source/core/fetch',
67    },
68    'filters': {
69      'filepath': 'Source/platform/graphics/filters' \
70                  '|Source/core/svg/graphics/filters'
71    },
72    'heap': {
73      'filepath': 'Source/heap' \
74                  '|Source/platform/heap',
75    },
76    'html': {
77      'filepath': 'Source/core/html/'
78    },
79    'loader': {
80      'filepath': 'Source/core/loader',
81    },
82    'owners': {
83      'filepath': 'OWNERS',
84    },
85    'preloadScanner': {
86      'filepath': 'Source/core/html/parser/HTMLPreloadScanner',
87    },
88    'public_api': {
89      'filepath': 'public'
90    },
91    'serviceworkers' : {
92      'filepath': 'Source/modules/serviceworkers' \
93                  '|LayoutTests/http/tests/serviceworker'
94    },
95    'serviceworkers_tests' : {
96      'filepath': 'LayoutTests/http/tests/serviceworker'
97    },
98    'sheriff_o_matic' : {
99      'filepath': 'Tools/GardeningServer'
100    },
101    'spellcheck' : {
102      'filepath':  'Source/core/editing/Editor' \
103                   '|Source/core/editing/Spell' \
104                   '|Source/core/editing/TextCheckingHelper' \
105                   '|Source/platform/text/TextCheck' \
106                   '|Source/web/EditorClientImpl' \
107                   '|LayoutTests/editing/spelling' \
108                   '|public/web/WebSpellCheckClient.h',
109    },
110    'workers': {
111      'filepath': 'Source/core/workers',
112    },
113    'wtf': {
114      'filepath': 'Source/wtf',
115    },
116    'platform_graphics': {
117      'filepath': 'Source/platform/fonts' \
118                  '|Source/platform/geometry' \
119                  '|Source/platform/graphics'
120    },
121    'platform': {
122      'filepath': 'Source/platform'
123    },
124    'svg': {
125      'filepath': 'Source/core/svg|Source/core/rendering/svg',
126    },
127    'indexed_db': {
128      'filepath': 'Source/modules/indexeddb/' \
129                  '|Source/web/.*IDB' \
130                  '|LayoutTests/storage/indexeddb' \
131                  '|public/platform/.*IDB'
132    },
133    'rendering': {
134      'filepath': 'Source/core/rendering'
135    },
136    'compositing': {
137      'filepath': 'Source/core/rendering/compositing'
138    },
139    'layers': {
140      'filepath': 'Source/core/page/scrolling/ScrollingCoordinator' \
141                  '|Source/platform/graphics/GraphicsLayer' \
142                  '|Source/core/rendering/RenderLayer'
143    },
144    "content_security_policy": {
145      'filepath': 'Source/core/page/.*SecurityPolicy' \
146                  '|Source/core/dom/SecurityPolicyViolationEvent' \
147                  '|LayoutTests/http/tests/security/contentSecurityPolicy'
148    },
149    "prerender": {
150      'filepath': 'Prerender' \
151                  '|loader/LinkLoader' \
152                  '|html/HTMLLinkElement'
153    },
154    'track': {
155      'filepath': 'Source/core/html/track/' \
156                  '|Source/core/loader/TextTrack' \
157                  '|Source/core/html/HTMLMediaElement' \
158                  '|Source/core/html/HTMLTrackElement' \
159                  '|Source/core/html/shadow/MediaControl' \
160                  '|Source/core/css/mediaControl' \
161                  '|LayoutTests/media/track/'
162    },
163    'media': {
164      'filepath': 'Source/core/css/mediaControls' \
165                  '|Source/core/html/.*(Audio|Media|Video)' \
166                  '|Source/core/html/shadow/MediaControl' \
167                  '|Source/core/rendering/RenderMedia' \
168                  '|Source/modules/(encryptedmedia|mediasource)' \
169                  '|Source/platform/drm/' \
170                  '|Source/platform/graphics/media/' \
171                  '|Source/web/.*Media' \
172                  '|LayoutTests/media/' \
173                  '|public/.*Media'
174    },
175    'media_queries': {
176        'filepath': 'Source/core/css/CSSMediaRule' \
177                    '|Source/core/css/MediaList' \
178                    '|Source/core/css/MediaQuery' \
179                    '|Source/core/css/parser/MediaQuery'
180    },
181    'modules': {
182      'filepath': 'Source/modules/'
183    },
184    'navigator_content_utils': {
185      'filepath': 'Source/modules/navigatorcontentutils' \
186                  '|LayoutTests/fast/dom/navigatorcontentutils'
187    },
188    'out_of_process_frames': {
189      'filepath': 'Source/core/frame/FrameOwner' \
190                  '|Source/web/WebFrame' \
191                  '|Source/web/WebRemoteFrameImpl'
192    },
193    'fileapi': {
194      'filepath': 'Source/modules/filesystem/' \
195                  '|Source/core/fileapi/' \
196                  '|Source/platform/.*File' \
197                  '|Source/web/.*File' \
198                  '|LayoutTests/fast/file' \
199                  '|public/.*File'
200    },
201    'quota': {
202      'filepath': 'Source/modules/quota/' \
203                  '|Source/web/.*Quota' \
204                  '|public/.*Quota'
205    },
206    'viewport_interaction': {
207      'filepath': 'Source/core/css/.*Viewport' \
208                  '|Source/core/dom/ViewportArguments' \
209                  '|Source/core/html/HTMLMetaElement' \
210                  '|Source/core/page/FrameView' \
211                  '|Source/core/page/scrolling'
212    },
213    'css_regions': {
214      'filepath': 'Source/core/rendering/.*(Region|FlowThread)' \
215                  '|Source/core/dom/NodeRendering' \
216                  '|Source/core/dom/.*NamedFlow' \
217                  '|Source/core/css/.*Region' \
218                  '|LayoutTests/compositing/regions/' \
219                  '|LayoutTests/fast/regions/' \
220                  '|LayoutTests/platform/chromium.*/fast/regions/'
221    },
222    'web_idl': {
223      'filepath': 'Source/core/.*\.idl'
224    },
225    'webcomponents': {
226      'filepath': 'Source/core/dom/shadow/' \
227                  '|Source/core/dom/custom/' \
228                  '|Source/core/html/imports/' \
229                  '|Source/bindings/v8/custom/V8CustomElementConstructorCustom' \
230                  '|Source/bindings/v8/CustomElementHelpers'
231    },
232    'mediastream': {
233      'filepath': 'Source/modules/mediastream/' \
234                  '|Source/platform/mediastream/' \
235                  '|Source/platform/exported/WebMediaStream' \
236                  '|Source/platform/exported/WebRTC' \
237                  '|LayoutTests/fast/mediastream/'
238    },
239    'geolocation': {
240      'filepath': 'LayoutTests/fast/dom/Geolocation/' \
241                  '|Source/modules/geolocation/' \
242                  '|Source/web/.*Geolocation' \
243                  '|public/web/.*Geolocation'
244    },
245    'vibration': {
246      'filepath': 'LayoutTests/vibration/' \
247                  '|Source/modules/vibration/'
248    },
249    'device_orientation': {
250      'filepath': 'Source/modules/device_orientation/' \
251                  '|LayoutTests/fast/dom/DeviceMotion/' \
252                  '|LayoutTests/fast/dom/DeviceOrientation/' \
253                  '|Source/core/frame/PlatformEvent(Controller|Dispatcher)' \
254                  '|Source/core/frame/DeviceSingleWindowEventController'
255    },
256    'web': {
257      'filepath': 'Source/web/'
258    },
259    'webp': {
260      'filepath': 'Source/platform/image-decoders/webp' \
261                  '|Source/platform/image-encoders/skia/WEBP'
262    },
263    'css_grid_layout': {
264      'filepath': 'Source/core/rendering/.*Grid' \
265                  '|Source/core/css/.*Grid' \
266                  '|LayoutTests/fast/css-grid-layout/' \
267                  '|LayoutTests/ietestcenter/css3/grid/' \
268                  '|LayoutTests/platform/.*/fast/css-grid-layout/' \
269                  '|LayoutTests/platform/.*/ietestcenter/css3/grid/'
270    },
271    'css_flexbox': {
272      'filepath': 'Source/core/rendering/.*Flex' \
273                  '|LayoutTests/fast/flexbox/' \
274                  '|LayoutTests/css3/flexbox/' \
275                  '|LayoutTests/ietestcenter/css3/flexbox/'
276    },
277    'fragment_layout': {
278      'filepath': 'Source/core/rendering/.*(FlowThread|MultiCol|Region)' \
279                  '|Source/core/rendering/ColumnInfo' \
280                  '|LayoutTests/.*/multicol/' \
281                  '|LayoutTests/.*/regions/'
282    },
283    'table_layout': {
284      'filepath': 'Source/core/rendering/.*Table'
285    },
286    'battery_status': {
287      'filepath': 'Source/modules/battery/' \
288                  '|LayoutTests/battery-status/' \
289                  '|Source/core/frame/PlatformEvent(Controller|Dispatcher)'
290    },
291    'device_light': {
292      'filepath': 'Source/modules/device_light/' \
293                  '|LayoutTests/fast/dom/DeviceLight/'
294    },
295    'websockets': {
296      'filepath': 'Source/modules/websockets/'
297    },
298  },
299
300  'WATCHLISTS': {
301    'accessibility':['dmazzoni@chromium.org',
302                     'aboxhall@chromium.org'],
303    'animations': ['alexis.menard@intel.com',
304                   'dstockwell@chromium.org',
305                   'ericwilligers@chromium.org',
306                   'mikelawther@chromium.org',
307                   'rjwright@chromium.org',
308                   'shans@chromium.org',
309                   'steveblock@chromium.org',
310                   'timloh@chromium.org',
311                   'blink-reviews-animation@chromium.org'],
312    'audio': ['rtoy@chromium.org'],
313    'devtools': [ 'pfeldman+blink@chromium.org',
314                  'aandrey+blink@chromium.org',
315                  'apavlov+blink@chromium.org',
316                  'loislo+blink@chromium.org',
317                  'lushnikov+blink@chromium.org',
318                  'vsevik+blink@chromium.org',
319                  'yurys+blink@chromium.org',
320                  'eustas+blink@chromium.org',
321                  'caseq+blink@chromium.org',
322                  'paulirish+reviews@chromium.org',
323                  'malch+blink@chromium.org',
324                  'sergeyv+blink@chromium.org',
325                  'devtools-reviews@chromium.org' ],
326    'bidi': [ 'leviw+bidiwatch@chromium.org' ],
327    'bindings': [ 'arv+blink@chromium.org',
328                  'blink-reviews-bindings@chromium.org' ],
329    'canvas': [ 'cabanier@adobe.com', 'aandrey+blink@chromium.org' ],
330    'clipboard': [ 'dcheng@chromium.org', ],
331    'custom_elements': [ 'dominicc+watchlist@chromium.org', 'dglazkov+blink@chromium.org' ],
332    'fetch': [ 'japhet@chromium.org', 'gavinp+loader@chromium.org' ],
333    'layers': [ 'blink-layers+watch@chromium.org' ],
334    'loader': [ 'japhet@chromium.org', 'gavinp+loader@chromium.org' ],
335    'owners': [ 'abarth@chromium.org'],
336    'test_runner': [ 'jochen+watch@chromium.org' ],
337    'platform_graphics': [ 'jamesr@chromium.org',
338                           'schenney@chromium.org',
339                           'danakj@chromium.org',
340                           'pdr+graphicswatchlist@chromium.org',
341                           'cabanier@adobe.com',
342                           'dschulze@chromium.org',
343                           'rob.buis@samsung.com',
344                           'jbroman@chromium.org' ],
345    'platform': [ 'mkwst+moarreviews@chromium.org' ],
346    'web': [ 'mkwst+moarreviews@chromium.org' ],
347    'svg': [ 'schenney@chromium.org', 'pdr+svgwatchlist@chromium.org', 'fmalita@chromium.org', 'dschulze@chromium.org', 'rob.buis@samsung.com', 'fs@opera.com', 'ed+blinkwatch@opera.com', 'gyuyoung.kim@webkit.org', 'kouhei+svg@chromium.org' ],
348    'css': [ 'alexis.menard@intel.com', 'apavlov+blink@chromium.org', 'dglazkov+blink@chromium.org', 'ed+blinkwatch@opera.com', 'rune+blink@opera.com', 'rob.buis@samsung.com', 'blink-reviews-css@chromium.org' ],
349    'dom': [ 'eae+blinkwatch@chromium.org',
350             'dglazkov+blink@chromium.org',
351             'sigbjornf@opera.com',
352             'rob.buis@samsung.com',
353             'blink-reviews-dom@chromium.org' ],
354    'events': [ 'eae+blinkwatch@chromium.org', 'dglazkov+blink@chromium.org', 'blink-reviews-events@chromium.org' ],
355    'heap': [ 'ager@chromium.org', 'haraken@chromium.org', 'kouhei+heap@chromium.org' ],
356    'html': [ 'dglazkov+blink@chromium.org', 'blink-reviews-html@chromium.org' ],
357    'public_api': [ 'jamesr@chromium.org', 'dglazkov+blink@chromium.org' ],
358    'workers': [ 'kinuko+worker@chromium.org',
359                 'horo+watch@chromium.org',
360                 'falken@chromium.org' ],
361    'wtf': [ 'mikhail.pozdnyakov@intel.com',
362             'aandrey+blink@chromium.org',
363             'blink-reviews-wtf@chromium.org',
364             'mkwst+moarreviews@chromium.org' ],
365    'indexed_db': ['dgrogan@chromium.org',
366                   'jsbell+idb@chromium.org', 'cmumford@chromium.org'],
367    'rendering': [ 'pdr+renderingwatchlist@chromium.org',
368                   'eae+blinkwatch@chromium.org',
369                   'jchaffraix+rendering@chromium.org',
370                   'leviw+renderwatch@chromium.org',
371                   'zoltan@webkit.org',
372                   'rune+blink@opera.com',
373                   'blink-reviews-rendering@chromium.org' ],
374    'compositing': [ ],
375    'content_security_policy': [ 'mkwst+watchlist@chromium.org' ],
376    'prerender': [ 'gavinp+prerender@chromium.org',
377                   'yoav@yoav.ws' ],
378    'preloadScanner': [ 'yoav@yoav.ws' ],
379    'track': [ 'vcarbune@chromium.org', 'silviapf@chromium.org', 'philipj@opera.com', 'glenn@chromium.org', 'fs@opera.com', 'eric.carlson@apple.com' ],
380    'media': [ 'feature-media-reviews@chromium.org', 'philipj@opera.com', 'eric.carlson@apple.com' ],
381    'media_queries': [ 'kenneth.christiansen@gmail.com',
382                       'yoav@yoav.ws' ],
383    'fileapi': [ 'kinuko+fileapi@chromium.org',
384                 'tzik@chromium.org',
385                 'nhiroki@chromium.org' ],
386    'quota': [ 'kinuko+fileapi@chromium.org',
387               'tzik@chromium.org',
388               'nhiroki@chromium.org' ],
389    'viewport_interaction': [ 'kenneth.christiansen@gmail.com' ],
390    'css_regions': [ 'ChromiumBugTracker@adobe.com' ],
391    'web_idl': [ 'arv+blink@chromium.org', 'ch.dumez@samsung.com' ],
392    'webcomponents': [ 'webcomponents-bugzilla@chromium.org', 'dglazkov+blink@chromium.org' ],
393    'mediastream': [ 'tommyw+watchlist@chromium.org' ],
394    'navigator_content_utils': [ 'gyuyoung.kim@webkit.org' ],
395    'geolocation': [ 'mvanouwerkerk+watch@chromium.org', 'timvolodine@chromium.org' ],
396    'vibration': [ 'mvanouwerkerk+watch@chromium.org' ],
397    'serviceworkers': [ 'jsbell+serviceworker@chromium.org',
398                        'kinuko+serviceworker@chromium.org',
399                        'tzik@chromium.org',
400                        'nhiroki@chromium.org',
401                        'horo+watch@chromium.org',
402                        'falken@chromium.org',
403                        'michaeln@chromium.org',
404                        'serviceworker-reviews@chromium.org' ],
405    'serviceworkers_tests': [ 'kenjibaheux+watch@chromium.org' ],
406    'sheriff_o_matic': [ 'jochen@chromium.org',
407                         'szager@chromium.org',
408                         'dsinclair@chromium.org',
409                         'ojan@chromium.org',
410                         'leviw@chromium.org',
411                         'michaelpg@chromium.org',
412                         'cbiesinger@chromium.org',
413                         'teravest@chromium.org' ],
414    'spellcheck' : [ 'groby+blinkspell@chromium.org' ],
415    'device_orientation': [ 'timvolodine@chromium.org', 'mvanouwerkerk+watch@chromium.org', 'ch.dumez@samsung.com' ],
416    'webp': [ 'urvang@google.com',
417              'jzern@chromium.org',
418              'skal@google.com',
419              'vikasa@google.com' ],
420    'css_grid_layout': [ 'svillar@igalia.com', 'jfernandez@igalia.com', 'rego@igalia.com' ],
421    'css_flexbox': [ 'cbiesinger@chromium.org' ],
422    'battery_status': [ 'timvolodine@chromium.org' ],
423    'out_of_process_frames': [ 'dcheng@chromium.org' ],
424    'device_light': [ 'timvolodine@chromium.org' ],
425    'websockets': [ 'tyoshino+watch@chromium.org', 'yhirano+watch@chromium.org' ],
426  },
427}
428