# 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/'
    },
    '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'
    },
    'heap': {
      'filepath': 'Source/heap',
    },
    'html': {
      'filepath': 'Source/core/html/'
    },
    'loader': {
      'filepath': 'Source/core/loader',
    },
    'owners': {
      'filepath': 'OWNERS',
    },
    'public_api': {
      'filepath': 'public'
    },
    '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',
    },
    'wtf': {
      'filepath': 'Source/wtf',
    },
    'platform_graphics': {
      'filepath': 'Source/platform/fonts' \
                  '|Source/platform/geometry' \
                  '|Source/platform/graphics'
    },
    'platform': {
      'filepath': 'Source/core/platform' \
                  '|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'
    },
    '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'
    },
    '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/CustomElement' \
                  '|Source/bindings/v8/custom/V8CustomElementConstructorCustom' \
                  '|Source/bindings/v8/CustomElementHelpers'
    },
    'mediastream': {
      'filepath': 'Source/core/platform/mediastream/' \
                  '|Source/platform/mediastream/' \
                  '|Source/modules/mediastream/' \
                  '|LayoutTests/fast/mediastream/' \
                  '|Source/core/platform/chromium/support/'
    },
    'geolocation': {
      'filepath': 'Source/modules/geolocation/' \
                  '|LayoutTests/fast/dom/Geolocation/'
    },
    'vibration': {
      'filepath': 'Source/modules/vibration/' \
                  '|LayoutTests/fast/dom/navigator-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'
    },
  },

  'WATCHLISTS': {
    'accessibility':['dmazzoni@chromium.org',
                     'aboxhall@chromium.org'],
    'animations': ['alancutter@chromium.org',
                   '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',
                   'dino@apple.com'],
    'audio': ['rtoy@chromium.org'],
    'devtools': [ 'pfeldman+blink@chromium.org',
                  'aandrey+blink@chromium.org',
                  'alph+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',
                  'devtools-reviews@chromium.org' ],
    'bidi': [ 'leviw+bidiwatch@chromium.org' ],
    'bindings': [ 'abarth@chromium.org',
                  'adamk+blink@chromium.org',
                  'arv+blink@chromium.org',
                  'ch.dumez@samsung.com',
                  'haraken@chromium.org',
                  'japhet@chromium.org',
                  'jsbell+bindings@chromium.org',
                  'kojih@chromium.org',
                  'marja+watch@chromium.org',
                  'nbarth@chromium.org',
                  'sigbjornf@opera.com' ],
    'canvas': [ 'cabanier@adobe.com', 'aandrey+blink@chromium.org' ],
    'custom_elements': [ 'dominicc+watchlist@chromium.org', 'dglazkov+blink@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',
                           'dsinclair@chromium.org',
                           'dschulze@chromium.org',
                           'rob.buis@samsung.com',
                           'jbroman@chromium.org' ],
    'svg': [ 'schenney@chromium.org', 'pdr@google.com', 'fmalita@chromium.org', 'dschulze@chromium.org', 'rob.buis@samsung.com' ],
    'css': [ 'alexis.menard@intel.com', 'apavlov+blink@chromium.org', 'dglazkov+blink@chromium.org' ],
    'dom': [ 'adamk+blink@chromium.org', 'eae+blinkwatch@chromium.org', 'dglazkov+blink@chromium.org', 'sigbjornf@opera.com' ],
    'events': [ 'eae+blinkwatch@chromium.org', 'dglazkov+blink@chromium.org' ],
    'heap': [ 'ager@chromium.org', 'haraken@chromium.org' ],
    'html': [ 'adamk+blink@chromium.org', 'dglazkov+blink@chromium.org' ],
    'public_api': [ 'abarth@chromium.org', 'jamesr@chromium.org', 'dglazkov+blink@chromium.org' ],
    'wtf': [ 'abarth@chromium.org',
             'adamk+blink@chromium.org',
             'loislo+blink@chromium.org',
             'yurys+blink@chromium.org' ],
    'indexed_db': ['alecflett@chromium.org','dgrogan@chromium.org',
                   'jsbell@chromium.org', 'cmumford@chromium.org'],
    'rendering': [ 'eae+blinkwatch@chromium.org', 'jchaffraix+rendering@chromium.org', 'leviw+renderwatch@chromium.org', 'zoltan@webkit.org', 'bemjb+rendering@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' ],
    'media': [ 'feature-media-reviews@chromium.org', 'philipj@opera.com' ],
    'media_queries': [ 'kenneth.christiansen@gmail.com' ],
    'fileapi': [ 'kinuko@chromium.org' ],
    'quota': [ 'kinuko@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' ],
    'geolocation': [ 'mvanouwerkerk@chromium.org' ],
    'vibration': [ 'mvanouwerkerk@chromium.org' ],
    'spellcheck' : [ 'groby+blinkspell@chromium.org' ],
    'device_orientation': [ 'timvolodine@chromium.org', 'mvanouwerkerk@chromium.org' ],
    'activity_logger': [ 'watchdog-blink-watchlist@google.com' ],
  },
}