[WebSocket] Reduce data copy with mojo_base.mojom.ReadOnlyBuffer. This patch changes OnDataFrame() |data| arg type from array<uint8> to mojo_base.mojom.ReadOnlyBuffer so that we can avoid copy at services/network/websocket.cc. In order to use ReadOnlyBuffer move semantics at Blink, this patch changes the mojo typemap and build rule, which includes making ReadOnlyBuffer a part of mojo base dynamic library rather than single static library (mojo/public/mojom/base/BUILD.gn). third_party/blink/perf_tests/websocket/receive-arraybuffer-1MBx100.html: ToT: 107 MB/s This patch: 151 MB/s Change-Id: If1e5ff5c9a7bdc2bf60a7cca4a787c5f6f75f1fd Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1672535 Commit-Queue: Yoichi Osato <yoichio@chromium.org> Reviewed-by: Yutaka Hirano <yhirano@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Reviewed-by: Ken Rockot <rockot@google.com> Reviewed-by: Adam Rice <ricea@chromium.org> Cr-Commit-Position: refs/heads/master@{#672436}
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.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .