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

Unified Diff: remoting/client/rectangle_update_decoder.cc

Issue 10801003: Propagate DPI information to web-app. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed typo. Created 8 years, 5 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
Index: remoting/client/rectangle_update_decoder.cc
diff --git a/remoting/client/rectangle_update_decoder.cc b/remoting/client/rectangle_update_decoder.cc
index ffc95f07725602f5885782e10f3fc51847c2d48d..a360728f786e7acb5d284b93f8395bafb431c000 100644
--- a/remoting/client/rectangle_update_decoder.cc
+++ b/remoting/client/rectangle_update_decoder.cc
@@ -30,6 +30,7 @@ RectangleUpdateDecoder::RectangleUpdateDecoder(
: task_runner_(task_runner),
consumer_(consumer),
source_size_(SkISize::Make(0, 0)),
+ source_dpi_(SkIPoint::Make(0, 0)),
view_size_(SkISize::Make(0, 0)),
clip_area_(SkIRect::MakeEmpty()),
paint_scheduled_(false) {
@@ -75,6 +76,21 @@ void RectangleUpdateDecoder::DecodePacket(scoped_ptr<VideoPacket> packet,
}
}
+ // If the source DPI has changed, store it. 96 is the default DPI as defined
+ // in video.proto.
+ SkIPoint source_dpi(SkIPoint::Make(packet->format().x_dpi(),
+ packet->format().y_dpi()));
+ if (source_dpi.x() == 0) {
+ source_dpi.setX(96);
Wez 2012/07/19 01:00:42 See comment elsewhere re faking the DPI here.
Jamie 2012/07/19 23:00:06 Done.
+ }
+ if (source_dpi.y() == 0) {
+ source_dpi.setY(96);
+ }
+ if (source_dpi != source_dpi_) {
+ source_dpi_ = source_dpi;
+ decoder_needs_reset = true;
+ }
+
// If we've never seen a screen size, ignore the packet.
if (source_size_.isZero()) {
return;
@@ -82,7 +98,7 @@ void RectangleUpdateDecoder::DecodePacket(scoped_ptr<VideoPacket> packet,
if (decoder_needs_reset) {
decoder_->Initialize(source_size_);
- consumer_->SetSourceSize(source_size_);
+ consumer_->SetSourceSize(source_size_, source_dpi_);
}
if (!decoder_->IsReadyForData()) {

Powered by Google App Engine
This is Rietveld 408576698