static async getRawCspsAndXfo(artifacts, context) {
    const devtoolsLog = artifacts.DevtoolsLog;
    const mainResource =
        await MainResource.request({devtoolsLog, URL: artifacts.URL}, context);

    const cspHeaders = mainResource.responseHeaders
        .filter(h => {
          return h.name.toLowerCase() === 'content-security-policy';
        })
        .flatMap(h => h.value.split(','))
        .filter(rawCsp => rawCsp.replace(/\s/g, ''));
    let xfoHeaders = mainResource.responseHeaders
                         .filter(h => {
                           return h.name.toLowerCase() === 'x-frame-options';
                         })
                         .flatMap(h => h.value);

    // Sanitize the XFO header value.
    xfoHeaders = xfoHeaders.map(v => v.toLowerCase().replace(/\s/g, ''));

    return {cspHeaders, xfoHeaders};
  }
@param {LH.Artifacts} artifacts
@param {LH.Audit.Context} context
@return {Promise<{cspHeaders: string[], xfoHeaders: string[]}>}