| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/renderer/render_thread_impl.h" | 5 #include "content/renderer/render_thread_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 #include "content/child/resource_dispatcher.h" | 37 #include "content/child/resource_dispatcher.h" |
| 38 #include "content/child/runtime_features.h" | 38 #include "content/child/runtime_features.h" |
| 39 #include "content/child/thread_safe_sender.h" | 39 #include "content/child/thread_safe_sender.h" |
| 40 #include "content/child/web_database_observer_impl.h" | 40 #include "content/child/web_database_observer_impl.h" |
| 41 #include "content/common/child_process_messages.h" | 41 #include "content/common/child_process_messages.h" |
| 42 #include "content/common/content_constants_internal.h" | 42 #include "content/common/content_constants_internal.h" |
| 43 #include "content/common/database_messages.h" | 43 #include "content/common/database_messages.h" |
| 44 #include "content/common/dom_storage/dom_storage_messages.h" | 44 #include "content/common/dom_storage/dom_storage_messages.h" |
| 45 #include "content/common/gpu/client/context_provider_command_buffer.h" | 45 #include "content/common/gpu/client/context_provider_command_buffer.h" |
| 46 #include "content/common/gpu/client/gpu_channel_host.h" | 46 #include "content/common/gpu/client/gpu_channel_host.h" |
| 47 #include "content/common/gpu/client/gpu_memory_buffer_impl.h" |
| 47 #include "content/common/gpu/gpu_messages.h" | 48 #include "content/common/gpu/gpu_messages.h" |
| 48 #include "content/common/resource_messages.h" | 49 #include "content/common/resource_messages.h" |
| 49 #include "content/common/view_messages.h" | 50 #include "content/common/view_messages.h" |
| 50 #include "content/public/common/content_constants.h" | 51 #include "content/public/common/content_constants.h" |
| 51 #include "content/public/common/content_paths.h" | 52 #include "content/public/common/content_paths.h" |
| 52 #include "content/public/common/content_switches.h" | 53 #include "content/public/common/content_switches.h" |
| 53 #include "content/public/common/renderer_preferences.h" | 54 #include "content/public/common/renderer_preferences.h" |
| 54 #include "content/public/common/url_constants.h" | 55 #include "content/public/common/url_constants.h" |
| 55 #include "content/public/renderer/content_renderer_client.h" | 56 #include "content/public/renderer/content_renderer_client.h" |
| 56 #include "content/public/renderer/render_process_observer.h" | 57 #include "content/public/renderer/render_process_observer.h" |
| (...skipping 988 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1045 gfx::PluginWindowHandle window, | 1046 gfx::PluginWindowHandle window, |
| 1046 int32 image_id, | 1047 int32 image_id, |
| 1047 const CreateImageCallback& callback) { | 1048 const CreateImageCallback& callback) { |
| 1048 NOTREACHED(); | 1049 NOTREACHED(); |
| 1049 } | 1050 } |
| 1050 | 1051 |
| 1051 void RenderThreadImpl::DeleteImage(int32 image_id, int32 sync_point) { | 1052 void RenderThreadImpl::DeleteImage(int32 image_id, int32 sync_point) { |
| 1052 NOTREACHED(); | 1053 NOTREACHED(); |
| 1053 } | 1054 } |
| 1054 | 1055 |
| 1056 scoped_ptr<gfx::GpuMemoryBuffer> RenderThreadImpl::AllocateGpuMemoryBuffer( |
| 1057 size_t width, |
| 1058 size_t height, |
| 1059 unsigned internalformat) { |
| 1060 if (!GpuMemoryBufferImpl::IsFormatValid(internalformat)) |
| 1061 return scoped_ptr<gfx::GpuMemoryBuffer>(); |
| 1062 |
| 1063 size_t size = width * height * |
| 1064 GpuMemoryBufferImpl::BytesPerPixel(internalformat); |
| 1065 if (size > static_cast<size_t>(std::numeric_limits<int>::max())) |
| 1066 return scoped_ptr<gfx::GpuMemoryBuffer>(); |
| 1067 |
| 1068 gfx::GpuMemoryBufferHandle handle; |
| 1069 bool success; |
| 1070 IPC::Message* message = |
| 1071 new ChildProcessHostMsg_SyncAllocateGpuMemoryBuffer(size, &handle); |
| 1072 |
| 1073 // Allow calling this from the compositor thread. |
| 1074 if (base::MessageLoop::current() == message_loop()) |
| 1075 success = ChildThread::Send(message); |
| 1076 else |
| 1077 success = sync_message_filter()->Send(message); |
| 1078 |
| 1079 if (!success) |
| 1080 return scoped_ptr<gfx::GpuMemoryBuffer>(); |
| 1081 |
| 1082 // Currently, shared memory is the only supported buffer type. |
| 1083 if (handle.type != gfx::SHARED_MEMORY_BUFFER) |
| 1084 return scoped_ptr<gfx::GpuMemoryBuffer>(); |
| 1085 |
| 1086 if (!base::SharedMemory::IsHandleValid(handle.handle)) |
| 1087 return scoped_ptr<gfx::GpuMemoryBuffer>(); |
| 1088 |
| 1089 return make_scoped_ptr<gfx::GpuMemoryBuffer>( |
| 1090 new GpuMemoryBufferImpl( |
| 1091 make_scoped_ptr(new base::SharedMemory(handle.handle, false)), |
| 1092 width, |
| 1093 height, |
| 1094 internalformat)); |
| 1095 } |
| 1096 |
| 1055 void RenderThreadImpl::DoNotSuspendWebKitSharedTimer() { | 1097 void RenderThreadImpl::DoNotSuspendWebKitSharedTimer() { |
| 1056 suspend_webkit_shared_timer_ = false; | 1098 suspend_webkit_shared_timer_ = false; |
| 1057 } | 1099 } |
| 1058 | 1100 |
| 1059 void RenderThreadImpl::DoNotNotifyWebKitOfModalLoop() { | 1101 void RenderThreadImpl::DoNotNotifyWebKitOfModalLoop() { |
| 1060 notify_webkit_of_modal_loop_ = false; | 1102 notify_webkit_of_modal_loop_ = false; |
| 1061 } | 1103 } |
| 1062 | 1104 |
| 1063 void RenderThreadImpl::OnSetZoomLevelForCurrentURL(const std::string& scheme, | 1105 void RenderThreadImpl::OnSetZoomLevelForCurrentURL(const std::string& scheme, |
| 1064 const std::string& host, | 1106 const std::string& host, |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1295 if (!gamepad_shared_memory_reader_) | 1337 if (!gamepad_shared_memory_reader_) |
| 1296 gamepad_shared_memory_reader_.reset(new GamepadSharedMemoryReader); | 1338 gamepad_shared_memory_reader_.reset(new GamepadSharedMemoryReader); |
| 1297 gamepad_shared_memory_reader_->SampleGamepads(*data); | 1339 gamepad_shared_memory_reader_->SampleGamepads(*data); |
| 1298 } | 1340 } |
| 1299 | 1341 |
| 1300 base::ProcessId RenderThreadImpl::renderer_process_id() const { | 1342 base::ProcessId RenderThreadImpl::renderer_process_id() const { |
| 1301 return renderer_process_id_; | 1343 return renderer_process_id_; |
| 1302 } | 1344 } |
| 1303 | 1345 |
| 1304 } // namespace content | 1346 } // namespace content |
| OLD | NEW |