# Copyright (c) 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Watchlist Rules
# Refer: http://dev.chromium.org/developers/contributing-code/watchlists

# IMPORTANT: The regular expression filepath is tested against each path using
# re.search, so it is not usually necessary to add .*.

{
  'WATCHLIST_DEFINITIONS': {
    'accessibility': {
      'filepath': 'Source/core/accessibility' \
                  '|LayoutTests/accessibility',
    },
    'animations': {
      'filepath': '[Aa]nimat|[Tt]ransition',
    },
    'audio': {
      'filepath': 'Source/platform/audio' \
                  '|Source/modules/webaudio',
    },
    'bidi': {
      'filepath': 'Source/platform/text/.*Bidi' \
                  '|Source/core/rendering/.*Bidi',
    },
    'bindings': {
      'filepath': 'Source/bindings',
    },
    'test_runner': {
      'filepath': 'Tools/DumpRenderTree/chromium/TestRunner',
    },
    'canvas': {
      'filepath': 'Source/core/html/canvas/'
    },
    'clipboard': {
      'filepath': 'Source/core/clipboard',
      'filepath': 'Source/core/page/*Drag',
      'filepath': 'Source/platform/*Drag',
      'filepath': 'Source/platform/clipboard',
      'filepath': 'Source/web/*Drag',
      'filepath': 'public/platform/*Drag',
      'filepath': 'public/web/*Drag',
    },
    'css': {
      'filepath': 'Source/core/css',
    },
    'custom_elements': {
      'filepath': 'Source/core/dom/CustomElement' \
                  '|Source/bindings/v8/.*CustomElement',
    },
    'devtools': {
      'filepath': 'inspector|DevTools|devtools',
    },
    'dom': {
      'filepath': 'Source/core/dom/'
    },
    'events': {
      'filepath': 'Source/core/page/.*Event' \
                  '|Source/core/dom/.*Event' \
                  '|Source/core/css/.*Event' \
                  '|Source/platform/.*Event'
    },
    'fetch': {
      'filepath': 'Source/core/fetch',
    },
    'filters': {
      'filepath': 'Source/platform/graphics/filters' \
                  '|Source/core/svg/graphics/filters'
    },
    'heap': {
      'filepath': 'Source/heap' \
                  '|Source/platform/heap',
    },
    'html': {
      'filepath': 'Source/core/html/'
    },
    'loader': {
      'filepath': 'Source/core/loader',
    },
    'owners': {
      'filepath': 'OWNERS',
    },
    'public_api': {
      'filepath': 'public'
    },
    'serviceworkers' : {
      'filepath':  'Source/modules/serviceworkers' \
                   '|LayoutTests/http/tests/serviceworker'
    },
    'spellcheck' : {
      'filepath':  'Source/core/editing/Editor' \
                   '|Source/core/editing/Spell' \
                   '|Source/core/editing/TextCheckingHelper' \
                   '|Source/platform/text/TextCheck' \
                   '|Source/web/EditorClientImpl' \
                   '|LayoutTests/editing/spelling' \
                   '|public/web/WebSpellCheckClient.h',
    },
    'workers': {
      'filepath': 'Source/core/workers',
    },
    'wtf': {
      'filepath': 'Source/wtf',
    },
    'platform_graphics': {
      'filepath': 'Source/platform/fonts' \
                  '|Source/platform/geometry' \
                  '|Source/platform/graphics'
    },
    'platform': {
      'filepath': 'Source/platform'
    },
    'svg': {
      'filepath': 'Source/core/svg|Source/core/rendering/svg',
    },
    'indexed_db': {
      'filepath': 'Source/modules/indexeddb/' \
                  '|Source/web/.*IDB' \
                  '|LayoutTests/storage/indexeddb' \
                  '|public/platform/.*IDB'
    },
    'rendering': {
      'filepath': 'Source/core/rendering'
    },
    'compositing': {
      'filepath': 'Source/core/rendering/compositing'
    },
    'layers': {
      'filepath': 'Source/core/page/scrolling/ScrollingCoordinator' \
                  '|Source/platform/graphics/GraphicsLayer' \
                  '|Source/core/rendering/RenderLayer'
    },
    "content_security_policy": {
      'filepath': 'Source/core/page/.*SecurityPolicy' \
                  '|Source/core/dom/SecurityPolicyViolationEvent' \
                  '|LayoutTests/http/tests/security/contentSecurityPolicy'
    },
    "prerender": {
      'filepath': 'Prerender' \
                  '|loader/LinkLoader' \
                  '|html/HTMLLinkElement'
    },
    'track': {
      'filepath': 'Source/core/html/track/' \
                  '|Source/core/loader/TextTrack' \
                  '|Source/core/html/HTMLMediaElement' \
                  '|Source/core/html/HTMLTrackElement' \
                  '|Source/core/html/shadow/MediaControl' \
                  '|Source/core/css/mediaControl' \
                  '|LayoutTests/media/track/'
    },
    'media': {
      'filepath': 'Source/core/css/mediaControls' \
                  '|Source/core/html/.*(Audio|Media|Video)' \
                  '|Source/core/html/shadow/MediaControl' \
                  '|Source/core/rendering/RenderMedia' \
                  '|Source/modules/(encryptedmedia|mediasource)' \
                  '|Source/platform/drm/' \
                  '|Source/platform/graphics/media/' \
                  '|Source/web/.*Media' \
                  '|LayoutTests/media/' \
                  '|public/.*Media'
    },
    'media_queries': {
        'filepath': 'Source/core/css/CSSMediaRule' \
                    '|Source/core/css/MediaList' \
                    '|Source/core/css/MediaQuery' \
                    '|Source/core/css/parser/MediaQuery'
    },
    'navigator_content_utils': {
      'filepath': 'Source/modules/navigatorcontentutils' \
                  '|LayoutTests/fast/dom/navigatorcontentutils'
    },
    'out_of_process_frames': {
      'filepath': 'Source/core/frame/FrameOwner' \
                  '|Source/web/WebRemoteFrameImpl' \
    },
    'fileapi': {
      'filepath': 'Source/modules/filesystem/' \
                  '|Source/core/fileapi/' \
                  '|Source/platform/.*File' \
                  '|Source/web/.*File' \
                  '|LayoutTests/fast/file' \
                  '|public/.*File'
    },
    'quota': {
      'filepath': 'Source/modules/quota/' \
                  '|Source/web/.*Quota' \
                  '|public/.*Quota'
    },
    'viewport_interaction': {
      'filepath': 'Source/core/css/.*Viewport' \
                  '|Source/core/dom/ViewportArguments' \
                  '|Source/core/html/HTMLMetaElement' \
                  '|Source/core/page/FrameView' \
                  '|Source/core/page/scrolling'
    },
    'css_regions': {
      'filepath': 'Source/core/rendering/.*(Region|FlowThread)' \
                  '|Source/core/dom/NodeRendering' \
                  '|Source/core/dom/.*NamedFlow' \
                  '|Source/core/css/.*Region' \
                  '|LayoutTests/compositing/regions/' \
                  '|LayoutTests/fast/regions/' \
                  '|LayoutTests/platform/chromium.*/fast/regions/'
    },
    'web_idl': {
      'filepath': 'Source/core/.*\.idl'
    },
    'webcomponents': {
      'filepath': 'Source/core/dom/shadow/' \
                  '|Source/core/dom/custom/' \
                  '|Source/core/html/imports/' \
                  '|Source/bindings/v8/custom/V8CustomElementConstructorCustom' \
                  '|Source/bindings/v8/CustomElementHelpers'
    },
    'mediastream': {
      'filepath': 'Source/modules/mediastream/' \
                  '|Source/platform/mediastream/' \
                  '|Source/platform/exported/WebMediaStream' \
                  '|Source/platform/exported/WebRTC' \
                  '|LayoutTests/fast/mediastream/'
    },
    'geolocation': {
      'filepath': 'LayoutTests/fast/dom/Geolocation/' \
                  '|Source/modules/geolocation/' \
                  '|Source/web/.*Geolocation' \
                  '|public/web/.*Geolocation'
    },
    'vibration': {
      'filepath': 'LayoutTests/vibration/' \
                  '|Source/modules/vibration/'
    },
    'device_orientation': {
      'filepath': 'Source/modules/device_orientation/' \
                  '|LayoutTests/fast/dom/DeviceMotion/' \
                  '|LayoutTests/fast/dom/DeviceOrientation/'
    },
    'activity_logger': {
      'filepath': 'public/web/WebDOMActivityLogger.h' \
                  '|Source/bindings/scripts/code_generator_v8.pm' \
                  '|Source/web/WebDOMActivityLogger.cpp'
    },
    'webp': {
      'filepath': 'Source/platform/image-decoders/webp' \
                  '|Source/platform/image-encoders/skia/WEBP'
    },
    'css_grid_layout': {
      'filepath': 'Source/core/rendering/.*Grid' \
                  '|Source/core/css/.*Grid' \
                  '|LayoutTests/fast/css-grid-layout/' \
                  '|LayoutTests/ietestcenter/css3/grid/' \
                  '|LayoutTests/platform/.*/fast/css-grid-layout/' \
                  '|LayoutTests/platform/.*/ietestcenter/css3/grid/'
    },
    'css_flexbox': {
      'filepath': 'Source/core/rendering/.*Flex' \
                  '|LayoutTests/fast/flexbox/' \
                  '|LayoutTests/css3/flexbox/' \
                  '|LayoutTests/ietestcenter/css3/flexbox/'
    },
    'fragment_layout': {
      'filepath': 'Source/core/rendering/.*(FlowThread|MultiCol|Region)' \
                  '|Source/core/rendering/ColumnInfo' \
                  '|LayoutTests/.*/multicol/' \
                  '|LayoutTests/.*/regions/'
    },
    'table_layout': {
      'filepath': 'Source/core/rendering/.*Table'
    },
    'battery_status': {
      'filepath': 'Source/modules/battery/' \
                  '|LayoutTests/battery-status/'
    },
  },

  'WATCHLISTS': {
    'accessibility':['dmazzoni@chromium.org',
                     'aboxhall@chromium.org'],
    'animations': ['alexis.menard@intel.com',
                   'dstockwell@chromium.org',
                   'ericwilligers@chromium.org',
                   'mikelawther@chromium.org',
                   'rjwright@chromium.org',
                   'shans@chromium.org',
                   'steveblock@chromium.org',
                   'timloh@chromium.org',
                   'blink-reviews-animation@chromium.org'],
    'audio': ['rtoy@chromium.org'],
    'devtools': [ 'pfeldman+blink@chromium.org',
                  'aandrey+blink@chromium.org',
                  'apavlov+blink@chromium.org',
                  'loislo+blink@chromium.org',
                  'lushnikov+blink@chromium.org',
                  'vsevik+blink@chromium.org',
                  'yurys+blink@chromium.org',
                  'eustas+blink@chromium.org',
                  'caseq+blink@chromium.org',
                  'paulirish+reviews@chromium.org',
                  'malch+blink@chromium.org',
                  'sergeyv+blink@chromium.org',
                  'devtools-reviews@chromium.org' ],
    'bidi': [ 'leviw+bidiwatch@chromium.org' ],
    'bindings': [ 'abarth@chromium.org',
                  'arv+blink@chromium.org',
                  'blink-reviews-bindings@chromium.org' ],
    'canvas': [ 'cabanier@adobe.com', 'aandrey+blink@chromium.org' ],
    'clipboard': [ 'dcheng@chromium.org', ],
    'custom_elements': [ 'dominicc+watchlist@chromium.org', 'dglazkov+blink@chromium.org' ],
    'fetch': [ 'japhet@chromium.org', 'gavinp+loader@chromium.org' ],
    'layers': [ 'blink-layers+watch@chromium.org' ],
    'loader': [ 'japhet@chromium.org', 'gavinp+loader@chromium.org' ],
    'owners': [ 'abarth@chromium.org'],
    'test_runner': [ 'jochen+watch@chromium.org' ],
    'platform_graphics': [ 'jamesr@chromium.org',
                           'schenney@chromium.org',
                           'danakj@chromium.org',
                           'pdr@chromium.org',
                           'cabanier@adobe.com',
                           'dschulze@chromium.org',
                           'rob.buis@samsung.com',
                           'jbroman@chromium.org' ],
    'svg': [ 'schenney@chromium.org', 'pdr@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' ],
    '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' ],
    'dom': [ 'eae+blinkwatch@chromium.org',
             'dglazkov+blink@chromium.org',
             'sigbjornf@opera.com',
             'rob.buis@samsung.com',
             'blink-reviews-dom@chromium.org' ],
    'events': [ 'eae+blinkwatch@chromium.org', 'dglazkov+blink@chromium.org', 'blink-reviews-events@chromium.org' ],
    'heap': [ 'ager@chromium.org', 'haraken@chromium.org', 'kouhei+heap@chromium.org' ],
    'html': [ 'dglazkov+blink@chromium.org', 'blink-reviews-html@chromium.org' ],
    'public_api': [ 'abarth@chromium.org', 'jamesr@chromium.org', 'dglazkov+blink@chromium.org' ],
    'workers': [ 'kinuko+worker@chromium.org',
                 'horo+watch@chromium.org',
                 'falken@chromium.org' ],
    'wtf': [ 'abarth@chromium.org',
             'mikhail.pozdnyakov@intel.com',
             'blink-reviews-wtf@chromium.org' ],
    'indexed_db': ['alecflett@chromium.org','dgrogan@chromium.org',
                   'jsbell+idb@chromium.org', 'cmumford@chromium.org',
                   'ericu+idb@chromium.org'],
    'rendering': [ 'pdr@chromium.org',
                   'eae+blinkwatch@chromium.org',
                   'jchaffraix+rendering@chromium.org',
                   'leviw+renderwatch@chromium.org',
                   'zoltan@webkit.org',
                   'rune+blink@opera.com',
                   'blink-reviews-rendering@chromium.org' ],
    'compositing': [ 'abarth@chromium.org' ],
    'content_security_policy': [ 'mkwst+watchlist@chromium.org' ],
    'prerender': [ 'gavinp+prerender@chromium.org' ],
    'track': [ 'vcarbune@chromium.org', 'silviapf@chromium.org', 'philipj@opera.com', 'glenn@chromium.org', 'fs@opera.com', 'eric.carlson@apple.com' ],
    'media': [ 'feature-media-reviews@chromium.org', 'philipj@opera.com', 'eric.carlson@apple.com' ],
    'media_queries': [ 'kenneth.christiansen@gmail.com',
                       'yoav@yoav.ws' ],
    'fileapi': [ 'kinuko+fileapi@chromium.org',
                 'tzik@chromium.org',
                 'nhiroki@chromium.org' ],
    'quota': [ 'kinuko+fileapi@chromium.org',
               'tzik@chromium.org',
               'nhiroki@chromium.org' ],
    'viewport_interaction': [ 'kenneth.christiansen@gmail.com' ],
    'css_regions': [ 'ChromiumBugTracker@adobe.com' ],
    'web_idl': [ 'arv+blink@chromium.org', 'ch.dumez@samsung.com', 'watchdog-blink-watchlist@google.com' ],
    'webcomponents': [ 'webcomponents-bugzilla@chromium.org', 'dglazkov+blink@chromium.org' ],
    'mediastream': [ 'tommyw+watchlist@chromium.org' ],
    'navigator_content_utils': [ 'gyuyoung.kim@webkit.org' ],
    'geolocation': [ 'mvanouwerkerk+watch@chromium.org', 'timvolodine@chromium.org' ],
    'vibration': [ 'mvanouwerkerk+watch@chromium.org' ],
    'serviceworkers': [ 'alecflett+watch@chromium.org',
                        'jsbell+serviceworker@chromium.org',
                        'kinuko+serviceworker@chromium.org',
                        'tzik@chromium.org',
                        'nhiroki@chromium.org',
                        'horo+watch@chromium.org',
                        'falken@chromium.org',
                        'michaeln@chromium.org',
                        'serviceworker-reviews@chromium.org' ],
    'spellcheck' : [ 'groby+blinkspell@chromium.org' ],
    'device_orientation': [ 'timvolodine@chromium.org', 'mvanouwerkerk+watch@chromium.org', 'ch.dumez@samsung.com' ],
    'activity_logger': [ 'watchdog-blink-watchlist@google.com' ],
    'webp': [ 'urvang@google.com',
              'jzern@chromium.org',
              'skal@google.com',
              'vikasa@google.com' ],
    'css_grid_layout': [ 'svillar@igalia.com', 'jfernandez@igalia.com', 'rego@igalia.com' ],
    'css_flexbox': [ 'cbiesinger@chromium.org' ],
    'battery_status': [ 'timvolodine@chromium.org' ],
    'out_of_process_frames': [ 'dcheng@chromium.org' ],
  },
}
