Index: android_webview/common/pixel_buffer_factory_proxy.cc |
diff --git a/android_webview/common/pixel_buffer_factory_proxy.cc b/android_webview/common/pixel_buffer_factory_proxy.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8fd1fa653b3a504f9782a676545cb51d7eaef977 |
--- /dev/null |
+++ b/android_webview/common/pixel_buffer_factory_proxy.cc |
@@ -0,0 +1,26 @@ |
+// Copyright 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "android_webview/common/pixel_buffer_factory_proxy.h" |
+ |
+#include "android_webview/common/aw_switches.h" |
+#include "base/command_line.h" |
+#include "base/logging.h" |
+ |
+namespace android_webview { |
+ |
+gfx::PixelBuffer::Create* g_pixel_buffer_factory_ = NULL; |
+ |
+const gfx::PixelBuffer::Create& GetPixelBufferFactoryProxy() { |
+ return *g_pixel_buffer_factory_; |
+} |
+ |
+void SetPixelBufferFactoryProxy(const gfx::PixelBuffer::Create& factory) { |
+ DCHECK(g_pixel_buffer_factory_ == NULL); |
+ g_pixel_buffer_factory_ = CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kUseZeroCopyBuffers) |
+ ? new gfx::PixelBuffer::Create(factory) : NULL; |
+} |
+ |
+} // namespace android_webview |