  
  // Only calculates position.
  const char kvsSolidWhite[] = GLSL_PROGRAM_AS_STRING(
-@@ -238,6 +240,16 @@
+@@ -238,6 +241,18 @@
    const GLuint shader = glCreateShader(shader_type);
    DCHECK_NE(shader, 0u);
  

===================================================================
--- compositing_iosurface_shader_programs_mac.cc	(revision 263053)
+++ compositing_iosurface_shader_programs_mac.cc	(working copy)
@@ -11,6 +11,7 @@
 #include "base/debug/trace_event.h"
 #include "base/logging.h"
 #include "base/memory/scoped_ptr.h"
+#include "base/strings/stringprintf.h"
 #include "base/values.h"
 #include "content/browser/gpu/gpu_data_manager_impl.h"
 #include "gpu/config/gpu_driver_bug_workaround_type.h"
@@ -51,6 +52,7 @@
     }
 );
 

+  if (shader_program == SHADER_PROGRAM_SOLID_WHITE &&
+      shader_type == GL_FRAGMENT_SHADER) {
+    bg_shader = base::StringPrintf(
+        "void main() { gl_FragColor = vec4(%s, %s, %s, 1.0); }",
+        base::DoubleToString(bgcolor[0]).c_str(),
+        base::DoubleToString(bgcolor[1]).c_str(),
+        base::DoubleToString(bgcolor[2]).c_str());
+    kFragmentShaderSourceCodeMap[shader_program] = bg_shader.c_str();
+  }
+
   // Select and compile the shader program source code.
   if (shader_type == GL_VERTEX_SHADER) {
     const GLchar* source_snippets[] = {
@@ -412,6 +427,14 @@
   Reset();
 }
 
