Chromium Code Reviews| Index: remoting/host/desktop_session_proxy.cc |
| diff --git a/remoting/host/desktop_session_proxy.cc b/remoting/host/desktop_session_proxy.cc |
| index 2cd68c3d85f9c7f0278024d61c51db9324e14e00..985598a2be6fc44606b55ff12042468a716fbc29 100644 |
| --- a/remoting/host/desktop_session_proxy.cc |
| +++ b/remoting/host/desktop_session_proxy.cc |
| @@ -178,8 +178,8 @@ bool DesktopSessionProxy::OnMessageReceived(const IPC::Message& message) { |
| IPC_BEGIN_MESSAGE_MAP(DesktopSessionProxy, message) |
| IPC_MESSAGE_HANDLER(ChromotingDesktopNetworkMsg_AudioPacket, |
| OnAudioPacket) |
| - IPC_MESSAGE_HANDLER(ChromotingDesktopNetworkMsg_CaptureCompleted, |
| - OnCaptureCompleted) |
| + IPC_MESSAGE_HANDLER(ChromotingDesktopNetworkMsg_CaptureResult, |
| + OnCaptureResult) |
| IPC_MESSAGE_HANDLER(ChromotingDesktopNetworkMsg_MouseCursor, |
| OnMouseCursor) |
| IPC_MESSAGE_HANDLER(ChromotingDesktopNetworkMsg_CreateSharedBuffer, |
| @@ -262,7 +262,8 @@ void DesktopSessionProxy::DetachFromDesktop() { |
| // Generate fake responses to keep the video capturer in sync. |
| while (pending_capture_frame_requests_) { |
| --pending_capture_frame_requests_; |
| - video_capturer_->OnCaptureCompleted(nullptr); |
| + video_capturer_->OnCaptureResult( |
| + webrtc::DesktopCapturer::Result::ERROR_PERMANENT, nullptr); |
| } |
| } |
| @@ -280,7 +281,8 @@ void DesktopSessionProxy::CaptureFrame() { |
| ++pending_capture_frame_requests_; |
| SendToDesktop(new ChromotingNetworkDesktopMsg_CaptureFrame()); |
| } else { |
| - video_capturer_->OnCaptureCompleted(nullptr); |
| + video_capturer_->OnCaptureResult( |
| + webrtc::DesktopCapturer::Result::ERROR_PERMANENT, nullptr); |
| } |
| } |
| @@ -467,16 +469,15 @@ void DesktopSessionProxy::OnReleaseSharedBuffer(int id) { |
| shared_buffers_.erase(id); |
| } |
| -void DesktopSessionProxy::OnCaptureCompleted( |
| +void DesktopSessionProxy::OnCaptureResult( |
| + webrtc::DesktopCapturer::Result result, |
| const SerializedDesktopFrame& serialized_frame) { |
| DCHECK(caller_task_runner_->BelongsToCurrentThread()); |
| --pending_capture_frame_requests_; |
| - // If the input serialized_frame does not have a screen size, it means the |
| - // capturer returns a nullptr for OnCaptureCompleted call. |
| - if (serialized_frame.dimensions.is_empty()) { |
| - video_capturer_->OnCaptureCompleted(nullptr); |
| + if (result != webrtc::DesktopCapturer::Result::SUCCESS) { |
| + video_capturer_->OnCaptureResult(result, nullptr); |
| return; |
| } |
| @@ -493,11 +494,12 @@ void DesktopSessionProxy::OnCaptureCompleted( |
| frame->set_capture_time_ms(serialized_frame.capture_time_ms); |
| frame->set_dpi(serialized_frame.dpi); |
| - for (size_t i = 0; i < serialized_frame.dirty_region.size(); ++i) { |
| - frame->mutable_updated_region()->AddRect(serialized_frame.dirty_region[i]); |
| + for (auto& rect : serialized_frame.dirty_region) { |
|
Jamie
2016/06/14 21:22:44
s/auto/const auto/?
Sergey Ulanov
2016/06/15 20:30:10
Done.
|
| + frame->mutable_updated_region()->AddRect(rect); |
| } |
| - video_capturer_->OnCaptureCompleted(std::move(frame)); |
| + video_capturer_->OnCaptureResult(webrtc::DesktopCapturer::Result::SUCCESS, |
| + std::move(frame)); |
| } |
| void DesktopSessionProxy::OnMouseCursor( |