WebRequest API: add more resource types

Added new resource types "font" and "ping" to identify fonts, <a ping>
and navigator.sendBeacon requests. Existing types are also extended:
Workers (web workers, shared workers, service workers) are mapped to
"script" and favicons are mapped to "image". Plugin requests are also
labeled as "object".
(all of these mentioned requests were previously labeled as "other").

Added two resource types:
- RESOURCE_TYPE_CSP_REPORT; Previously RequestContextCSPReport mapped to
  RESOURCE_TYPE_PING. ping and beacons are commonly used for tracking,
  whereas CSP reports aid the security of website owners. By not
  including CSP reports in the ping type, extensions that disable ping
  will not inadvertently block security features of a website.

- RESOURCE_TYPE_PLUGIN_RESOURCE; plugin requests should be tagged as
  "object" instead of "other". But we cannot use RESOURCE_TYPE_OBJECT
  because this is used by MimeTypeResourceHandler::SelectNextHandler to
  determine whether to intercept the resource and display the result in
  a plugin.

BUG=80230,410382,512406
TEST=ExtensionWebRequestApiTest.*

Review URL: https://codereview.chromium.org/1515703005

Cr-Commit-Position: refs/heads/master@{#366632}
19 files changed