Chromium Code Reviews| Index: chrome/browser/extensions/api/serial/serial_apitest.cc |
| diff --git a/chrome/browser/extensions/api/serial/serial_apitest.cc b/chrome/browser/extensions/api/serial/serial_apitest.cc |
| index db0d110d0d0f96ac9194222e1f064066671ffe53..16a7ab8d4532510eded23aa59ec39388dda7da04 100644 |
| --- a/chrome/browser/extensions/api/serial/serial_apitest.cc |
| +++ b/chrome/browser/extensions/api/serial/serial_apitest.cc |
| @@ -77,16 +77,21 @@ class FakeEchoSerialConnection : public SerialConnection { |
| read_index_ = write_index_ = 0; |
| } |
| - virtual int Read(uint8* byte) { |
| - DCHECK(byte); |
| + virtual int Read(scoped_refptr<net::IOBufferWithSize> io_buffer) { |
| + DCHECK(io_buffer->data()); |
| + DCHECK(io_buffer->size() <= BUFFER_SIZE); |
| if (read_index_ >= write_index_) { |
|
Peng
2012/08/01 22:14:00
As it is a ring bufer, I think just testing read_i
|
| return 0; |
| } |
| - *byte = ring_buffer_[read_index_++]; |
| - if (read_index_ == BUFFER_SIZE) |
| - read_index_ = 0; |
| - return 1; |
| + char *data = io_buffer->data(); |
| + int bytes_to_copy = io_buffer->size(); |
| + while (bytes_to_copy--) { |
| + *data++ = ring_buffer_[read_index_++]; |
| + if (read_index_ == BUFFER_SIZE) |
| + read_index_ = 0; |
| + } |
| + return io_buffer->size(); |
| } |
| virtual int Write(scoped_refptr<net::IOBuffer> io_buffer, int byte_count) { |