<commit_before>// Copyright (c) 2012 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.

// See c/c/e/features/* to understand this file, in particular feature.h,
// simple_feature.h, and base_feature_provider.h.

// To add a new whitelisted ID, SHA-1 it and force it to uppercase. In Bash:
//
// $ echo -n "aaaabbbbccccddddeeeeffffgggghhhh" | \
// sha1sum | tr '[:lower:]' '[:upper:]'
// 9A0417016F345C934A1A88F55CA17C05014EEEBA  -
//
// Google employees: please update http://go/chrome-api-whitelist to map
// hashes back to ids.

{
  "activeTab": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "min_manifest_version": 2
  },
  "activityLogPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "platform_app"],
    "whitelist": [
      "EE17C698905F7F2E6DDC87C9C30F11E164C829F4",  // Watchdog release
      "90113DA9516526D24DAF156C629CC41C049E8882",  // Watchdog testing
      "A9EFD71948A480C87D3B7C758FD938215F445F00"   // Obsolete
    ]
  },
  "adview": {
    "channel": "dev",
    "extension_types": ["platform_app"]
  },
  "alarms": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "min_manifest_version": 2
  },
  "alwaysOnTopWindows": [
    {
      "channel": "dev",
      "extension_types": ["platform_app"]
    },
    {
      "channel": "stable",
      "extension_types": ["platform_app"],
      "whitelist": [
        "0F42756099D914A026DADFA182871C015735DD95",
        "2D22CDB6583FD0A13758AEBE8B15E45208B4E9A7"
      ]
    }
  ],
  "app.runtime": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "app.window": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "audio": [
    {
      "channel": "dev",
      "extension_types": ["platform_app"]
    },
    {
      "channel": "stable",
      "extension_types": ["platform_app"],
      "whitelist": [
        "8C3741E3AF0B93B6E8E0DDD499BB0B74839EA578",
        "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB"
      ]
    }
  ],
  "autotestPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "location": "component"
  },
  "audioCapture": [
    {
      "channel": "stable",
      "extension_types": ["platform_app"]
    },
    {
      "channel": "stable",
      "extension_types": ["extension"],
      "whitelist": [
        // http://crbug.com/292856
        "3F50C3A83839D9C76334BCE81CDEC06174F266AF",
        "09FDCB5851B8F3378DB630D06E316076E89C95A6"
      ]
    }
  ],
  "background": [
    {
      "channel": "stable",
      "extension_types": [
        "extension", "legacy_packaged_app", "hosted_app"
      ]
    },
    {
      "channel": "stable",
      "extension_types": ["platform_app"],
      "whitelist": [
        "5B5DA6D054D10DB917AF7D9EAE3C56044D1B0B03",  // http://crbug.com/286542
        "2843C1E82A9B6C6FB49308FDDF4E157B6B44BC2B",  // http://crbug.com/286542
        "3F596D221126DCDFD115CFAA2E5A3141806358AD"   // http://crbug.com/286542
      ]
    }
  ],
  "bluetooth": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "bluetoothDevices": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "bookmarkManagerPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "whitelist": [
      "CB2E4E7174A398FCB3AFA6840500C2E1D22DA7B2", // Bookmark Manager
      "D5736E4B5CF695CB93A2FB57E4FDC6E5AFAB6FE2", // http://crbug.com/312900
      "D57DE394F36DC1C3220E7604C575D29C51A6C495"  // http://crbug.com/319444
    ]
  },
  "bookmarks": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "brailleDisplayPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "location": "component"
  },
  "browsingData": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "cast": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "whitelist": [
      "63ED55E43214C211F82122ED56407FF1A807F2A3",  // Dev
      "226CF815E39A363090A1E547D53063472B8279FA",  // Trusted Tester
      "FA01E0B81978950F2BC5A50512FD769725F57510",  // Staging
      "B11A93E7E5B541F8010245EBDE2C74647D6C14B9",  // Canary
      "F155646B5D1CA545F7E1E4E20D573DFDD44C2540",  // Trusted Tester (public)
      "16CA7A47AAE4BE49B1E75A6B960C3875E945B264"   // Release
    ]
  },
  "cast.streaming": {
    "channel": "dev",
    "extension_types": ["extension"]
  },
  "chromePrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "whitelist": [
      "2462D64ACB971A7E708757159C2B17761D4FF54A",  // Citrix Receiver
      "3010EF507AFEF487EEA9CDE2930EC94867C60936",  // Citrix Receiver Beta
      "ABAABC5F49E022A76CBB12972A53B58354C04AC6"   // Citrix Receiver Dev
    ]
  },
  "chromeosInfoPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "whitelist": [
      "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80",  // http://crbug.com/293683
      "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE",  // http://crbug.com/293683
      "8C3741E3AF0B93B6E8E0DDD499BB0B74839EA578",  // http://crbug.com/234235
      "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB"   // http://crbug.com/234235
    ]
  },
  "clipboardRead": {
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    ]
  },
  "clipboardWrite": {
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    ]
  },
  "cloudPrintPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    // CloudPrint
    "whitelist": ["99060B01DE911EB85FD630C8BA6320C9186CA3AB"]
  },
  "commandLinePrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "location": "component"
  },
  "contentSettings": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "contextMenus": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "cookies": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "diagnostics": [
    {
      "channel": "dev",
      "extension_types": ["platform_app"]
    },
    {
      "channel": "stable",
      "extension_types": ["platform_app"],
      "whitelist": [
        "7AE714FFD394E073F0294CFA134C9F91DB5FBAA4",  // CCD Development
        "C7DA3A55C2355F994D3FDDAD120B426A0DF63843",  // CCD Testing
        "75E3CFFFC530582C583E4690EF97C70B9C8423B7"   // CCD Release
      ]
    }
  ],
  "debugger": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "developerPrivate": {
    "channel": "stable",
    "extension_types": ["platform_app"],
    "whitelist": [
        "<KEY>", // Published ADT.
        // TODO(grv): clean up once Apps developer tool is published.
        "5107DE9024C329EEA9C9A72D94C16723790C6422",  // Apps Developer Tool.
        "8C0B1873FFFB65E4D0F4D772879F7304CEF125C2",  // Apps Editor old.
        // TODO(grv) : clean up once after publish.
        "FA0501B579070BB9CBD4FCAEC8CB0EDF22BA2F04", // Apps Editor published.
        "4A4EA121622FCA3D78ED2AB534197F43D7189EE0", // Spark nightly build
        "9FDE6E7F06FCFA11D9A05041C7FF6D8AE662F5D1"  // Spark release
    ]
  },
  "devtools": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "declarativeContent": {
    "channel": "dev",
    "extension_types": ["extension"]
  },
  "declarativeWebRequest": [
    {
      "channel": "beta",
      "extension_types": ["extension", "legacy_packaged_app"]
    },
    {
      "channel": "stable",
      "extension_types": ["extension", "legacy_packaged_app"],
      // Legacy Browser Support (remove once this API hits stable).
      "whitelist": ["BC3A0F8D5AE0DE6454D74AB376EBCC59E10CDD5A"]
    }
  ],
  "desktopCapture": [
    {
      "channel": "beta",
      "extension_types": ["extension", "platform_app"]
    },
    {
      "channel": "stable",
      "extension_types": ["extension", "platform_app"],
      "whitelist": [
        "<KEY>",
        // Hangout Services component extension.
        "DF84F03F9B960409CCDE0D895B9650EBE81C0A8E"
      ]
    }
  ],
  "dns": [
    {
      "channel": "dev",
      "extension_types": ["extension", "platform_app"]
    },
    {
      "channel": "stable",
      "extension_types": ["extension", "platform_app"],
      "whitelist": [
        "7AE714FFD394E073F0294CFA134C9F91DB5FBAA4",  // CCD Development
        "C7DA3A55C2355F994D3FDDAD120B426A0DF63843",  // CCD Testing
        "75E3CFFFC530582C583E4690EF97C70B9C8423B7"   // CCD Release
      ]
    }
  ],
  "screenlockPrivate": {
    "channel": "dev",
    "extension_types":["platform_app"],
    "whitelist": [
      "lkegkdgachcnekllcdfkijonogckdnjo",  // API test
      "190C131D270994E7330E9A3CD48224061CB10E2D",  // dogfood 1
      "7FDDD1C0CB0052596657FDEC92841D509DC8D404"  // dogfood 2
    ]
  },
  "downloads": {
    "channel": "stable",
    "extension_types": ["extension"]
  },
  "downloads.open": {
    "channel": "stable",
    "extension_types": ["extension"]
  },
  "downloads.shelf": {
    "channel": "stable",
    "extension_types": ["extension"]
  },
  "dial": {
    "channel": "stable",
    "extension_types": ["extension"],
    "whitelist": [
      "226CF815E39A363090A1E547D53063472B8279FA",  // Trusted Tester
      "FA01E0B81978950F2BC5A50512FD769725F57510",  // Staging
      "B11A93E7E5B541F8010245EBDE2C74647D6C14B9",  // Canary
      "F155646B5D1CA545F7E1E4E20D573DFDD44C2540",  // Trusted Tester (public)
      "16CA7A47AAE4BE49B1E75A6B960C3875E945B264"   // Release
    ]
  },
  "enterprise.platformKeysPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "whitelist": [
      "657FEC7E77355CA205B0E226586621F86B33F611",  // Dogfood
      "5894126C625EF31852F215ED301A5FF1F9B7D026"   // Test
    ]
  },
  "experimental": {
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    ]
  },
  "feedbackPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "platform_app"],
    "whitelist": [
      "7910EAFDAF64B947E1CB31B333A9BD14CA556B6C",  // Feedback UI.
      "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80",  // http://crbug.com/293683
      "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE",  // http://crbug.com/293683
      "8C3741E3AF0B93B6E8E0DDD499BB0B74839EA578",  // http://crbug.com/234235
      "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB"   // http://crbug.com/234235
    ]
  },
  "fileBrowserHandler": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "fileBrowserPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "location": "component"
  },
  "fileSystem": [{
    "channel": "stable",
    "extension_types": ["platform_app"]
  },{
    "channel": "stable",
    "extension_types": ["extension"],
    "whitelist": [ "<KEY>" ]
  }],
  "fileSystem.directory": [{
    "channel": "stable",
    "extension_types": ["platform_app"]
  }],
  "fileSystem.retainEntries": [{
    "channel": "stable",
    "extension_types": ["platform_app"]
  }],
  "fileSystem.write": [{
    "channel": "stable",
    "extension_types": ["platform_app"]
  },{
    "channel": "stable",
    "extension_types": ["extension"],
    "whitelist": [ "<KEY>" ]
  }],
  "fileSystemProvider": {
    "channel": "trunk",
    "extension_types": ["platform_app"]
  },
  "firstRunPrivate": {
    "channel": "stable",
    "extension_types": ["platform_app"],
    "location": "component"
  },
  "fontSettings": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "fullscreen": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "gcm": {
    "channel": "dev",
    "extension_types": ["extension", "platform_app"]
  },
  "geolocation": {
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    ]
  },
  "history": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "identity": {
    "channel": "stable",
    "extension_types": ["extension", "platform_app"]
  },
  "identityPrivate": {
    "channel": "stable",
    "extension_types": [
      "legacy_packaged_app"
    ],
    "location": "component"
  },
  "idltest": {
    "channel": "trunk",
    "extension_types": ["extension"]
  },
  "idle": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "infobars": {
    "channel": "dev",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "input": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "inplies_full_url_access": true
  },
  "inputMethodPrivate": [{
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "whitelist": [
      "2462D64ACB971A7E708757159C2B17761D4FF54A",  // Citrix Receiver
      "3010EF507AFEF487EEA9CDE2930EC94867C60936",  // Citrix Receiver Beta
      "ABAABC5F49E022A76CBB12972A53B58354C04AC6",  // Citrix Receiver Dev
      "0EA6B717932AD64C469C1CCB6911457733295907",  // HTerm
      "58B0C2968C335964D5433E89CA4D86628A0E3D4B"   // HTerm dev
    ]
  },{
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "location": "component"
  }],
  "location": [
    {
      "channel": "dev",
      "extension_types": [
        "extension", "legacy_packaged_app", "platform_app"
      ]
    },
    {
      "channel": "stable",
      "extension_types": [
        "extension", "legacy_packaged_app", "hosted_app", "platform_app"
      ],
      "location": "component"
    }
  ],
  "logPrivate": {
    "channel": "dev",
    "extension_types": ["extension", "legacy_packaged_app"],
    "location": "component"
  },
  "management": [
    {
      "channel": "stable",
      "extension_types": ["extension", "legacy_packaged_app"]
    },
    {
      "channel": "stable",
      "extension_types": ["platform_app"],
      "whitelist": [
        "AE27D69DBE571F4B1694F05C89B710C646792231", // Published ADT
        // TODO(grv): clean up once Apps developer tool is published.
        "5107DE9024C329EEA9C9A72D94C16723790C6422",  // Apps Developer Tool.
        "8C0B1873FFFB65E4D0F4D772879F7304CEF125C2",  // Apps Editor old.
        "FA0501B579070BB9CBD4FCAEC8CB0EDF22BA2F04",  // Apps Editor published.
        "EE17C698905F7F2E6DDC87C9C30F11E164C829F4",  // Watchdog (Activity Log)
        "90113DA9516526D24DAF156C629CC41C049E8882"   // Watchdog Test Version
      ]
    }
  ],
  "mediaGalleries": {
    "channel": "stable",
    "extension_types": [ "platform_app" ]
  },
  "mediaGalleries.allAutoDetected": {
    "channel": "stable",
    "extension_types": [ "platform_app" ]
  },
  "mediaGalleries.read": {
    "channel": "stable",
    "extension_types": [ "platform_app" ]
  },
  "mediaGalleries.copyTo": {
    "channel": "stable",
    "extension_types": [ "platform_app" ]
  },
  "mediaGalleries.delete": {
    "channel": "stable",
    "extension_types": [ "platform_app" ]
  },
  // TODO(thestig) Remove this as part of http://crbug.com/144496
  "mediaGalleriesPrivate": {
    "channel": "stable",
    "extension_types": [ "platform_app" ],
    "whitelist": [
      "4B1D0E19C6C43C008C44A8278C8B5BFE15ABEB3C",
      "5B5DA6D054D10DB917AF7D9EAE3C56044D1B0B03",  // http://crbug.com/286542
      "2843C1E82A9B6C6FB49308FDDF4E157B6B44BC2B",  // http://crbug.com/286542
      "3F596D221126DCDFD115CFAA2E5A3141806358AD",  // http://crbug.com/286542
      "F7FA7ABC1ECB89BA8EE6656847EFABBF43BB9BCA",
      "4FE45FA56EF6A25FDE8C302C44045CA9CE8A605A"
    ]
  },
  "mediaPlayerPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "location": "component"
  },
  "metricsPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "whitelist": [
      // The file manager and Google Now are component extensions, and they can
      // currently use whitelisted interfaces without being on the corresponding
      // whitelist.
      // Adding it to this whitelist documents their dependency, however, and
      // also doesn't hurt anything.
      "A948368FC53BE437A55FEB414106E207925482F5",  // File manager
      "2FC374607C2DF285634B67C64A2E356C607091C3",  // Quickoffice
      "5D3851BEFF680AB6D954B76678EFCCE834465C23",  // Quickoffice dev
      "12E618C3C6E97495AAECF2AC12DEB082353241C6",  // QO component extension
      "3727DD3E564B6055387425027AD74C58784ACC15",  // Editor
      "C41AD9DCD670210295614257EF8C9945AD68D86E",  // Google Now
      "6EEEA7775E79C735E4BA1F24DBB191BDACB1262C",  // RU-NTP
      "7AE714FFD394E073F0294CFA134C9F91DB5FBAA4",  // CCD Development
      "C7DA3A55C2355F994D3FDDAD120B426A0DF63843",  // CCD Testing
      "75E3CFFFC530582C583E4690EF97C70B9C8423B7",  // CCD Release
      "D5736E4B5CF695CB93A2FB57E4FDC6E5AFAB6FE2",  // http://crbug.com/312900.
      "D57DE394F36DC1C3220E7604C575D29C51A6C495"   // http://crbug.com/319444.
    ]
  },
  "mdns": {
    "channel": "stable",
    "extension_types": ["extension"],
    "whitelist": [
      "63ED55E43214C211F82122ED56407FF1A807F2A3",  // Dev
      "226CF815E39A363090A1E547D53063472B8279FA",  // Trusted Tester
      "FA01E0B81978950F2BC5A50512FD769725F57510",  // Staging
      "B11A93E7E5B541F8010245EBDE2C74647D6C14B9",  // Canary
      "F155646B5D1CA545F7E1E4E20D573DFDD44C2540",  // Trusted Tester (public)
      "16CA7A47AAE4BE49B1E75A6B960C3875E945B264"   // Release
    ]
  },
  "musicManagerPrivate": {
    "channel": "stable",
    "extension_types": ["platform_app"],
    "whitelist": [
      "4B1D0E19C6C43C008C44A8278C8B5BFE15ABEB3C", // Music Manager
      "B8F61FD1B25DE03706DBB8906A73261E4DBB992A", // Test
      "F7FA7ABC1ECB89BA8EE6656847EFABBF43BB9BCA",
      "4FE45FA56EF6A25FDE8C302C44045CA9CE8A605A"
    ]
  },
  "nativeMessaging": {
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "platform_app"
    ]
  },
  "networkingPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "whitelist": [
      "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80",  // http://crbug.com/293683
      "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE",  // http://crbug.com/293683
      "8C3741E3AF0B93B6E8E0DDD499BB0B74839EA578",  // http://crbug.com/234235
      "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB",  // http://crbug.com/234235
      "226CF815E39A363090A1E547D53063472B8279FA",  // Trusted Tester
      "FA01E0B81978950F2BC5A50512FD769725F57510",  // Staging
      "B11A93E7E5B541F8010245EBDE2C74647D6C14B9",  // Canary
      "F155646B5D1CA545F7E1E4E20D573DFDD44C2540",  // Trusted Tester (public)
      "16CA7A47AAE4BE49B1E75A6B960C3875E945B264",  // Release
      "7AE714FFD394E073F0294CFA134C9F91DB5FBAA4",  // CCD Development
      "C7DA3A55C2355F994D3FDDAD120B426A0DF63843",  // CCD Testing
      "75E3CFFFC530582C583E4690EF97C70B9C8423B7"   // CCD Release
    ]
  },
  "notifications": {
    // The chrome.notifications functionality listed in notifications.idl is
    // available only to extension/platform_app types. The implementation of
    // that functionality enforces that restriction in
    // NotificationsApiFunction::IsNotificationsApiAvailable(). This is more
    // complicated than other namespaces because we are sharing the
    // notifications permission with WebKit/Blink notifications.
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    ]
  },
  "overrideEscFullscreen": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "echoPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "location": "component"
  },
  "pageCapture": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "pointerLock": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "plugin": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "power": {
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "platform_app"
    ]
  },
  "preferencesPrivate":  {
    "channel": "dev",
    "extension_types": [
      "extension"
    ],
    "location": "component"
  },
  "principalsPrivate": {
    "channel": "stable",
    "extension_types": ["extension"],
    "whitelist": [
      "2779FA8B45841D61A37207CCFAC9CB393964FE5B"  // Login Proxy (prototype)
    ]
  },
  "privacy": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "processes": {
    "channel": "dev",
    "extension_types": ["extension"]
  },
  "proxy": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "pushMessaging": {
    "channel": "stable",
    "extension_types": ["extension", "platform_app"]
  },
  "imageWriterPrivate": {
    "channel": "stable",
    "extension_types": ["platform_app"],
    "whitelist": [
      "5706C86CE71C13DA6783E61339E0C2B3FC9E5DC8", // Dev version
      "D7986543275120831B39EF28D1327552FC343960"  // Release version
    ]
  },
  "rtcPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "whitelist": [
      "53041A2FA309EECED01FFC751E7399186E860B2C",  // Google Talk prod
      "A74A4D44C7CFCD8844830E6140C8D763E12DD8F3",  // Google Talk beta
      "E7E2461CE072DF036CF9592740196159E2D7C089",  // Google Talk alpha
      "312745D9BF916161191143F6490085EEA0434997"   // Google Talk debug
    ]
  },
  // Note: runtime is not actually a permission, but some systems check these
  // values to verify restrictions.
  "runtime": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "screensaver": {
    "channel": "stable",
    "extension_types": ["legacy_packaged_app", "hosted_app", "platform_app"]
  },
  "serial": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "sessions": {
    "channel": "dev",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "signedInDevices": {
    "channel": "dev",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "streamsPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "whitelist": [
      "787000072C6FBB934AF5A42275CDE73FC977D995",  // browser_tests
      "2FC374607C2DF285634B67C64A2E356C607091C3",  // QuickOffice
      "5D3851BEFF680AB6D954B76678EFCCE834465C23",  // QuickOffice Dev
      "12E618C3C6E97495AAECF2AC12DEB082353241C6",  // QO component extension
      "3727DD3E564B6055387425027AD74C58784ACC15",  // Editor
      "CBCC42ABED43A4B58FE3810E62AFFA010EB0349F"   // PDF
    ]
  },
  "socket": [{
    "channel": "stable",
    "extension_types": ["platform_app"]
  }, {
    "channel": "stable",
    "extension_types": ["extension"],
    "whitelist": [
      // The connectivity diagnostic utility is a component extension that is
      // used to try to provide suggestions on how to fix connection issues.  It
      // should be the only non-app allowed to use the socket API.
      "32A1BA997F8AB8DE29ED1BA94AAF00CF2A3FEFA7"
    ]
  }],
  "sockets.udp": {
    "channel": "dev",
    "extension_types": ["platform_app"]
  },
  "syncFileSystem": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "systemIndicator": {
    "channel": "dev",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "storage": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "min_manifest_version": 2
  },
  "system.cpu": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "system.memory": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "system.network": {
    "channel": "dev",
    "extension_types": ["platform_app"]
  },
  "system.storage": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "system.display": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "systemPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "location": "component"
  },
  "tabs": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "tabCapture": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "terminalPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "whitelist": [
      "0EA6B717932AD64C469C1CCB6911457733295907",  // HTerm
      "58B0C2968C335964D5433E89CA4D86628A0E3D4B"   // HTerm dev
    ]
  },
  "topSites": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "tts": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "ttsEngine": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "unlimitedStorage": {
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    ]
  },
  "usb": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "usbDevices": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "videoCapture": [
    {
      "channel": "stable",
      "extension_types": ["platform_app"]
    },
    {
      "channel": "stable",
      "extension_types": ["extension"],
      "whitelist": [
        // http://crbug.com/292856
        "3F50C3A83839D9C76334BCE81CDEC06174F266AF",
        "09FDCB5851B8F3378DB630D06E316076E89C95A6",
        "A<KEY>"
      ]
    }
  ],
  "virtualKeyboardPrivate": {
    "channel": "stable",
    "whitelist": [
      "3F50C3A83839D9C76334BCE81CDEC06174F266AF"  // System-level virtual kbd
    ],
    "extension_types": ["extension"]
  },
  "wallpaper": {
    "channel": "dev",
    "extension_types": ["platform_app"]
  },
  "wallpaperPrivate": {
    "channel": "stable",
    "extension_types": ["platform_app"],
    "location": "component"
  },
  "webNavigation": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "webrtcAudioPrivate": {
    "channel": "stable",
    "extension_types": ["extension"],
    "whitelist": [
      "80B9DC58E5210749F052F5B4DB239C50CF72AEB6",
      // Hangout Services component extension.
      "DF84F03F9B960409CCDE0D895B9650EBE81C0A8E",
      // Extension used for API test.
      "ADFA45434ABA2F1A4647E673F53FF37F8F6047A3"
    ]
  },
  "webrtcLoggingPrivate": {
    "channel": "stable",
    "extension_types": ["extension"],
    "whitelist": [
      "<KEY>",
      // Hangout Services component extension.
      "DF84F03F9B960409CCDE0D895B9650EBE81C0A8E"
    ]
  },
  "webstorePrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "whitelist": [
      "B44D08FD98F1523ED5837D78D0A606EA9D6206E5",  // Web Store
      "2653F6F6C39BC6EEBD36A09AFB92A19782FF7EB4",  // Enterprise Web Store
      "2779FA8B45841D61A37207CCFAC9CB393964FE5B"   // Login Proxy (prototype)
    ]
  },
  "webRequest": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "webRequestBlocking": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "webview": [{
    "channel": "stable",
    "extension_types": ["platform_app"]
  }, {
    // General support for webview in component extensions still in progress.
    // Only allowed for whitelisted extensions until all the caveats are
    // addressed. Tracked in crbug/285151.
    "channel": "stable",
    "extension_types": ["extension"],
    "location": "component",
    "whitelist": [
      "D519188F86D9ACCEE0412007B227D9936EB9676B"  // GAIA Component Extension
    ]
  }]
}
<commit_msg>Expanding background whitelist.<commit_after>// Copyright (c) 2012 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.

