Refactoring of the client-side input pipeline and scaling dimension management.

The main changes are:
* Express key-release, mouse coordinate scaling and clamping as InputStubs.
* KeyEventTracker handles key release.
* MouseInputFilter handles mouse scaling & clamping.
* PepperInputHandler converts Pepper events to InputStub events.
* Replace scaling ratios with host and view dimensions.

This resulted in some related changes
* The DecoderVp8 enforces a <=1:1 output-size before converting the frame.
* The setScaleToFit() API now has no effect.
* ChromotingView has become a pure interface again.

Things this CL is currently missing:
* Unit-tests for the new components.

Future work:
* Move the non-Pepper-specific input pipeline components to ChromotingClient.
* Rework the decode / convert / scale / render pipeline.

BUG=93552
TEST=remoting_unittests, and manual testing.


Review URL: http://codereview.chromium.org/8985007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115511 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/remoting/base/decoder_vp8.h b/remoting/base/decoder_vp8.h
index 33ec147..a89991c 100644
--- a/remoting/base/decoder_vp8.h
+++ b/remoting/base/decoder_vp8.h
@@ -24,8 +24,7 @@
   virtual bool IsReadyForData() OVERRIDE;
   virtual void Reset() OVERRIDE;
   virtual VideoPacketFormat::Encoding Encoding() OVERRIDE;
-  virtual void SetScaleRatios(double horizontal_ratio,
-                              double vertical_ratio) OVERRIDE;
+  virtual void SetOutputSize(const SkISize& size) OVERRIDE;
   virtual void SetClipRect(const SkIRect& clip_rect) OVERRIDE;
   virtual void RefreshRects(const RectVector& rects) OVERRIDE;
 
@@ -67,9 +66,8 @@
   // Clipping rect for the output of the decoder.
   SkIRect clip_rect_;
 
-  // Scale factors of the decoded output.
-  double horizontal_scale_ratio_;
-  double vertical_scale_ratio_;
+  // Output dimensions.
+  SkISize output_size_;
 
   DISALLOW_COPY_AND_ASSIGN(DecoderVp8);
 };