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) { |