Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1124)

Unified Diff: content/child/web_data_consumer_handle_impl_unittest.cc

Issue 1164493008: Implement WebDataConsumerHandle::Reader. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/child/web_data_consumer_handle_impl.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/child/web_data_consumer_handle_impl_unittest.cc
diff --git a/content/child/web_data_consumer_handle_impl_unittest.cc b/content/child/web_data_consumer_handle_impl_unittest.cc
index fd250ec2fe7a38e49ce30427832b69fd81a83f7f..53a0bc5cd1dde01351aee7f03e7ce4b1ff80d1d2 100644
--- a/content/child/web_data_consumer_handle_impl_unittest.cc
+++ b/content/child/web_data_consumer_handle_impl_unittest.cc
@@ -69,7 +69,7 @@ class ReadDataOperation : public ReadDataOperationBase {
void ReadData() {
if (!client_) {
client_.reset(new ClientImpl(this));
- handle_->registerClient(client_.get());
+ reader_ = handle_->ObtainReader(client_.get());
}
Result rv = kOk;
@@ -77,7 +77,7 @@ class ReadDataOperation : public ReadDataOperationBase {
while (true) {
char buffer[16];
- rv = handle_->read(&buffer, sizeof(buffer), kNone, &readSize);
+ rv = reader_->read(&buffer, sizeof(buffer), kNone, &readSize);
if (rv != kOk)
break;
result_.insert(result_.size(), &buffer[0], readSize);
@@ -94,11 +94,13 @@ class ReadDataOperation : public ReadDataOperationBase {
}
// The operation is done.
+ reader_.reset();
main_message_loop_->task_runner()->PostTask(FROM_HERE, on_done_);
}
private:
- scoped_ptr<WebDataConsumerHandle> handle_;
+ scoped_ptr<WebDataConsumerHandleImpl> handle_;
+ scoped_ptr<WebDataConsumerHandle::Reader> reader_;
scoped_ptr<WebDataConsumerHandle::Client> client_;
base::MessageLoop* main_message_loop_;
base::Closure on_done_;
@@ -123,21 +125,21 @@ class TwoPhaseReadDataOperation : public ReadDataOperationBase {
void ReadData() {
if (!client_) {
client_.reset(new ClientImpl(this));
- handle_->registerClient(client_.get());
+ reader_ = handle_->ObtainReader(client_.get());
}
Result rv;
while (true) {
const void* buffer = nullptr;
size_t size;
- rv = handle_->beginRead(&buffer, kNone, &size);
+ rv = reader_->beginRead(&buffer, kNone, &size);
if (rv != kOk)
break;
// In order to verify endRead, we read at most one byte for each time.
size_t read_size = std::max(static_cast<size_t>(1), size);
result_.insert(result_.size(), static_cast<const char*>(buffer),
read_size);
- rv = handle_->endRead(read_size);
+ rv = reader_->endRead(read_size);
if (rv != kOk) {
// Something is wrong.
result_ = "error";
@@ -157,11 +159,13 @@ class TwoPhaseReadDataOperation : public ReadDataOperationBase {
}
// The operation is done.
+ reader_.reset();
main_message_loop_->task_runner()->PostTask(FROM_HERE, on_done_);
}
private:
- scoped_ptr<WebDataConsumerHandle> handle_;
+ scoped_ptr<WebDataConsumerHandleImpl> handle_;
+ scoped_ptr<WebDataConsumerHandle::Reader> reader_;
scoped_ptr<WebDataConsumerHandle::Client> client_;
base::MessageLoop* main_message_loop_;
base::Closure on_done_;
« no previous file with comments | « content/child/web_data_consumer_handle_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698