Implement CommandBufferClientImpl::GetCapabilities

Previously, we did know what capabilities the underlying GPU had.

R=jamesr@chromium.org, piman@chromium.org

Review URL: https://codereview.chromium.org/719143003
diff --git a/mojo/gles2/command_buffer_client_impl.cc b/mojo/gles2/command_buffer_client_impl.cc
index cfca50e..c4aad34 100644
--- a/mojo/gles2/command_buffer_client_impl.cc
+++ b/mojo/gles2/command_buffer_client_impl.cc
@@ -62,16 +62,22 @@
     return command_buffer_state_.Pass();
   }
 
+  gpu::Capabilities GetCapabilities() {
+    return capabilities_.To<gpu::Capabilities>();
+  }
+
  private:
   // CommandBufferSyncClient methods:
-  void DidInitialize(bool success) override {
+  void DidInitialize(bool success, GpuCapabilitiesPtr capabilities) override {
     initialized_successfully_ = success;
+    capabilities_ = capabilities.Pass();
   }
   void DidMakeProgress(CommandBufferStatePtr state) override {
     command_buffer_state_ = state.Pass();
   }
 
   bool initialized_successfully_;
+  GpuCapabilitiesPtr capabilities_;
   CommandBufferStatePtr command_buffer_state_;
 };
 
@@ -115,6 +121,7 @@
     VLOG(1) << "Channel encountered error while creating command buffer";
     return false;
   }
+  capabilities_ = sync_client_impl_->GetCapabilities();
   return true;
 }
 
@@ -186,8 +193,7 @@
 }
 
 gpu::Capabilities CommandBufferClientImpl::GetCapabilities() {
-  // TODO(piman)
-  return gpu::Capabilities();
+  return capabilities_;
 }
 
 int32_t CommandBufferClientImpl::CreateImage(ClientBuffer buffer,