# Copyright (c) 2010 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


{
  'WATCHLIST_DEFINITIONS': {
    'this_file': {
      'filepath': '^WATCHLISTS$',
    },
    'valgrind': {
      'filepath': 'valgrind',
    },
    'mac': {
      'filepath': 'cocoa|\.mm$|(_mac|_posix)\.(cc|h)$',
    },
    'base': {
      'filepath': '^base/.*',
    },
    'extension': {
      'filepath': 'extension',
    },
    'views': {
      # Applies to all files and subdirs within this directory.
      'filepath': 'views/.*',
    },
    'browser': {
      'filepath': 'chrome/browser/.*',
    },
    'browser_main': {
      'filepath': 'chrome/browser/browser_main.cc',
    },
    'browser_resources': {
      'filepath': 'chrome/browser/resources/.*',
    },
    'chromeos_login': {
      'filepath': 'chrome/browser/chromeos/login/.*',
    },
    'download': {
      'filepath': 'chrome/browser/download/.*',
    },
    'history': {
      'filepath': 'chrome/browser/history/.*',
    },
    'renderer': {
      'filepath': 'chrome/browser/renderer_host/.*|chrome/renderer/.*|'\
        'chrome/common/render.*',
    },
    'tab_contents': {
      'filepath': 'chrome/browser/tab_contents/.*',
    },
    'webkit': {
      'filepath': 'webkit/.*',
    },
    'plugin': {
      'filepath': 'chrome/browser/plugin.*|chrome/plugin/.*|'\
        'chrome/common/plugin.*|webkit/glue/webplugin.*|webkit/glue/plugins/.*',
    },
    'worker': {
      'filepath': 'chrome/browser/worker_host/.*|chrome/worker/.*|'\
        'chrome/common/worker_messages.*|webkit/glue/webworker.*',
    },
    'net': {
      'filepath': 'net/.*',
    },
    'ftp': {
      'filepath': 'ftp',
    },
    'installer': {
      'filepath': 'chrome/installer/.*',
    },
    'importer': {
      'filepath': '.*import.*',
    },
    'media': {
      'filepath': 'media/.*|third_party/(ffmpeg|openmax)/.*|webmediaplayer|'\
        'audio_message_filter|video_layer',
    },
    'ipc': {
      'filepath': 'ipc/ipc.*',
    },
    'linux-sandboxing': {
      'filepath': 'sandbox/linux/.*',
    },
    'sync': {
      'filepath': 'chrome/browser/sync/.*|chrome/browser/views/sync/.*|'\
        'chrome/test/live_sync/.*',
    },
    'layout_tests': {
      'filepath': 'webkit/(tools|data)/(layout_tests|test_shell)/.*',
    },
    'tools': {
      'filepath': 'tools/.*',
    },
    'tests': {
      'filepath': 'apitest|unittest|browsertest|uitest|chrome/test/.*',
    },
    'automation': {
      'filepath': 'chrome/browser/automation/.*|chrome/test/automation/.*',
    },
    'ceee': {
      'filepath': 'ceee/.*',
    },
    'chrome_frame': {
      'filepath': 'chrome_frame/.*',
    },
    'nacl': {
      'filepath': 'chrome/nacl/.*|chrome/test/nacl/.*|'\
        'chrome/browser/nacl_host/.*|chrome/common/nacl.*',
    },
    'appcache': {
      'filepath': 'appcache/.*',
    },
    'gpu': {
      'filepath': 'gpu/.*',
    },
    'locale_settings': {
      'filepath': 'chrome/app/resources/locale_settings.*',
    },
    'options_dialog_content': {
      'filepath': 'chrome/browser/views/options/content_page_view.h|'\
        'chrome/browser/views/options/general_page_view.h',
    },
    'chromeos': {
      'filepath': 'chrome/browser/chromeos/.*',
    },
    'npapi_headers': {
      'filepath': 'third_party/npapi/bindings/.*',
    },
    'remoting': {
      'filepath': 'remoting/.*',
    },
    'domui_options' : {
      'filepath': 'chrome/browser/resources/options/.*|'\
                  'chrome/browser/resources/options.html|'\
                  'chrome/browser/dom_ui/options/.*',
    },
    'cookie_monster': {
      'filepath': 'net/base/cookie_.*|'\
        'chrome/browser/net/sqlite_persistent_cookie_store.*',
    },
    'autofill': {
      'filepath': 'chrome/app/nibs/AutoFill.*|'\
        'chrome/browser/autofill/.*|'\
        'chrome/browser/dom_ui/autofill_.*|'\
        'chrome/browser/sync/glue/autofill_.*|'\
        'chrome/browser/views/autofill_.*|'\
        'chrome/renderer/autofill_.*|'\
        'chrome/renderer/form_manager.*',
    },
    'webdata': {
      'filepath': 'chrome/browser/webdata/.*',
    },
    'i18n': {
      'filepath': 'base/i18n/.*|base/*string.*|.*l10n.*|.*icu.*|'\
        '.*locale_settings.*|.*encoding.*',
    },
    'pyauto': {
      'filepath': 'chrome/test/pyautolib' \
                  '|chrome/test/functional' \
                  '|chrome/browser/automation/automation_provider_json'
    },
    'labs': {
      'filepath': 'chrome/browser/labs' \
                  '|chrome/browser/dom_ui/labs'
    },
    'file_system': {
      'filepath': 'file_system/.*',
    },
    'pepper_api': {
      'filepath': 'ppapi/c/.*',
    },
  },

  'WATCHLISTS': {
    'this_file': ['nirnimesh@chromium.org'],
    'valgrind': ['timurrrr@chromium.org',
                 'stuartmorgan+watch@chromium.org',
                 'glider@chromium.org'],
    'mac': ['pam+watch@chromium.org'],
    'base': ['brettw-cc@chromium.org'],
    'browser_main': ['brettw-cc@chromium.org'],
    'browser_resources': ['arv@chromium.org'],
    'chromeos_login': ['nkostylev+cc@chromium.org'],
    'download': ['phajdan.jr@chromium.org','rdsmith+dwatch@chromium.org'],
    'history': ['brettw-cc@chromium.org'],
    'renderer': ['darin-cc@chromium.org',
                 'brettw-cc@chromium.org'],
    'tab_contents': ['brettw-cc@chromium.org'],
    'webkit': ['darin-cc@chromium.org'],
    'plugin': ['darin-cc@chromium.org', 'jam@chromium.org',
               'stuartmorgan+watch@chromium.org'],
    'worker': ['jam@chromium.org'],
    'extension': ['aa@chromium.org',
                  'erikkay@chromium.org',
                  'pam+watch@chromium.org'],
    'net': ['darin-cc@chromium.org', 'cbentzel+watch@chromium.org'],
    'ftp': ['phajdan.jr@chromium.org'],
    'media': ['acolwell@chromium.org', 'ajwong@chromium.org',
              'annacc@chromium.org', 'ddorwin+watch@chromium.org',
              'hclam@chromium.org', 'scherkus@chromium.org',
              'sjl@chromium.org', 'vrk@chromium.org'],
    'ipc': ['jam@chromium.org', 'darin-cc@chromium.org'],
    'linux-sandboxing': ['agl@chromium.org'],
    'sync': ['tim@chromium.org', 'nick@chromium.org',
             'idana@chromium.org', 'rsimha@chromium.org'],
    'layout_tests': ['pam+watch@chromium.org'],
    'tools': ['pam+watch@chromium.org'],
    'tests': ['phajdan.jr@chromium.org'],
    'automation': ['phajdan.jr@chromium.org'],
    'ceee' : ['ceee-reviews@chromium.org'],
    'chrome_frame' : ['amit@chromium.org'],
    'nacl' : ['native-client-reviews@googlegroups.com'],
    'appcache': ['michaeln@chromium.org'],
    'gpu': ['apatrick@chromium.org'],
    'locale_settings': ['finnur+watch@chromium.org'],
    'options_dialog_content': ['finnur+watch@chromium.org'],
    'chromeos': ['davemoore+watch@chromium.org'],
    'npapi_headers': ['stuartmorgan@chromium.org'],
    'remoting': ['ajwong@chromium.org', 'sergeyu@chromium.org',
                 'hclam@chromium.org', 'dmaclach@chromium.org',
                 'garykac@chromium.org'],
    'cookie_monster': ['rdsmith@chromium.org'],
    'autofill': ['dhollowa@chromium.org', 'jhawkins@chromium.org',
                 'isherman@chromium.org'],
    'webdata': ['dhollowa@chromium.org'],
    'i18n': ['jshin+watch@chromium.org'],
    'pyauto': ['anantha@chromium.org', 'jrg@chromium.org',
               'nirnimesh@chromium.org', 'dyu@chromium.org'],
    'labs': ['thakis@chromium.org'],
    'file_system': ['kinuko@chromium.org'],
    'pepper_api': ['piman+watch@chromium.org'],
  },
}