// See c/c/e/features/* to understand this file, in particular feature.h,
// simple_feature.h, and base_feature_provider.h.

// To add a new whitelisted ID, SHA-1 it and force it to uppercase. In Bash:
//
// $ echo -n "aaaabbbbccccddddeeeeffffgggghhhh" | \
// sha1sum | tr '[:lower:]' '[:upper:]'
// 9A0417016F345C934A1A88F55CA17C05014EEEBA  -
//
// Google employees: please update http://go/chrome-api-whitelist to map
// hashes back to ids.

{
  "activeTab": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "min_manifest_version": 2
  },
  "activityLogPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "platform_app"],
    "whitelist": [
      "EE17C698905F7F2E6DDC87C9C30F11E164C829F4",  // Watchdog release
      "90113DA9516526D24DAF156C629CC41C049E8882",  // Watchdog testing
      "A9EFD71948A480C87D3B7C758FD938215F445F00"   // Obsolete
    ]
  },
  "adview": {
    "channel": "dev",
    "extension_types": ["platform_app"]
  },
  "alarms": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "min_manifest_version": 2
  },
  "alwaysOnTopWindows": [
    {
      "channel": "dev",
      "extension_types": ["platform_app"]
    },
    {
      "channel": "stable",
      "extension_types": ["platform_app"],
      "whitelist": [
        "0F42756099D914A026DADFA182871C015735DD95",
        "2D22CDB6583FD0A13758AEBE8B15E45208B4E9A7"
      ]
    }
  ],
  "app.runtime": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "app.window": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "audio": [
    {
      "channel": "dev",
      "extension_types": ["platform_app"]
    },
    {
      "channel": "stable",
      "extension_types": ["platform_app"],
      "whitelist": [
        "8C3741E3AF0B93B6E8E0DDD499BB0B74839EA578",
        "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB"
      ]
    }
  ],
  "autotestPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "location": "component"
  },
  "audioCapture": [
    {
      "channel": "stable",
      "extension_types": ["platform_app"]
    },
    {
      "channel": "stable",
      "extension_types": ["extension"],
      "whitelist": [
        // http://crbug.com/292856
        "3F50C3A83839D9C76334BCE81CDEC06174F266AF",
        "09FDCB5851B8F3378DB630D06E316076E89C95A6"
      ]
    }
  ],
  "background": [
    {
      "channel": "stable",
      "extension_types": [
        "extension", "legacy_packaged_app", "hosted_app"
      ]
    },
    {
      "channel": "stable",
      "extension_types": ["platform_app"],
      "whitelist": [
        "5B5DA6D054D10DB917AF7D9EAE3C56044D1B0B03",  // http://crbug.com/286542
        "2843C1E82A9B6C6FB49308FDDF4E157B6B44BC2B",  // http://crbug.com/286542
        "3F596D221126DCDFD115CFAA2E5A3141806358AD",  // http://crbug.com/286542
        "F7FA7ABC1ECB89BA8EE6656847EFABBF43BB9BCA",  // http://crbug.com/320952
        "4B1D0E19C6C43C008C44A8278C8B5BFE15ABEB3C",  // http://crbug.com/320952
        "4FE45FA56EF6A25FDE8C302C44045CA9CE8A605A"   // http://crbug.com/320952
      ]
    }
  ],
  "bluetooth": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "bluetoothDevices": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "bookmarkManagerPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "whitelist": [
      "CB2E4E7174A398FCB3AFA6840500C2E1D22DA7B2", // Bookmark Manager
      "D5736E4B5CF695CB93A2FB57E4FDC6E5AFAB6FE2", // http://crbug.com/312900
      "D57DE394F36DC1C3220E7604C575D29C51A6C495"  // http://crbug.com/319444
    ]
  },
  "bookmarks": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "brailleDisplayPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "location": "component"
  },
  "browsingData": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "cast": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "whitelist": [
      "63ED55E43214C211F82122ED56407FF1A807F2A3",  // Dev
      "226CF815E39A363090A1E547D53063472B8279FA",  // Trusted Tester
      "FA01E0B81978950F2BC5A50512FD769725F57510",  // Staging
      "B11A93E7E5B541F8010245EBDE2C74647D6C14B9",  // Canary
      "F155646B5D1CA545F7E1E4E20D573DFDD44C2540",  // Trusted Tester (public)
      "16CA7A47AAE4BE49B1E75A6B960C3875E945B264"   // Release
    ]
  },
  "cast.streaming": {
    "channel": "dev",
    "extension_types": ["extension"]
  },
  "chromePrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "whitelist": [
      "2462D64ACB971A7E708757159C2B17761D4FF54A",  // Citrix Receiver
      "3010EF507AFEF487EEA9CDE2930EC94867C60936",  // Citrix Receiver Beta
      "ABAABC5F49E022A76CBB12972A53B58354C04AC6"   // Citrix Receiver Dev
    ]
  },
  "chromeosInfoPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "whitelist": [
      "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80",  // http://crbug.com/293683
      "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE",  // http://crbug.com/293683
      "8C3741E3AF0B93B6E8E0DDD499BB0B74839EA578",  // http://crbug.com/234235
      "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB"   // http://crbug.com/234235
    ]
  },
  "clipboardRead": {
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    ]
  },
  "clipboardWrite": {
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    ]
  },
  "cloudPrintPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    // CloudPrint
    "whitelist": ["99060B01DE911EB85FD630C8BA6320C9186CA3AB"]
  },
  "commandLinePrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "location": "component"
  },
  "contentSettings": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "contextMenus": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "cookies": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "diagnostics": [
    {
      "channel": "dev",
      "extension_types": ["platform_app"]
    },
    {
      "channel": "stable",
      "extension_types": ["platform_app"],
      "whitelist": [
        "7AE714FFD394E073F0294CFA134C9F91DB5FBAA4",  // CCD Development
        "C7DA3A55C2355F994D3FDDAD120B426A0DF63843",  // CCD Testing
        "75E3CFFFC530582C583E4690EF97C70B9C8423B7"   // CCD Release
      ]
    }
  ],
  "debugger": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "developerPrivate": {
    "channel": "stable",
    "extension_types": ["platform_app"],
    "whitelist": [
        "AE<KEY>", // Published ADT.
        // TODO(grv): clean up once Apps developer tool is published.
        "5107DE9024C329EEA9C9A72D94C16723790C6422",  // Apps Developer Tool.
        "8C0B1873FFFB65E4D0F4D772879F7304CEF125C2",  // Apps Editor old.
        // TODO(grv) : clean up once after publish.
        "FA0501B579070BB9CBD4FCAEC8CB0EDF22BA2F04", // Apps Editor published.
        "4A4EA121622FCA3D78ED2AB534197F43D7189EE0", // Spark nightly build
        "9FDE6E7F06FCFA11D9A05041C7FF6D8AE662F5D1"  // Spark release
    ]
  },
  "devtools": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "declarativeContent": {
    "channel": "dev",
    "extension_types": ["extension"]
  },
  "declarativeWebRequest": [
    {
      "channel": "beta",
      "extension_types": ["extension", "legacy_packaged_app"]
    },
    {
      "channel": "stable",
      "extension_types": ["extension", "legacy_packaged_app"],
      // Legacy Browser Support (remove once this API hits stable).
      "whitelist": ["BC3A0F8D5AE0DE6454D74AB376EBCC59E10CDD5A"]
    }
  ],
  "desktopCapture": [
    {
      "channel": "beta",
      "extension_types": ["extension", "platform_app"]
    },
    {
      "channel": "stable",
      "extension_types": ["extension", "platform_app"],
      "whitelist": [
        "80B9DC58E5210749F052F5B4DB239C50CF72AEB6",
        // Hangout Services component extension.
        "DF84F03F9B960409CCDE0D895B9650EBE81C0A8E"
      ]
    }
  ],
  "dns": [
    {
      "channel": "dev",
      "extension_types": ["extension", "platform_app"]
    },
    {
      "channel": "stable",
      "extension_types": ["extension", "platform_app"],
      "whitelist": [
        "7AE714FFD394E073F0294CFA134C9F91DB5FBAA4",  // CCD Development
        "C7DA3A55C2355F994D3FDDAD120B426A0DF63843",  // CCD Testing
        "75E3CFFFC530582C583E4690EF97C70B9C8423B7"   // CCD Release
      ]
    }
  ],
  "screenlockPrivate": {
    "channel": "dev",
    "extension_types":["platform_app"],
    "whitelist": [
      "lkegkdgachcnekllcdfkijonogckdnjo",  // API test
      "190C131D270994E7330E9A3CD48224061CB10E2D",  // dogfood 1
      "7FDDD1C0CB0052596657FDEC92841D509DC8D404"  // dogfood 2
    ]
  },
  "downloads": {
    "channel": "stable",
    "extension_types": ["extension"]
  },
  "downloads.open": {
    "channel": "stable",
    "extension_types": ["extension"]
  },
  "downloads.shelf": {
    "channel": "stable",
    "extension_types": ["extension"]
  },
  "dial": {
    "channel": "stable",
    "extension_types": ["extension"],
    "whitelist": [
      "226CF815E39A363090A1E547D53063472B8279FA",  // Trusted Tester
      "FA<KEY>",  // Staging
      "B11A93E7E5B541F8010245EBDE2C74647D6C14B9",  // Canary
      "F155646B5D1CA545F7E1E4E20D573DFDD44C2540",  // Trusted Tester (public)
      "16CA7A47AAE4BE49B1E75A6B960C3875E945B264"   // Release
    ]
  },
  "enterprise.platformKeysPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "whitelist": [
      "657FEC7E77355CA205B0E226586621F86B33F611",  // Dogfood
      "5894126C625EF31852F215ED301A5FF1F9B7D026"   // Test
    ]
  },
  "experimental": {
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    ]
  },
  "feedbackPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "platform_app"],
    "whitelist": [
      "7910EAFDAF64B947E1CB31B333A9BD14CA556B6C",  // Feedback UI.
      "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80",  // http://crbug.com/293683
      "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE",  // http://crbug.com/293683
      "8C3741E3AF0B93B6E8E0DDD499BB0B74839EA578",  // http://crbug.com/234235
      "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB"   // http://crbug.com/234235
    ]
  },
  "fileBrowserHandler": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "fileBrowserPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "location": "component"
  },
  "fileSystem": [{
    "channel": "stable",
    "extension_types": ["platform_app"]
  },{
    "channel": "stable",
    "extension_types": ["extension"],
    "whitelist": [ "2FC374607C2DF285634B67C64A2E356C607091C3" ]
  }],
  "fileSystem.directory": [{
    "channel": "stable",
    "extension_types": ["platform_app"]
  }],
  "fileSystem.retainEntries": [{
    "channel": "stable",
    "extension_types": ["platform_app"]
  }],
  "fileSystem.write": [{
    "channel": "stable",
    "extension_types": ["platform_app"]
  },{
    "channel": "stable",
    "extension_types": ["extension"],
    "whitelist": [ "2FC374607C2DF285634B67C64A2E356C607091C3" ]
  }],
  "fileSystemProvider": {
    "channel": "trunk",
    "extension_types": ["platform_app"]
  },
  "firstRunPrivate": {
    "channel": "stable",
    "extension_types": ["platform_app"],
    "location": "component"
  },
  "fontSettings": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "fullscreen": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "gcm": {
    "channel": "dev",
    "extension_types": ["extension", "platform_app"]
  },
  "geolocation": {
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    ]
  },
  "history": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "identity": {
    "channel": "stable",
    "extension_types": ["extension", "platform_app"]
  },
  "identityPrivate": {
    "channel": "stable",
    "extension_types": [
      "legacy_packaged_app"
    ],
    "location": "component"
  },
  "idltest": {
    "channel": "trunk",
    "extension_types": ["extension"]
  },
  "idle": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "infobars": {
    "channel": "dev",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "input": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "inplies_full_url_access": true
  },
  "inputMethodPrivate": [{
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "whitelist": [
      "2462D64ACB971A7E708757159C2B17761D4FF54A",  // Citrix Receiver
      "3010EF507AFEF487EEA9CDE2930EC94867C60936",  // Citrix Receiver Beta
      "ABAABC5F49E022A76CBB12972A53B58354C04AC6",  // Citrix Receiver Dev
      "0EA6B717932AD64C469C1CCB6911457733295907",  // HTerm
      "58B0C2968C335964D5433E89CA4D86628A0E3D4B"   // HTerm dev
    ]
  },{
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "location": "component"
  }],
  "location": [
    {
      "channel": "dev",
      "extension_types": [
        "extension", "legacy_packaged_app", "platform_app"
      ]
    },
    {
      "channel": "stable",
      "extension_types": [
        "extension", "legacy_packaged_app", "hosted_app", "platform_app"
      ],
      "location": "component"
    }
  ],
  "logPrivate": {
    "channel": "dev",
    "extension_types": ["extension", "legacy_packaged_app"],
    "location": "component"
  },
  "management": [
    {
      "channel": "stable",
      "extension_types": ["extension", "legacy_packaged_app"]
    },
    {
      "channel": "stable",
      "extension_types": ["platform_app"],
      "whitelist": [
        "AE<KEY>", // Published ADT
        // TODO(grv): clean up once Apps developer tool is published.
        "5107DE9024C329EEA9C9A72D94C16723790C6422",  // Apps Developer Tool.
        "8C0B1873FFFB65E4D0F4D772879F7304CEF125C2",  // Apps Editor old.
        "FA0501B579070BB9CBD4FCAEC8CB0EDF22BA2F04",  // Apps Editor published.
        "EE17C698905F7F2E6DDC87C9C30F11E164C829F4",  // Watchdog (Activity Log)
        "90113DA9516526D24DAF156C629CC41C049E8882"   // Watchdog Test Version
      ]
    }
  ],
  "mediaGalleries": {
    "channel": "stable",
    "extension_types": [ "platform_app" ]
  },
  "mediaGalleries.allAutoDetected": {
    "channel": "stable",
    "extension_types": [ "platform_app" ]
  },
  "mediaGalleries.read": {
    "channel": "stable",
    "extension_types": [ "platform_app" ]
  },
  "mediaGalleries.copyTo": {
    "channel": "stable",
    "extension_types": [ "platform_app" ]
  },
  "mediaGalleries.delete": {
    "channel": "stable",
    "extension_types": [ "platform_app" ]
  },
  // TODO(thestig) Remove this as part of http://crbug.com/144496
  "mediaGalleriesPrivate": {
    "channel": "stable",
    "extension_types": [ "platform_app" ],
    "whitelist": [
      "4B1D0E19C6C43C008C44A8278C8B5BFE15ABEB3C",
      "5B5DA6D054D10DB917AF7D9EAE3C56044D1B0B03",  // http://crbug.com/286542
      "2843C1E82A9B6C6FB49308FDDF4E157B6B44BC2B",  // http://crbug.com/286542
      "3F596D221126DCDFD115CFAA2E5A3141806358AD",  // http://crbug.com/286542
      "F7FA7ABC1ECB89BA8EE6656847EFABBF43BB9BCA",
      "4FE45FA56EF6A25FDE8C302C44045CA9CE8A605A"
    ]
  },
  "mediaPlayerPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "location": "component"
  },
  "metricsPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "whitelist": [
      // The file manager and Google Now are component extensions, and they can
      // currently use whitelisted interfaces without being on the corresponding
      // whitelist.
      // Adding it to this whitelist documents their dependency, however, and
      // also doesn't hurt anything.
      "A948368FC53BE437A55FEB414106E207925482F5",  // File manager
      "2FC374607C2DF285634B67C64A2E356C607091C3",  // Quickoffice
      "5D3851BEFF680AB6D954B76678EFCCE834465C23",  // Quickoffice dev
      "12E618C3C6E97495AAECF2AC12DEB082353241C6",  // QO component extension
      "3727DD3E564B6055387425027AD74C58784ACC15",  // Editor
      "C41AD9DCD670210295614257EF8C9945AD68D86E",  // Google Now
      "6EEEA7775E79C735E4BA1F24DBB191BDACB1262C",  // RU-NTP
      "7AE714FFD394E073F0294CFA134C9F91DB5FBAA4",  // CCD Development
      "C7DA3A55C2355F994D3FDDAD120B426A0DF63843",  // CCD Testing
      "75E3CFFFC530582C583E4690EF97C70B9C8423B7",  // CCD Release
      "D5736E4B5CF695CB93A2FB57E4FDC6E5AFAB6FE2",  // http://crbug.com/312900.
      "D57DE394F36DC1C3220E7604C575D29C51A6C495"   // http://crbug.com/319444.
    ]
  },
  "mdns": {
    "channel": "stable",
    "extension_types": ["extension"],
    "whitelist": [
      "63ED55E43214C211F82122ED56407FF1A807F2A3",  // Dev
      "226CF815E39A363090A1E547D53063472B8279FA",  // Trusted Tester
      "FA01E0B81978950F2BC5A50512FD769725F57510",  // Staging
      "B11A93E7E5B541F8010245EBDE2C74647D6C14B9",  // Canary
      "F155646B5D1CA545F7E1E4E20D573DFDD44C2540",  // Trusted Tester (public)
      "16CA7A47AAE4BE49B1E75A6B960C3875E945B264"   // Release
    ]
  },
  "musicManagerPrivate": {
    "channel": "stable",
    "extension_types": ["platform_app"],
    "whitelist": [
      "4B1D0E19C6C43C008C44A8278C8B5BFE15ABEB3C", // Music Manager
      "B8F61FD1B25DE03706DBB8906A73261E4DBB992A", // Test
      "F7FA7ABC1ECB89BA8EE6656847EFABBF43BB9BCA",
      "4FE45FA56EF6A25FDE8C302C44045CA9CE8A605A"
    ]
  },
  "nativeMessaging": {
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "platform_app"
    ]
  },
  "networkingPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "whitelist": [
      "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80",  // http://crbug.com/293683
      "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE",  // http://crbug.com/293683
      "8C3741E3AF0B93B6E8E0DDD499BB0B74839EA578",  // http://crbug.com/234235
      "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB",  // http://crbug.com/234235
      "226CF815E39A363090A1E547D53063472B8279FA",  // Trusted Tester
      "FA01E0B81978950F2BC5A50512FD769725F57510",  // Staging
      "B11A93E7E5B541F8010245EBDE2C74647D6C14B9",  // Canary
      "F155646B5D1CA545F7E1E4E20D573DFDD44C2540",  // Trusted Tester (public)
      "16CA7A47AAE4BE49B1E75A6B960C3875E945B264",  // Release
      "7AE714FFD394E073F0294CFA134C9F91DB5FBAA4",  // CCD Development
      "C7DA3A55C2355F994D3FDDAD120B426A0DF63843",  // CCD Testing
      "75E3CFFFC530582C583E4690EF97C70B9C8423B7"   // CCD Release
    ]
  },
  "notifications": {
    // The chrome.notifications functionality listed in notifications.idl is
    // available only to extension/platform_app types. The implementation of
    // that functionality enforces that restriction in
    // NotificationsApiFunction::IsNotificationsApiAvailable(). This is more
    // complicated than other namespaces because we are sharing the
    // notifications permission with WebKit/Blink notifications.
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    ]
  },
  "overrideEscFullscreen": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "echoPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "location": "component"
  },
  "pageCapture": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "pointerLock": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "plugin": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "power": {
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "platform_app"
    ]
  },
  "preferencesPrivate":  {
    "channel": "dev",
    "extension_types": [
      "extension"
    ],
    "location": "component"
  },
  "principalsPrivate": {
    "channel": "stable",
    "extension_types": ["extension"],
    "whitelist": [
      "2779FA8B45841D61A37207CCFAC9CB393964FE5B"  // Login Proxy (prototype)
    ]
  },
  "privacy": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "processes": {
    "channel": "dev",
    "extension_types": ["extension"]
  },
  "proxy": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "pushMessaging": {
    "channel": "stable",
    "extension_types": ["extension", "platform_app"]
  },
  "imageWriterPrivate": {
    "channel": "stable",
    "extension_types": ["platform_app"],
    "whitelist": [
      "5706C86CE71C13DA6783E61339E0C2B3FC9E5DC8", // Dev version
      "D7986543275120831B39EF28D1327552FC343960"  // Release version
    ]
  },
  "rtcPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "whitelist": [
      "53041A2FA309EECED01FFC751E7399186E860B2C",  // Google Talk prod
      "A74A4D44C7CFCD8844830E6140C8D763E12DD8F3",  // Google Talk beta
      "E7E2461CE072DF036CF9592740196159E2D7C089",  // Google Talk alpha
      "312745D9BF916161191143F6490085EEA0434997"   // Google Talk debug
    ]
  },
  // Note: runtime is not actually a permission, but some systems check these
  // values to verify restrictions.
  "runtime": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "screensaver": {
    "channel": "stable",
    "extension_types": ["legacy_packaged_app", "hosted_app", "platform_app"]
  },
  "serial": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "sessions": {
    "channel": "dev",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "signedInDevices": {
    "channel": "dev",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "streamsPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "whitelist": [
      "787000072C6FBB934AF5A42275CDE73FC977D995",  // browser_tests
      "2FC374607C2DF285634B67C64A2E356C607091C3",  // QuickOffice
      "5D3851BEFF680AB6D954B76678EFCCE834465C23",  // QuickOffice Dev
      "12E618C3C6E97495AAECF2AC12DEB082353241C6",  // QO component extension
      "3727DD3E564B6055387425027AD74C58784ACC15",  // Editor
      "CBCC42ABED43A4B58FE3810E62AFFA010EB0349F"   // PDF
    ]
  },
  "socket": [{
    "channel": "stable",
    "extension_types": ["platform_app"]
  }, {
    "channel": "stable",
    "extension_types": ["extension"],
    "whitelist": [
      // The connectivity diagnostic utility is a component extension that is
      // used to try to provide suggestions on how to fix connection issues.  It
      // should be the only non-app allowed to use the socket API.
      "32A1BA997F8AB8DE29ED1BA94AAF00CF2A3FEFA7"
    ]
  }],
  "sockets.udp": {
    "channel": "dev",
    "extension_types": ["platform_app"]
  },
  "syncFileSystem": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "systemIndicator": {
    "channel": "dev",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "storage": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "min_manifest_version": 2
  },
  "system.cpu": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "system.memory": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "system.network": {
    "channel": "dev",
    "extension_types": ["platform_app"]
  },
  "system.storage": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "system.display": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "systemPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "location": "component"
  },
  "tabs": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "tabCapture": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "terminalPrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    "whitelist": [
      "0EA6B717932AD64C469C1CCB6911457733295907",  // HTerm
      "58B0C2968C335964D5433E89CA4D86628A0E3D4B"   // HTerm dev
    ]
  },
  "topSites": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "tts": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
  },
  "ttsEngine": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "unlimitedStorage": {
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    ]
  },
  "usb": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "usbDevices": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  },
  "videoCapture": [
    {
      "channel": "stable",
      "extension_types": ["platform_app"]
    },
    {
      "channel": "stable",
      "extension_types": ["extension"],
      "whitelist": [
        // http://crbug.com/292856
        "3F50C3A83839D9C76334BCE81CDEC06174F266AF",
        "09FDCB5851B8F3378DB630D06E316076E89C95A6",
        "A434B90223C3C52F2B69DB494736B63C<KEY>"
      ]
    }
  ],
  "virtualKeyboardPrivate": {
    "channel": "stable",
    "whitelist": [
      "3F50C3A83839D9C76334BCE81CDEC06174F266AF"  // System-level virtual kbd
    ],
    "extension_types": ["extension"]
  },
  "wallpaper": {
    "channel": "dev",
    "extension_types": ["platform_app"]
  },
  "wallpaperPrivate": {
    "channel": "stable",
    "extension_types": ["platform_app"],
    "location": "component"
  },
  "webNavigation": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "webrtcAudioPrivate": {
    "channel": "stable",
    "extension_types": ["extension"],
    "whitelist": [
      "<KEY>",
      // Hangout Services component extension.
      "DF84F03F9B960409CCDE0D895B9650EBE81C0A8E",
      // Extension used for API test.
      "ADFA45434ABA2F1A4647E673F53FF37F8F6047A3"
    ]
  },
  "webrtcLoggingPrivate": {
    "channel": "stable",
    "extension_types": ["extension"],
    "whitelist": [
      "<KEY>",
      // Hangout Services component extension.
      "DF84F03F9B960409CCDE0D895B9650EBE81C0A8E"
    ]
  },
  "webstorePrivate": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "whitelist": [
      "B44D08FD98F1523ED5837D78D0A606EA9D6206E5",  // Web Store
      "2653F6F6C39BC6EEBD36A09AFB92A19782FF7EB4",  // Enterprise Web Store
      "2779FA8B45841D61A37207CCFAC9CB393964FE5B"   // Login Proxy (prototype)
    ]
  },
  "webRequest": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "webRequestBlocking": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "webview": [{
    "channel": "stable",
    "extension_types": ["platform_app"]
  }, {
    // General support for webview in component extensions still in progress.
    // Only allowed for whitelisted extensions until all the caveats are
    // addressed. Tracked in crbug/285151.
    "channel": "stable",
    "extension_types": ["extension"],
    "location": "component",
    "whitelist": [
      "D519188F86D9ACCEE0412007B227D9936EB9676B"  // GAIA Component Extension
    ]
  }]
}

{'fraction_non_alphanumeric': 0.15497272273564286, 'fraction_numerical': 0.12358235668680194, 'mean_word_length': 3.544658219928046, 'pattern_counts': {'":': 968, '<': 15, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 18, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5827120', 'n_tokens_mistral': 25944, 'n_tokens_neox': 22383, 'n_words': 3118}