| Index: extensions/browser/api/cast_channel/cast_channel_api.cc
|
| diff --git a/extensions/browser/api/cast_channel/cast_channel_api.cc b/extensions/browser/api/cast_channel/cast_channel_api.cc
|
| index 1fdc364b87b8f98158a81dff5247d8fa1a7b8a49..4bae9c139d7b6c7aac5cd0fd77cf991709759052 100644
|
| --- a/extensions/browser/api/cast_channel/cast_channel_api.cc
|
| +++ b/extensions/browser/api/cast_channel/cast_channel_api.cc
|
| @@ -477,4 +477,35 @@ void CastChannelCloseFunction::OnClose(int result) {
|
| AsyncWorkCompleted();
|
| }
|
|
|
| +CastChannelGetLogsFunction::CastChannelGetLogsFunction() {
|
| +}
|
| +
|
| +CastChannelGetLogsFunction::~CastChannelGetLogsFunction() {
|
| +}
|
| +
|
| +bool CastChannelGetLogsFunction::PrePrepare() {
|
| + api_ = CastChannelAPI::Get(browser_context());
|
| + return CastChannelAsyncApiFunction::PrePrepare();
|
| +}
|
| +
|
| +bool CastChannelGetLogsFunction::Prepare() {
|
| + return true;
|
| +}
|
| +
|
| +void CastChannelGetLogsFunction::AsyncWorkStart() {
|
| + DCHECK(api_);
|
| +
|
| + size_t length = 0;
|
| + scoped_ptr<char[]> out = api_->GetLogger()->GetLogs(&length);
|
| + if (out.get()) {
|
| + SetResult(new base::BinaryValue(out.Pass(), length));
|
| + } else {
|
| + SetError("Unable to get logs.");
|
| + }
|
| +
|
| + api_->GetLogger()->Reset();
|
| +
|
| + AsyncWorkCompleted();
|
| +}
|
| +
|
| } // namespace extensions
|
|
|