Change function table assignment to allow new fields

Write the function table assignment statements to allow new fields to be
added without modifying code here. Had to make the static structs
non-const.

Change-Id: I10d38caa9817f3835c4cf0e6e9418998a5452d10
(cherry picked from commit 4cb347aeb733d199418472de549c24a31d3e7477)
diff --git a/chromium/plat_support/graphics_utils.cpp b/chromium/plat_support/graphics_utils.cpp
index 8845111..866f0fe 100644
--- a/chromium/plat_support/graphics_utils.cpp
+++ b/chromium/plat_support/graphics_utils.cpp
@@ -82,22 +82,20 @@
 }
 
 jlong GetDrawSWFunctionTable(JNIEnv* env, jclass) {
-  static const AwDrawSWFunctionTable function_table = {
-      &GetPixels,
-      &ReleasePixels,
-  };
+  static AwDrawSWFunctionTable function_table;
+  function_table.access_pixels = &GetPixels;
+  function_table.release_pixels = &ReleasePixels;
   return reinterpret_cast<intptr_t>(&function_table);
 }
 
 jlong GetDrawGLFunctionTable(JNIEnv* env, jclass) {
-  static const AwDrawGLFunctionTable function_table = {
-    &GraphicBufferImpl::Create,
-    &GraphicBufferImpl::Release,
-    &GraphicBufferImpl::MapStatic,
-    &GraphicBufferImpl::UnmapStatic,
-    &GraphicBufferImpl::GetNativeBufferStatic,
-    &GraphicBufferImpl::GetStrideStatic,
-  };
+  static AwDrawGLFunctionTable function_table;
+  function_table.create_graphic_buffer = &GraphicBufferImpl::Create;
+  function_table.release_graphic_buffer = &GraphicBufferImpl::Release;
+  function_table.map = &GraphicBufferImpl::MapStatic;
+  function_table.unmap = &GraphicBufferImpl::UnmapStatic;
+  function_table.get_native_buffer = &GraphicBufferImpl::GetNativeBufferStatic;
+  function_table.get_stride = &GraphicBufferImpl::GetStrideStatic;
   return reinterpret_cast<intptr_t>(&function_table);
 }