Home Reference Source

lib/coverage/Coverage.js

  1. const CSSCoverage = require('./CSSCoverage')
  2. const JSCoverage = require('./JSCoverage')
  3.  
  4. class Coverage {
  5. /**
  6. * @param {Chrome|CRIConnection|CDPSession|Object} client
  7. */
  8. constructor (client) {
  9. /**
  10. * @type {JSCoverage}
  11. * @private
  12. */
  13. this._jsCoverage = new JSCoverage(client)
  14.  
  15. /**
  16. * @type {CSSCoverage}
  17. * @private
  18. */
  19. this._cssCoverage = new CSSCoverage(client)
  20. }
  21.  
  22. /**
  23. * @param {!{resetOnNavigation?: boolean, reportAnonymousScripts?: boolean}} [options]
  24. */
  25. startJSCoverage (options) {
  26. return this._jsCoverage.start(options)
  27. }
  28.  
  29. /**
  30. * @return {Promise<Array<CoverageEntry>>}
  31. */
  32. stopJSCoverage () {
  33. return this._jsCoverage.stop()
  34. }
  35.  
  36. /**
  37. * @param {{resetOnNavigation?: boolean}=} [options]
  38. */
  39. startCSSCoverage (options) {
  40. return this._cssCoverage.start(options)
  41. }
  42.  
  43. /**
  44. * @return {Promise<Array<CoverageEntry>>}
  45. */
  46. stopCSSCoverage () {
  47. return this._cssCoverage.stop()
  48. }
  49. }
  50.  
  51. /**
  52. * @type {Coverage}
  53. */
  54. module.exports = Coverage