Migrate the rtc_base/byte_order.h API from unsafe void* pointers to webrtc::ArrayView<uint8_t> to improve type safety and bounds checking. This migration follows a multi-phase approach to ensure backward compatibility for external consumers, provide clear deprecation warnings, and eventually remove the unsafe API.
rtc_base/byte_order.h: The target API for conversion.api/array_view.h: The replacement type for buffer spans.g3doc/todo/byte_order_safety.md and store this migration plan there for tracking.rtc_base/byte_order.h to include #include "api/array_view.h".ArrayView overloads for all Get/Set functions (Get8, Set8, GetBE16, etc.).RTC_DCHECK_GE(data.size(), ...) for safety.void* API in the WebRTC codebase with the new ArrayView API.ABSL_DEPRECATE_AND_INLINE() to the legacy void* overloads in rtc_base/byte_order.h.discuss-webrtc) informing external consumers of the new ArrayView API and the impending removal of the void* API.void* functions and the associated deprecation attributes, leaving only the ArrayView API.autoninja -C out/Default) to ensure no internal usages of deprecated functions remain.out/Default/rtc_unittests --gtest_filter=ByteOrderTest.* and verify all tests pass with the new API.git cl format and git cl presubmit -u --force.