Reland "Switch WebGL tests to heartbeat"

This reverts commit 85ae84b891629cd599a322f213c740cfe4cb0bfc.

Changes from original CL:
* None - Fuchsia issues were fixed by crrev.com/c/4298514 and
  crrev.com/c/4298549.

Original change's description:
> Revert "Switch WebGL tests to heartbeat"
>
> This reverts commit d88b9396508bc8901b436f1fbc90972b8d448d25.
>
> Reason for revert: Causing Fuchsia builders to time out
>
> Original change's description:
> > Switch WebGL tests to heartbeat
> >
> > Switches the WebGL conformance tests to use a heartbeat mechanism
> > like the WebGPU conformance tests instead of a fixed 5 minute
> > timeout. The 5 minute timeout still exists, but should basically
> > never be hit.
> >
> > The end result of this is that we should fail much faster in
> > cases of hung/crashed renderers. Before, we would take 5 minutes
> > to detect these, but now we can detect them within 15 seconds.
> > This will help normalize shard times and open up opportunities to
> > make further improvements such as lowering the shard timeout we
> > use.
> >
> > No noticeable impact to test runtime when tests run normally.
> >
> > Synopsis of changes under the hood:
> > * Moved the WebGL harness JavaScript code into dedicated
> >   JavaScript files instead of defining them directly in the Python
> >   test harness file.
> > * Generalized the WebGPU websocket code for use in both test
> >   suites
> > * Added Slow expectation support, which is necessary to address
> >   slow heartbeats on a few configurations
> > * Adjusted the number of parallel jobs on some configurations to
> >   ensure heartbeats are sent on time instead of being delayed due
> >   to the hardware being hit too hard
> >
> > Bug: 1354797
> > Change-Id: Ie862bd081d9e97947efd10400ab5c7337215124a
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3840756
> > Reviewed-by: Yuly Novikov <[email protected]>
> > Commit-Queue: Brian Sheedy <[email protected]>
> > Reviewed-by: Kenneth Russell <[email protected]>
> > Reviewed-by: Ben Pastene <[email protected]>
> > Cr-Commit-Position: refs/heads/main@{#1054455}
>
> Bug: 1354797
> Change-Id: Ia541bca2b4cd8955e6d8e3ea7adeb61f156626d6
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3926272
> Auto-Submit: Chong Gu <[email protected]>
> Reviewed-by: Kenneth Russell <[email protected]>
> Reviewed-by: Ben Pastene <[email protected]>
> Commit-Queue: Chong Gu <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1055024}

Bug: 1354797
Change-Id: I8150188fc9d2b52e504d2c0cc2e4381d853f58b8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4327254
Reviewed-by: Yuly Novikov <[email protected]>
Commit-Queue: Brian Sheedy <[email protected]>
Reviewed-by: Ben Pastene <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1119488}
12 files changed
tree: 7851d0c99da015d2fc25e3c808eb7ee1a48526a0
  1. android_webview/
  2. apps/
  3. ash/
  4. base/
  5. build/
  6. build_overrides/
  7. buildtools/
  8. cc/
  9. chrome/
  10. chromecast/
  11. chromeos/
  12. codelabs/
  13. components/
  14. content/
  15. courgette/
  16. crypto/
  17. dbus/
  18. device/
  19. docs/
  20. extensions/
  21. fuchsia_web/
  22. gin/
  23. google_apis/
  24. google_update/
  25. gpu/
  26. headless/
  27. infra/
  28. ios/
  29. ipc/
  30. media/
  31. mojo/
  32. native_client_sdk/
  33. net/
  34. pdf/
  35. ppapi/
  36. printing/
  37. remoting/
  38. rlz/
  39. sandbox/
  40. services/
  41. skia/
  42. sql/
  43. storage/
  44. styleguide/
  45. testing/
  46. third_party/
  47. tools/
  48. ui/
  49. url/
  50. weblayer/
  51. .clang-format
  52. .clang-tidy
  53. .eslintrc.js
  54. .git-blame-ignore-revs
  55. .gitattributes
  56. .gitignore
  57. .gn
  58. .mailmap
  59. .rustfmt.toml
  60. .vpython3
  61. .yapfignore
  62. ATL_OWNERS
  63. AUTHORS
  64. BUILD.gn
  65. CODE_OF_CONDUCT.md
  66. codereview.settings
  67. DEPS
  68. DIR_METADATA
  69. LICENSE
  70. LICENSE.chromium_os
  71. OWNERS
  72. PRESUBMIT.py
  73. PRESUBMIT_test.py
  74. PRESUBMIT_test_mocks.py
  75. README.md
  76. WATCHLISTS
README.md

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure .

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.

If you found a bug, please file it at https://crbug.com/new.