Chromium Code Reviews| Index: net/disk_cache/sparse_control.cc |
| =================================================================== |
| --- net/disk_cache/sparse_control.cc (revision 68857) |
| +++ net/disk_cache/sparse_control.cc (working copy) |
| @@ -223,6 +223,7 @@ |
| finished_ = false; |
| abort_ = false; |
| + entry_->net_log().BeginEvent(net::NetLog::TYPE_SPARSE_CONTROL, NULL); |
|
rvargas (doing something else)
2010/12/13 23:34:39
It would be nice to log |op| here.
Actually, prob
mmenke
2010/12/14 00:04:43
I should have mentioned this earlier...But I'm not
rvargas (doing something else)
2010/12/14 00:14:26
Just go to a page with HTML5 <video> or <audio>...
mmenke
2010/12/14 17:53:43
I thought about doing that with this CL, but thoug
rvargas (doing something else)
2010/12/14 19:48:57
Sure, that's the right thing to do.
mmenke
2010/12/14 20:10:21
There's no obvious place to log an end event in Re
|
| DoChildrenIO(); |
| if (!pending_) { |
| @@ -610,8 +611,11 @@ |
| void SparseControl::DoChildrenIO() { |
| while (DoChildIO()) continue; |
| - if (pending_ && finished_) |
| - DoUserCallback(); |
| + if (finished_) { |
| + entry_->net_log().EndEvent(net::NetLog::TYPE_SPARSE_CONTROL, NULL); |
| + if (pending_) |
| + DoUserCallback(); |
| + } |
| } |
| bool SparseControl::DoChildIO() { |
| @@ -632,14 +636,32 @@ |
| int rv = 0; |
| switch (operation_) { |
| case kReadOperation: |
| + if (entry_->net_log().IsLoggingAllEvents()) { |
| + entry_->net_log().BeginEvent( |
| + net::NetLog::TYPE_SPARSE_CONTROL_READ, |
|
rvargas (doing something else)
2010/12/14 19:48:57
It would be helpful to log child_len_ here
|
| + make_scoped_refptr(new net::NetLogSourceParameter( |
| + "source_dependency", |
| + child_->net_log().source()))); |
| + } |
| rv = child_->ReadDataImpl(kSparseData, child_offset_, user_buf_, |
| child_len_, callback); |
| break; |
| case kWriteOperation: |
| + if (entry_->net_log().IsLoggingAllEvents()) { |
| + entry_->net_log().BeginEvent( |
| + net::NetLog::TYPE_SPARSE_CONTROL_WRITE, |
|
rvargas (doing something else)
2010/12/14 19:48:57
and here
|
| + make_scoped_refptr(new net::NetLogSourceParameter( |
| + "source_dependency", |
| + child_->net_log().source()))); |
| + } |
| rv = child_->WriteDataImpl(kSparseData, child_offset_, user_buf_, |
| child_len_, callback, false); |
| break; |
| case kGetRangeOperation: |
| + if (entry_->net_log().IsLoggingAllEvents()) { |
| + entry_->net_log().BeginEvent(net::NetLog::TYPE_SPARSE_CONTROL_GET_RANGE, |
| + NULL); |
| + } |
| rv = DoGetAvailableRange(); |
| break; |
| default: |
| @@ -712,6 +734,23 @@ |
| } |
| void SparseControl::DoChildIOCompleted(int result) { |
| + if (entry_->net_log().IsLoggingAllEvents()) { |
| + net::NetLog::EventType event_type; |
| + switch (operation_) { |
| + case kReadOperation: |
| + event_type = net::NetLog::TYPE_SPARSE_CONTROL_READ; |
| + break; |
| + case kWriteOperation: |
| + event_type = net::NetLog::TYPE_SPARSE_CONTROL_WRITE; |
| + break; |
| + case kGetRangeOperation: |
| + event_type = net::NetLog::TYPE_SPARSE_CONTROL_GET_RANGE; |
| + break; |
| + default: |
| + NOTREACHED(); |
| + } |
| + entry_->net_log().EndEventWithErrorCode(event_type, result); |
| + } |
| if (result < 0) { |
| // We fail the whole operation if we encounter an error. |
| result_ = result; |
| @@ -737,6 +776,8 @@ |
| // We'll return the current result of the operation, which may be less than |
| // the bytes to read or write, but the user cancelled the operation. |
| abort_ = false; |
| + entry_->net_log().AddEvent(net::NetLog::TYPE_CANCELLED, NULL); |
| + entry_->net_log().EndEvent(net::NetLog::TYPE_SPARSE_CONTROL, NULL); |
| DoUserCallback(); |
| return DoAbortCallbacks(); |
| } |