diff --git a/talk/app/webrtc/videosource.cc b/talk/app/webrtc/videosource.cc
index 5bd735a..4b371e3 100644
--- a/talk/app/webrtc/videosource.cc
+++ b/talk/app/webrtc/videosource.cc
@@ -304,8 +304,6 @@
   virtual ~FrameInputWrapper() {}
 
   // VideoRenderer implementation.
-  bool SetSize(int width, int height, int reserved) override { return true; }
-
   bool RenderFrame(const cricket::VideoFrame* frame) override {
     if (!capturer_->IsRunning()) {
       return true;
diff --git a/talk/app/webrtc/videotrackrenderers.cc b/talk/app/webrtc/videotrackrenderers.cc
index 3c47c6e..3f9301b 100644
--- a/talk/app/webrtc/videotrackrenderers.cc
+++ b/talk/app/webrtc/videotrackrenderers.cc
@@ -54,10 +54,6 @@
   enabled_ = enable;
 }
 
-bool VideoTrackRenderers::SetSize(int width, int height, int reserved) {
-  return true;
-}
-
 bool VideoTrackRenderers::RenderFrame(const cricket::VideoFrame* frame) {
   rtc::CritScope cs(&critical_section_);
   if (!enabled_) {
diff --git a/talk/app/webrtc/videotrackrenderers.h b/talk/app/webrtc/videotrackrenderers.h
index 15274a1..3262e22 100644
--- a/talk/app/webrtc/videotrackrenderers.h
+++ b/talk/app/webrtc/videotrackrenderers.h
@@ -48,7 +48,6 @@
   ~VideoTrackRenderers();
 
   // Implements cricket::VideoRenderer
-  virtual bool SetSize(int width, int height, int reserved);
   virtual bool RenderFrame(const cricket::VideoFrame* frame);
 
   void AddRenderer(VideoRendererInterface* renderer);
diff --git a/talk/media/base/videorenderer.h b/talk/media/base/videorenderer.h
index 0a0ee51..a18c4e3 100644
--- a/talk/media/base/videorenderer.h
+++ b/talk/media/base/videorenderer.h
@@ -42,11 +42,12 @@
 class VideoRenderer {
  public:
   virtual ~VideoRenderer() {}
-  // Called when the video has changed size. This is also used as an
-  // initialization method to set the UI size before any video frame
-  // rendered. webrtc::ExternalRenderer's FrameSizeChange will invoke this when
-  // it's called or later when a VideoRenderer is attached.
-  virtual bool SetSize(int width, int height, int reserved) = 0;
+  // Called when the video has changed size.
+  // TODO(nisse): This method is not really used, and should be
+  // deleted. Provide a default do-nothing implementation, to easy the
+  // transition as the method is deleted in subclasses, in particular,
+  // chrome's MockVideoRenderer class.
+  virtual bool SetSize(int width, int height, int reserved) { return true; };
   // Called when a new frame is available for display.
   virtual bool RenderFrame(const VideoFrame *frame) = 0;
 
