| Index: remoting/host/client_session.cc
|
| diff --git a/remoting/host/client_session.cc b/remoting/host/client_session.cc
|
| index 8636b7a0a79a8382563635dca2762f842c6f5505..38ec520d6dc9219316a5ec56acac5fbc6fbccd3a 100644
|
| --- a/remoting/host/client_session.cc
|
| +++ b/remoting/host/client_session.cc
|
| @@ -99,8 +99,13 @@ void ClientSession::NotifyClientResolution(
|
| const protocol::ClientResolution& resolution) {
|
| DCHECK(CalledOnValidThread());
|
|
|
| - if (!resolution.has_dips_width() || !resolution.has_dips_height())
|
| + // TODO(sergeyu): Move these checks to protocol layer.
|
| + if (!resolution.has_dips_width() || !resolution.has_dips_height() ||
|
| + resolution.dips_width() < 0 || resolution.dips_height() < 0 ||
|
| + resolution.width() <= 0 || resolution.height() <= 0) {
|
| + LOG(ERROR) << "Received invalid ClientResolution message.";
|
| return;
|
| + }
|
|
|
| VLOG(1) << "Received ClientResolution (dips_width="
|
| << resolution.dips_width() << ", dips_height="
|
| @@ -110,12 +115,11 @@ void ClientSession::NotifyClientResolution(
|
| return;
|
|
|
| ScreenResolution client_resolution(
|
| - SkISize::Make(resolution.dips_width(), resolution.dips_height()),
|
| - SkIPoint::Make(kDefaultDPI, kDefaultDPI));
|
| + webrtc::DesktopSize(resolution.dips_width(), resolution.dips_height()),
|
| + webrtc::DesktopVector(kDefaultDPI, kDefaultDPI));
|
|
|
| // Try to match the client's resolution.
|
| - if (client_resolution.IsValid())
|
| - screen_controls_->SetScreenResolution(client_resolution);
|
| + screen_controls_->SetScreenResolution(client_resolution);
|
| }
|
|
|
| void ClientSession::ControlVideo(const protocol::VideoControl& video_control) {
|
|
|