diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-07 22:39:31 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-07 22:39:31 +0000 |
commit | 00614a87478e404184cab3a521ec6fd1cdbd5b8e (patch) | |
tree | 942a0e06f02abbbc2403fe5b6e34241631e1164d | |
parent | 8585f5c478e5d716a31f444330f3590a0702be6f (diff) | |
download | chromium_src-00614a87478e404184cab3a521ec6fd1cdbd5b8e.zip chromium_src-00614a87478e404184cab3a521ec6fd1cdbd5b8e.tar.gz chromium_src-00614a87478e404184cab3a521ec6fd1cdbd5b8e.tar.bz2 |
Move HostAllocateSharedMemoryBuffer to content::RenderThread now that we have an interface.
BUG=98716
Review URL: http://codereview.chromium.org/8199018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104585 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/renderer/mock_render_thread.cc | 25 | ||||
-rw-r--r-- | chrome/renderer/mock_render_thread.h | 5 | ||||
-rw-r--r-- | chrome/renderer/print_web_view_helper.cc | 3 | ||||
-rw-r--r-- | chrome/renderer/print_web_view_helper_linux.cc | 3 | ||||
-rw-r--r-- | content/public/renderer/render_thread.h | 6 | ||||
-rw-r--r-- | content/renderer/render_thread_impl.cc | 7 | ||||
-rw-r--r-- | content/renderer/render_thread_impl.h | 3 | ||||
-rw-r--r-- | content/renderer/render_view.cc | 7 | ||||
-rw-r--r-- | content/renderer/render_view.h | 5 |
9 files changed, 33 insertions, 31 deletions
diff --git a/chrome/renderer/mock_render_thread.cc b/chrome/renderer/mock_render_thread.cc index e20e7cc..e36047e 100644 --- a/chrome/renderer/mock_render_thread.cc +++ b/chrome/renderer/mock_render_thread.cc @@ -116,6 +116,18 @@ void MockRenderThread::EnsureWebKitInitialized() { void MockRenderThread::RecordUserMetrics(const std::string& action) { } +base::SharedMemoryHandle MockRenderThread::HostAllocateSharedMemoryBuffer( + uint32 buffer_size) { + base::SharedMemory shared_buf; + if (!shared_buf.CreateAndMapAnonymous(buffer_size)) { + NOTREACHED() << "Cannot map shared memory buffer"; + return base::SharedMemory::NULLHandle(); + } + base::SharedMemoryHandle handle; + shared_buf.GiveToProcess(base::GetCurrentProcessHandle(), &handle); + return handle; +} + void MockRenderThread::RegisterExtension(v8::Extension* extension) { } @@ -177,8 +189,6 @@ bool MockRenderThread::OnMessageReceived(const IPC::Message& msg) { #if defined(OS_WIN) IPC_MESSAGE_HANDLER(PrintHostMsg_DuplicateSection, OnDuplicateSection) #endif - IPC_MESSAGE_HANDLER(ViewHostMsg_AllocateSharedMemoryBuffer, - OnAllocateSharedMemoryBuffer) #if defined(OS_CHROMEOS) IPC_MESSAGE_HANDLER(PrintHostMsg_AllocateTempFileForPrinting, OnAllocateTempFileForPrinting) @@ -215,17 +225,6 @@ void MockRenderThread::OnDuplicateSection( } #endif // defined(OS_WIN) -void MockRenderThread::OnAllocateSharedMemoryBuffer( - uint32 buffer_size, base::SharedMemoryHandle* handle) { - base::SharedMemory shared_buf; - if (!shared_buf.CreateAndMapAnonymous(buffer_size)) { - *handle = base::SharedMemory::NULLHandle(); - NOTREACHED() << "Cannot map shared memory buffer"; - return; - } - shared_buf.GiveToProcess(base::GetCurrentProcessHandle(), handle); -} - #if defined(OS_CHROMEOS) void MockRenderThread::OnAllocateTempFileForPrinting( base::FileDescriptor* renderer_fd, diff --git a/chrome/renderer/mock_render_thread.h b/chrome/renderer/mock_render_thread.h index b697f2b..b0beefd 100644 --- a/chrome/renderer/mock_render_thread.h +++ b/chrome/renderer/mock_render_thread.h @@ -62,6 +62,8 @@ class MockRenderThread : public content::RenderThread { virtual void WidgetRestored() OVERRIDE; virtual void EnsureWebKitInitialized() OVERRIDE; virtual void RecordUserMetrics(const std::string& action) OVERRIDE; + virtual base::SharedMemoryHandle HostAllocateSharedMemoryBuffer( + uint32 buffer_size) OVERRIDE; virtual void RegisterExtension(v8::Extension* extension) OVERRIDE; virtual bool IsRegisteredExtension( const std::string& v8_extension_name) const OVERRIDE; @@ -128,9 +130,6 @@ class MockRenderThread : public content::RenderThread { base::SharedMemoryHandle* browser_handle); #endif - void OnAllocateSharedMemoryBuffer(uint32 buffer_size, - base::SharedMemoryHandle* handle); - #if defined(OS_CHROMEOS) void OnAllocateTempFileForPrinting(base::FileDescriptor* renderer_fd, int* browser_fd); diff --git a/chrome/renderer/print_web_view_helper.cc b/chrome/renderer/print_web_view_helper.cc index f278ef8..775c3b9 100644 --- a/chrome/renderer/print_web_view_helper.cc +++ b/chrome/renderer/print_web_view_helper.cc @@ -16,6 +16,7 @@ #include "chrome/common/render_messages.h" #include "chrome/common/url_constants.h" #include "chrome/renderer/prerender/prerender_helper.h" +#include "content/public/renderer/render_thread.h" #include "content/renderer/render_view.h" #include "grit/generated_resources.h" #include "printing/metafile_impl.h" @@ -1250,7 +1251,7 @@ bool PrintWebViewHelper::CopyMetafileDataToSharedMem( base::SharedMemoryHandle* shared_mem_handle) { uint32 buf_size = metafile->GetDataSize(); base::SharedMemoryHandle mem_handle = - render_view()->HostAllocateSharedMemoryBuffer(buf_size); + content::RenderThread::Get()->HostAllocateSharedMemoryBuffer(buf_size); if (base::SharedMemory::IsHandleValid(mem_handle)) { base::SharedMemory shared_buf(mem_handle, false); if (shared_buf.Map(buf_size)) { diff --git a/chrome/renderer/print_web_view_helper_linux.cc b/chrome/renderer/print_web_view_helper_linux.cc index 4d03b35..964dcdf 100644 --- a/chrome/renderer/print_web_view_helper_linux.cc +++ b/chrome/renderer/print_web_view_helper_linux.cc @@ -9,6 +9,7 @@ #include "base/memory/scoped_ptr.h" #include "base/metrics/histogram.h" #include "chrome/common/print_messages.h" +#include "content/public/renderer/render_thread.h" #include "content/renderer/render_view.h" #include "printing/metafile.h" #include "printing/metafile_impl.h" @@ -95,7 +96,7 @@ bool PrintWebViewHelper::PrintPages(const PrintMsg_PrintPages_Params& params, printed_page_params.document_cookie = params.params.document_cookie; base::SharedMemoryHandle shared_mem_handle = - render_view()->HostAllocateSharedMemoryBuffer(buf_size); + content::RenderThread::Get()->HostAllocateSharedMemoryBuffer(buf_size); if (!base::SharedMemory::IsHandleValid(shared_mem_handle)) { NOTREACHED() << "AllocateSharedMemoryBuffer returned bad handle"; return false; diff --git a/content/public/renderer/render_thread.h b/content/public/renderer/render_thread.h index 3f1e964..a7659e4 100644 --- a/content/public/renderer/render_thread.h +++ b/content/public/renderer/render_thread.h @@ -6,6 +6,7 @@ #define CONTENT_PUBLIC_RENDERER_RENDER_THREAD_H_ #include "base/basictypes.h" +#include "base/shared_memory.h" #include "content/common/content_export.h" #include "ipc/ipc_channel_proxy.h" @@ -68,6 +69,11 @@ class CONTENT_EXPORT RenderThread : public IPC::Message::Sender { // Helper function to send over a string to be recorded by user metrics virtual void RecordUserMetrics(const std::string& action) = 0; + // Asks the host to create a block of shared memory for the renderer. + // The shared memory handle allocated by the host is returned back. + virtual base::SharedMemoryHandle HostAllocateSharedMemoryBuffer( + uint32 buffer_size) = 0; + // Registers the given V8 extension with WebKit. virtual void RegisterExtension(v8::Extension* extension) = 0; diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc index 556ffaa..7ffa01f 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc @@ -517,6 +517,13 @@ void RenderThreadImpl::RecordUserMetrics(const std::string& action) { Send(new ViewHostMsg_UserMetricsRecordAction(action)); } +base::SharedMemoryHandle RenderThreadImpl::HostAllocateSharedMemoryBuffer( + uint32 buffer_size) { + base::SharedMemoryHandle mem_handle; + Send(new ViewHostMsg_AllocateSharedMemoryBuffer(buffer_size, &mem_handle)); + return mem_handle; +} + void RenderThreadImpl::RegisterExtension(v8::Extension* extension) { WebScriptController::registerExtension(extension); v8_extensions_.insert(extension->name()); diff --git a/content/renderer/render_thread_impl.h b/content/renderer/render_thread_impl.h index 7da8d30..092dcb4 100644 --- a/content/renderer/render_thread_impl.h +++ b/content/renderer/render_thread_impl.h @@ -11,7 +11,6 @@ #include <vector> #include "base/observer_list.h" -#include "base/shared_memory.h" #include "base/time.h" #include "base/timer.h" #include "build/build_config.h" @@ -110,6 +109,8 @@ class CONTENT_EXPORT RenderThreadImpl : public content::RenderThread, virtual void WidgetRestored() OVERRIDE; virtual void EnsureWebKitInitialized() OVERRIDE; virtual void RecordUserMetrics(const std::string& action) OVERRIDE; + virtual base::SharedMemoryHandle HostAllocateSharedMemoryBuffer( + uint32 buffer_size) OVERRIDE; virtual void RegisterExtension(v8::Extension* extension) OVERRIDE; virtual bool IsRegisteredExtension( const std::string& v8_extension_name) const OVERRIDE; diff --git a/content/renderer/render_view.cc b/content/renderer/render_view.cc index e482ac4..a9bcb65 100644 --- a/content/renderer/render_view.cc +++ b/content/renderer/render_view.cc @@ -567,13 +567,6 @@ bool RenderView::GetPluginInfo(const GURL& url, return found; } -base::SharedMemoryHandle RenderView::HostAllocateSharedMemoryBuffer( - uint32 buffer_size) { - base::SharedMemoryHandle mem_handle; - Send(new ViewHostMsg_AllocateSharedMemoryBuffer(buffer_size, &mem_handle)); - return mem_handle; -} - bool RenderView::OnMessageReceived(const IPC::Message& message) { WebFrame* main_frame = webview() ? webview()->mainFrame() : NULL; if (main_frame) diff --git a/content/renderer/render_view.h b/content/renderer/render_view.h index 682707b..4f229d34 100644 --- a/content/renderer/render_view.h +++ b/content/renderer/render_view.h @@ -350,11 +350,6 @@ class RenderView : public RenderWidget, webkit::WebPluginInfo* plugin_info, std::string* actual_mime_type); - // Asks the host to create a block of shared memory for the renderer. - // The shared memory handle allocated by the host is returned back. - CONTENT_EXPORT base::SharedMemoryHandle HostAllocateSharedMemoryBuffer( - uint32 buffer_size); - // IPC::Channel::Listener implementation ------------------------------------- virtual bool OnMessageReceived(const IPC::Message& msg); |