Revert "Map shared memory mappings backing ArrayBuffers into the V8 Sandbox"

This reverts commit e6b8260468792092e1914363c6e0556e616d76c9.

Reason for revert: broke compilation on Win x64 Builder (dbg)
https://ci.chromium.org/ui/p/chromium/builders/ci/Win%20x64%20Builder%20(dbg)/136614/overview

Original change's description:
> Map shared memory mappings backing ArrayBuffers into the V8 Sandbox
>
> When the V8 sandbox is enabled, ArrayBuffers are referenced through
> offsets rather than raw pointers to prevent their abuse by an exploit.
> This requires that all ArrayBuffer backing stores be mapped into the
> sandbox address space. As some ArrayBuffers, for example those created by
> MojoJS, are backed by shared memory, additional logic is required to map
> shared memory into the V8 sandbox. This CL achieves this as follows:
>
> 1. A new SharedMemoryMapper interface is introduced which is responsible
>    for mapping and unmapping shared memory regions. With that, it is
>    then possible to customize the mapping/unmapping logic by passing a
>    custom SharedMemoryMapper to *SharedMemoryRegion::Map.
> 2. A subclass, ArrayBufferSharedMemoryMapper is provided which maps the
>    shared memory regions into the V8 sandbox when that is enabled.
> 3. A new ArrayBufferContents constructor is created which accepts a
>    shared memory region as arguments and takes care of mapping it using
>    the appropriate SharedMemoryMapper. This constructor is now used when
>    mapping shared memory for MojoJS.
>
> Bug: 1218005
> Change-Id: Ifce853f85397f8395746904e6a4d3fe30ffd318f
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3596033
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Owners-Override: Daniel Cheng <dcheng@chromium.org>
> Commit-Queue: Samuel Groß <saelo@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#996070}

Bug: 1218005
Change-Id: I634baf628db2f6c462e6d62d3c29d634cd300c44
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3607950
Auto-Submit: Christos Froussios <cfroussios@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Christos Froussios <cfroussios@chromium.org>
Commit-Queue: Christos Froussios <cfroussios@chromium.org>
Owners-Override: Christos Froussios <cfroussios@chromium.org>
Cr-Commit-Position: refs/heads/main@{#996082}
31 files changed
tree: 77dd3d2e9d7e8563cdba9872fb72ee7e33be4261
  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/
  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. .vpython
  61. .vpython3
  62. .yapfignore
  63. AUTHORS
  64. BUILD.gn
  65. CODE_OF_CONDUCT.md
  66. codereview.settings
  67. DEPS
  68. DIR_METADATA
  69. ENG_REVIEW_OWNERS
  70. LICENSE
  71. LICENSE.chromium_os
  72. OWNERS
  73. PRESUBMIT.py
  74. PRESUBMIT_test.py
  75. PRESUBMIT_test_mocks.py
  76. README.md
  77. 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.