| Index: content/renderer/render_thread_impl.cc
|
| diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
|
| index 32109c0d41ac8dfc4a4456a06aad7e015f458788..e6f725eaa385188651d25c9fc91409149b2be53d 100644
|
| --- a/content/renderer/render_thread_impl.cc
|
| +++ b/content/renderer/render_thread_impl.cc
|
| @@ -105,6 +105,7 @@
|
| #include "webkit/glue/webkit_glue.h"
|
| #include "webkit/child/worker_task_runner.h"
|
| #include "webkit/renderer/appcache/appcache_frontend_impl.h"
|
| +#include "webkit/renderer/compositor_bindings/web_external_bitmap_impl.h"
|
|
|
| #if defined(OS_WIN)
|
| #include <windows.h>
|
| @@ -216,6 +217,10 @@ void AddHistogramSample(void* hist, int sample) {
|
| histogram->Add(sample);
|
| }
|
|
|
| +scoped_ptr<base::SharedMemory> AllocateSharedMemoryFunction(size_t size) {
|
| + return RenderThreadImpl::Get()->HostAllocateSharedMemoryBuffer(size);
|
| +}
|
| +
|
| } // namespace
|
|
|
| class RenderThreadImpl::GpuVDAContextLostCallback
|
| @@ -723,6 +728,8 @@ void RenderThreadImpl::EnsureWebKitInitialized() {
|
|
|
| if (GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden())
|
| ScheduleIdleHandler(kLongIdleHandlerDelayMs);
|
| +
|
| + webkit::SetSharedMemoryAllocationFunction(AllocateSharedMemoryFunction);
|
| }
|
|
|
| void RenderThreadImpl::RegisterSchemes() {
|
| @@ -755,6 +762,7 @@ scoped_ptr<base::SharedMemory>
|
| if (size > static_cast<size_t>(std::numeric_limits<int>::max()))
|
| return scoped_ptr<base::SharedMemory>();
|
|
|
| +#if defined(OS_POSIX)
|
| base::SharedMemoryHandle handle;
|
| bool success;
|
| IPC::Message* message =
|
| @@ -773,6 +781,13 @@ scoped_ptr<base::SharedMemory>
|
| return scoped_ptr<base::SharedMemory>();
|
|
|
| return scoped_ptr<base::SharedMemory>(new base::SharedMemory(handle, false));
|
| +#else
|
| + scoped_ptr<base::SharedMemory> memory(new base::SharedMemory);
|
| +
|
| + if (!memory->CreateAndMapAnonymous(size))
|
| + return scoped_ptr<base::SharedMemory>();
|
| + return memory.Pass();
|
| +#endif
|
| }
|
|
|
| void RenderThreadImpl::RegisterExtension(v8::Extension* extension) {
|
|
|