rtc::Buffer: Remove backwards compatibility band-aids
This CL makes two changes to rtc::Buffer that have had to wait for
Chromium's use of it to be modernized:
1. Change default return type of rtc::Buffer::data() from char* to
uint8_t*. uint8_t is a more natural type for bytes, and won't
accidentally convert to a string. (Chromium previously expected
the default return type to be char, which is why
rtc::Buffer::data() initially got char as default return type in
9478437f, but that's been fixed now.)
2. Stop accepting void* inputs in constructors and methods. While
this is convenient, it's also dangerous since any pointer type
will implicitly convert to void*.
(This was previously committed (9e1a6d7c) but had to be reverted
(cbf09274) because Chromium on Android wasn't quite ready for it).
TBR=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/47109004
Cr-Commit-Position: refs/heads/master@{#9132}
This commit is contained in:
@ -137,11 +137,11 @@ TEST(BufferTest, TestEnsureCapacityLarger) {
|
||||
|
||||
TEST(BufferTest, TestMoveConstruct) {
|
||||
Buffer buf1(kTestData, 3, 40);
|
||||
const uint8_t* data = buf1.data<uint8_t>();
|
||||
const uint8_t* data = buf1.data();
|
||||
Buffer buf2(buf1.Pass());
|
||||
EXPECT_EQ(buf2.size(), 3u);
|
||||
EXPECT_EQ(buf2.capacity(), 40u);
|
||||
EXPECT_EQ(buf2.data<uint8_t>(), data);
|
||||
EXPECT_EQ(buf2.data(), data);
|
||||
buf1.Clear();
|
||||
EXPECT_EQ(buf1.size(), 0u);
|
||||
EXPECT_EQ(buf1.capacity(), 0u);
|
||||
@ -150,12 +150,12 @@ TEST(BufferTest, TestMoveConstruct) {
|
||||
|
||||
TEST(BufferTest, TestMoveAssign) {
|
||||
Buffer buf1(kTestData, 3, 40);
|
||||
const uint8_t* data = buf1.data<uint8_t>();
|
||||
const uint8_t* data = buf1.data();
|
||||
Buffer buf2(kTestData);
|
||||
buf2 = buf1.Pass();
|
||||
EXPECT_EQ(buf2.size(), 3u);
|
||||
EXPECT_EQ(buf2.capacity(), 40u);
|
||||
EXPECT_EQ(buf2.data<uint8_t>(), data);
|
||||
EXPECT_EQ(buf2.data(), data);
|
||||
buf1.Clear();
|
||||
EXPECT_EQ(buf1.size(), 0u);
|
||||
EXPECT_EQ(buf1.capacity(), 0u);
|
||||
@ -165,16 +165,16 @@ TEST(BufferTest, TestMoveAssign) {
|
||||
TEST(BufferTest, TestSwap) {
|
||||
Buffer buf1(kTestData, 3);
|
||||
Buffer buf2(kTestData, 6, 40);
|
||||
uint8_t* data1 = buf1.data<uint8_t>();
|
||||
uint8_t* data2 = buf2.data<uint8_t>();
|
||||
uint8_t* data1 = buf1.data();
|
||||
uint8_t* data2 = buf2.data();
|
||||
using std::swap;
|
||||
swap(buf1, buf2);
|
||||
EXPECT_EQ(buf1.size(), 6u);
|
||||
EXPECT_EQ(buf1.capacity(), 40u);
|
||||
EXPECT_EQ(buf1.data<uint8_t>(), data2);
|
||||
EXPECT_EQ(buf1.data(), data2);
|
||||
EXPECT_EQ(buf2.size(), 3u);
|
||||
EXPECT_EQ(buf2.capacity(), 3u);
|
||||
EXPECT_EQ(buf2.data<uint8_t>(), data1);
|
||||
EXPECT_EQ(buf2.data(), data1);
|
||||
}
|
||||
|
||||
} // namespace rtc
|
||||
|
||||
Reference in New Issue
Block a user