diff --git a/gpu/command_buffer/client/shared_image_interface.cc b/gpu/command_buffer/client/shared_image_interface.cc
index 7f79f1d20e300..8cd91d295a1e0 100644
--- a/gpu/command_buffer/client/shared_image_interface.cc
+++ b/gpu/command_buffer/client/shared_image_interface.cc
@@ -84,12 +84,6 @@ scoped_refptr<ClientSharedImage> SharedImageInterface::CreateSharedImage(
   NOTREACHED();
 }
 
-scoped_refptr<ClientSharedImage>
-SharedImageInterface::CreateSharedImageForSoftwareCompositor(
-    const SharedImageInfo& si_info) {
-  NOTREACHED();
-}
-
 scoped_refptr<ClientSharedImage>
 SharedImageInterface::AddReferenceToSharedImage(
     const SyncToken& sync_token,
diff --git a/gpu/command_buffer/client/shared_image_interface.h b/gpu/command_buffer/client/shared_image_interface.h
index bd0dcc5e4bfa1..32e1aa03b7f98 100644
--- a/gpu/command_buffer/client/shared_image_interface.h
+++ b/gpu/command_buffer/client/shared_image_interface.h
@@ -203,7 +203,7 @@ class GPU_EXPORT SharedImageInterface
   // created internally and a shared image is created out of this buffer. This
   // method is used by the software compositor only.
   virtual scoped_refptr<ClientSharedImage>
-  CreateSharedImageForSoftwareCompositor(const SharedImageInfo& si_info);
+  CreateSharedImageForSoftwareCompositor(const SharedImageInfo& si_info) = 0;
 
   // Updates a shared image after its GpuMemoryBuffer (if any) was modified on
   // the CPU or through external devices, after |sync_token| has been released.
diff --git a/gpu/command_buffer/client/test_shared_image_interface.cc b/gpu/command_buffer/client/test_shared_image_interface.cc
index 6763d9b4cf945..0d717ab1bb8fd 100644
--- a/gpu/command_buffer/client/test_shared_image_interface.cc
+++ b/gpu/command_buffer/client/test_shared_image_interface.cc
@@ -311,6 +311,12 @@ TestSharedImageInterface::CreateSharedImage(
   return shared_image_mapping;
 }
 
+scoped_refptr<ClientSharedImage>
+TestSharedImageInterface::CreateSharedImageForSoftwareCompositor(
+    const SharedImageInfo& si_info) {
+  NOTREACHED();
+}
+
 void TestSharedImageInterface::UpdateSharedImage(
     const SyncToken& sync_token,
     const Mailbox& mailbox) {
diff --git a/gpu/command_buffer/client/test_shared_image_interface.h b/gpu/command_buffer/client/test_shared_image_interface.h
index 624b9be06a112..ba7a39ebae73c 100644
--- a/gpu/command_buffer/client/test_shared_image_interface.h
+++ b/gpu/command_buffer/client/test_shared_image_interface.h
@@ -62,6 +62,9 @@ class TestSharedImageInterface : public SharedImageInterface {
   SharedImageInterface::SharedImageMapping CreateSharedImage(
       const SharedImageInfo& si_info) override;
 
+  scoped_refptr<ClientSharedImage> CreateSharedImageForSoftwareCompositor(
+      const SharedImageInfo& si_info) override;
+
   void UpdateSharedImage(const SyncToken& sync_token,
                          const Mailbox& mailbox) override;
   void UpdateSharedImage(const SyncToken& sync_token,
diff --git a/media/mojo/clients/mojo_stable_video_decoder_unittest.cc b/media/mojo/clients/mojo_stable_video_decoder_unittest.cc
index 4dc6378d7bfd7..6f421cb29a5f3 100644
--- a/media/mojo/clients/mojo_stable_video_decoder_unittest.cc
+++ b/media/mojo/clients/mojo_stable_video_decoder_unittest.cc
@@ -355,6 +355,9 @@ class MockSharedImageInterface : public gpu::SharedImageInterface {
                    gfx::GpuMemoryBufferHandle buffer_handle));
   MOCK_METHOD1(CreateSharedImage,
                SharedImageMapping(const gpu::SharedImageInfo& si_info));
+  MOCK_METHOD1(CreateSharedImageForSoftwareCompositor,
+               scoped_refptr<gpu::ClientSharedImage>(
+                   const gpu::SharedImageInfo& si_info));
   MOCK_METHOD2(UpdateSharedImage,
                void(const gpu::SyncToken& sync_token,
                     const gpu::Mailbox& mailbox));